Avoiding Race Conditions with Micro Transactions

Student thesis: Master Thesis and HD Thesis

  • Jesper Bødker Christensen
4. term, Software Development, Master (Master Programme)
The report proposes a solution to race conditions that is a variation of locking and transactional memory. We introduce a small language that uses implicit statement level locking to make micro transactions. This yields new semantics for the assignment statement in the programming language. The locks are implemented using busy-waiting and an atomic compare-and-swap instruction. A simple flow-sensitive and field-sensitive points-to analysis is introduced to deduce which locks are required to perform the transactions atomically. Some experiments are performed which show that the performance of micro transactions is comparatively acceptable. However, it is concluded that, due to lack of compositionality, micro transactions are not a practical solution to race conditions in modern languages.
Publication date2008
Number of pages74
Publishing institutionAalborg Universitet
ID: 14421629