TY - GEN
T1 - On the impact of serializing contention management on STM performance
AU - Heber, Tomer
AU - Hendler, Danny
AU - Suissa, Adi
N1 - Funding Information:
Acknowledgements: The authors are grateful to Fundação de Apoio ao Desenvolvimento de Ensino, Ciência e Tecnologia de Mato Grosso do Sul (FUNDECT-MS) and UFMS for the financial support. The authors also thank to CNPq for the IC and DCR scholarships.
PY - 2009/12/31
Y1 - 2009/12/31
N2 - Transactional memory (TM) is an emerging concurrent programming abstraction. Numerous software-based transactional memory (STM) implementations have been developed in recent years. STM implementations must guarantee transaction atomicity and isolation. In order to ensure progress, an STM implementation must resolve transaction collisions by consulting a contention manager (CM). Recent work established that serializing contention management - a technique in which the execution of colliding transactions is serialized for eliminating repeat-collisions - can dramatically improve STM performance in high-contention workloads. In low-contention and highly-parallel workloads, however, excessive serialization of memory transactions may limit concurrency too much and hurt performance. It is therefore important to better understand how the impact of serialization on STM performance varies as a function of workload characteristics. We investigate how serializing CM influences the performance of STM systems. Specifically, we study serialization's influence on STM throughput (number of committed transactions per time unit) and efficiency (ratio between the extent of "useful" work done by the STM and work "wasted" by aborts) as the workload's level of contention varies. Towards this goal, we implement CBench - a synthetic benchmark that generates workloads in which transactions have (parameter) pre-determined length and probability of being aborted in the lack of contention reduction mechanisms. CBench facilitates evaluating the efficiency of contention management algorithms across the full spectrum of contention levels. The characteristics of TM workloads generated by real applications may vary over time. To achieve good performance, CM algorithms need to monitor these characteristics and change their behavior accordingly. We implement adaptive algorithms that control the activation of serialization CM according to measured contention level, based on a novel low-overhead serialization algorithm. We then evaluate our new algorithms on CBench-generated workloads and on additional well-known STM benchmark applications. We believe our results shed light on the manner in which serializing CM should be used by STM systems.
AB - Transactional memory (TM) is an emerging concurrent programming abstraction. Numerous software-based transactional memory (STM) implementations have been developed in recent years. STM implementations must guarantee transaction atomicity and isolation. In order to ensure progress, an STM implementation must resolve transaction collisions by consulting a contention manager (CM). Recent work established that serializing contention management - a technique in which the execution of colliding transactions is serialized for eliminating repeat-collisions - can dramatically improve STM performance in high-contention workloads. In low-contention and highly-parallel workloads, however, excessive serialization of memory transactions may limit concurrency too much and hurt performance. It is therefore important to better understand how the impact of serialization on STM performance varies as a function of workload characteristics. We investigate how serializing CM influences the performance of STM systems. Specifically, we study serialization's influence on STM throughput (number of committed transactions per time unit) and efficiency (ratio between the extent of "useful" work done by the STM and work "wasted" by aborts) as the workload's level of contention varies. Towards this goal, we implement CBench - a synthetic benchmark that generates workloads in which transactions have (parameter) pre-determined length and probability of being aborted in the lack of contention reduction mechanisms. CBench facilitates evaluating the efficiency of contention management algorithms across the full spectrum of contention levels. The characteristics of TM workloads generated by real applications may vary over time. To achieve good performance, CM algorithms need to monitor these characteristics and change their behavior accordingly. We implement adaptive algorithms that control the activation of serialization CM according to measured contention level, based on a novel low-overhead serialization algorithm. We then evaluate our new algorithms on CBench-generated workloads and on additional well-known STM benchmark applications. We believe our results shed light on the manner in which serializing CM should be used by STM systems.
UR - http://www.scopus.com/inward/record.url?scp=72749114594&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-10877-8_19
DO - 10.1007/978-3-642-10877-8_19
M3 - Conference contribution
AN - SCOPUS:72749114594
SN - 3642108768
SN - 9783642108761
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 225
EP - 239
BT - Principles of Distributed Systems - 13th International Conference, OPODIS 2009, Proceedings
T2 - 13th International Conference on Principles of Distributed Systems, OPODIS 2009
Y2 - 15 December 2009 through 18 December 2009
ER -