CAR-STM: Scheduling-based collision avoidance and resolution for software transactional memory

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

86 Scopus citations


Transactional memory (TM) is a key concurrent programming abstraction. Several software-based transactional memory (STM) implementations have been developed in recent years. All STM implementations must guarantee transaction atomicity but different STM implementations may provide different progress guarantees. fn order to ensure progress, an STM implementation must resolve transaction conflicts. This is done either by the implementation itself or by delegating conflict resolution to a separate contention manager module that tries to resolve transaction collisions once they are detected. We present CAR-STM, a scheduling-based mechanism for STM Collision Avoidance and Resolution, that can be incorporated into existing STM implementations. CAR-STM maintains per-core transaction queues and schedules a thread while it is performing a transaction. CAR-STM employs the following two novel collision reduction techniques: (1) seriailizing contention managers resolve conflicts by aborting one transaction and moving it to the transactions queue of the other, effectively serializing the execution of these transactions and ensuring they will not collide again. (2) Proactive collision reduction allows applications to provide information about transactions' collision-probability. CAR-STM uses this information to pre-assign transactions that are more likely to collide to the same core. We have incorporated CAR-STM into the University of Rochester's STM (RSTM) and compared the performance of the new implementation with that of the original RSTM by using STMBench7. Our results show that the new implementation provides orders-of-magnitude reduction of execution times and improved throughput for almost all concurrency levels. Additionally, since CAR-STM greatly reduces the unpredictable influence of operating-system scheduling

Original languageEnglish
Title of host publicationPODC'08
Subtitle of host publicationProceedings of the 27th Annual ACM Symposium on Principles of Distributed Computing
Number of pages10
StatePublished - 18 Dec 2008
Event27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing - Toronto, ON, Canada
Duration: 18 Aug 200821 Aug 2008


Conference27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing
CityToronto, ON


  • Collision avoidance and reduction
  • Contention management
  • Scheduling
  • Synchronization
  • Transactional memory

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications


Dive into the research topics of 'CAR-STM: Scheduling-based collision avoidance and resolution for software transactional memory'. Together they form a unique fingerprint.

Cite this