On the Performance of Contention Managers for Complex Transactional Memory Benchmarks
- 1 June 2009
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
In Transactional Memory (TM), contention management is the process of selecting which transaction should be aborted when a data access conflict arises. In this paper, the performance of published contention managers (CMs) is re-investigated using complex benchmarks recently published in the literature. Our results redefine the CM performance hierarchy. Greedy and Priority are found to give the best performance overall. Polka is still competitive, but by no means best performing as previously published, and in some cases degrading performance by orders of magnitude. In the worst example, execution of a benchmark completes in 6.5 seconds with Priority, yet fails to complete even after 20 minutes with Polka. Analysis of the benchmark found it aborted only 22% of all transactions, spread consistently over the duration of its execution. More generally, all delay-based CMs, which pause a transaction for some finite duration upon conflict, are found to be unsuitable for the evaluated benchmarks with even moderate amounts of contention. This has significant implications, given that TM is primarily aimedat easing concurrent programming for mainstream software development, where applications are unlikely to be highly optimised to reduce aborts.Keywords
This publication has 10 references indexed in Scilit:
- Steal-on-Abort: Improving Transactional Memory Performance through Dynamic Transaction ReorderingLecture Notes in Computer Science, 2009
- Lee-TM: A Non-trivial Benchmark Suite for Transactional MemoryPublished by Springer Science and Business Media LLC ,2008
- A Study of a Transactional Parallel Routing AlgorithmPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2007
- An effective hybrid transactional memory system with strong isolation guaranteesPublished by Association for Computing Machinery (ACM) ,2007
- A flexible framework for implementing software transactional memoryPublished by Association for Computing Machinery (ACM) ,2006
- Transactional Memory: Architectural Support For Lock-free Data StructuresPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- Toward a theory of transactional contention managersPublished by Association for Computing Machinery (ACM) ,2005
- Advanced contention management for dynamic software transactional memoryPublished by Association for Computing Machinery (ACM) ,2005
- Software transactional memory for dynamic-sized data structuresPublished by Association for Computing Machinery (ACM) ,2003
- Software transactional memoryPublished by Association for Computing Machinery (ACM) ,1995