Title :
Flexible Decoupled Transactional Memory Support
Author :
Shriraman, Arrvindh ; Dwarkadas, Sandhya ; Scott, Michael L.
Author_Institution :
Dept. of Comput. Sci., Rochester, Univ., Rochester, NY
Abstract :
A high-concurrency transactional memory (TM) implementation needs to track concurrent accesses, buffer speculative updates, and manage conflicts. We present a system, FlexTM (FLEXible Transactional Memory), that coordinates four decoupled hardware mechanisms: read and write signatures, which summarize per-thread access sets; per-thread conflict summary tables (CSTs), which identify the threads with which conflicts have occurred; Programmable Data Isolation, which maintains speculative updates in the local cache and employs a thread-private buffer (in virtual memory) in the rare event of overflow; and Alert-On-Update, which selectively notifies threads about coherence events. All mechanisms are software- accessible, to enable visualization and to support transactions of arbitrary length. FlexTM allows software to determine when to manage conflicts (either eagerly or lazily), and to employ a variety of conflict management and commit protocols. We describe an STM-inspired protocol that uses CSTs to manage conflicts in a distributed manner (no global arbitration) and allows parallel commits. In experiments with a prototype on Simics/GEMS, FlexTM exhibits ~5times speedup over high-quality software TM, with no loss in policy flexibility. Its distributed commit protocol is also more efficient than a central hardware manager. Our results highlight the importance of flexibility in determining when to manage conflicts: lazy maximizes concurrency and helps to ensure forward progress while eager provides better overall utilization in a multi-programmed system.
Keywords :
concurrency control; storage management; transaction processing; FlexTM; buffer speculative updates; flexible decoupled transactional memory support; high-concurrency transactional memory; multi-programmed system; per-thread conflict summary tables; programmable data isolation; Computer architecture; Computer science; Concurrent computing; Delay systems; Hardware; Memory management; Protocols; Read-write memory; Software prototyping; Yarn; Cache coherence; Conflict detection; FlexTM; Hardware; Multiprocessors; RTM; Transactional memory;
Conference_Titel :
Computer Architecture, 2008. ISCA '08. 35th International Symposium on
Conference_Location :
Beijing
Print_ISBN :
978-0-7695-3174-8
DOI :
10.1109/ISCA.2008.17