Conflict detection and validation strategies for software transactional memory

27Citations
Citations of this article
26Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In a software transactional memory (STM) system, conflict detection is the problem of determining when two transactions cannot both safely commit. Validation is the related problem of ensuring that a transaction never views inconsistent data, which might potentially cause a doomed transaction to exhibit irreversible, externally visible side effects. Existing mechanisms for conflict detection vary greatly in their degree of speculation and their relative treatment of read-write and write-write conflicts. Validation, for its part, appears to be a dominant factor - perhaps the dominant factor - in the cost of complex transactions. We present the most comprehensive study to date of conflict detection strategies, characterizing the tradeoffs among them and identifying the ones that perform the best for various types of workload. In the process we introduce a light-weight heuristic mechanism - the global commit counter - that can greatly reduce the cost of validation and of single-threaded execution. The heuristic also allows us to experiment with mixed invalidation, a more opportunistic interleaving of reading and writing transactions. Experimental results on a 16-processor SunFire machine running our RSTM system indicate that the choice of conflict detection strategy can have a dramatic impact on performance, and that the best choice is workload dependent. In workloads whose transactions rarely conflict, the commit counter does little to help (and can even hurt) performance. For less scalable applications, however - those in which STM performance has traditionally been most problematic - it can improve transaction throughput many fold. © Springer-Verlag Berlin Heidelberg 2006.

Cite

CITATION STYLE

APA

Spear, M. F., Marathe, V. J., Scherer, W. N., & Scott, M. L. (2006). Conflict detection and validation strategies for software transactional memory. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4167 LNCS, pp. 179–193). Springer Verlag. https://doi.org/10.1007/11864219_13

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free