A Relaxed Memory Consistency Algorithm for STM

Software transactional memory (STM) systems use lightweight and in-memory software transactions to address concurrency in multi-threaded applications,ensuring the safety at all times. Two concurrent transactions cause conflict if they access the same object and at least one of them modifies that object. When an STM system identifies a conflict,it typically allows one transaction to continue,and delays or aborts the other. The current implementation of transactional memories (TMs) has the advantage of being simple and efficient,and providing strong linearizability semantics. But in many applications,enforcing a strict linearizability consistency policy over the entire read-set of a transaction can lead to a large number of unnecessary aborts. In this paper,we investigate the use of Causal Consistency with weaker semantics,which provides a good trade-off between strong semantics and good practical performance even for long transactions. The experimental results show that the implementation is simple,and substantially reduces the number of conflicts.