Abstract
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 language | English |
---|---|
Title of host publication | PODC'08 |
Subtitle of host publication | Proceedings of the 27th Annual ACM Symposium on Principles of Distributed Computing |
Pages | 125-134 |
Number of pages | 10 |
State | Published - 18 Dec 2008 |
Event | 27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing - Toronto, ON, Canada Duration: 18 Aug 2008 → 21 Aug 2008 |
Conference
Conference | 27th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing |
---|---|
Country/Territory | Canada |
City | Toronto, ON |
Period | 18/08/08 → 21/08/08 |
Keywords
- Collision avoidance and reduction
- Contention management
- Scheduling
- Synchronization
- Transactional memory
ASJC Scopus subject areas
- Software
- Hardware and Architecture
- Computer Networks and Communications