Abstract
Language-level transactions are said to provide “atomicity,” implying that the order of operations within a transaction should be invisible to concurrent transactions and thus that independent operations within a transaction should be safe to execute in any order. In this article, we present a mechanism for dynamically reordering memory operations within a transaction so that read-modify-write operations on highly contended locations can be delayed until the very end of the transaction. When integrated with traditional transactional conflict detection mechanisms, our approach reduces aborts on hot memory locations, such as statistics counters, thereby improving throughput and reducing wasted work. We present three algorithms for delaying highly contended read-modify-write operations within transactions, and we evaluate their impact on throughput for eager and lazy transactional systems across multiple workloads. We also discuss complications that arise from the interaction between our mechanism and the need for strong language-level semantics, and we propose algorithmic extensions that prevent errors from occurring when accesses are aggressively reordered in a transactional memory implementation with weak semantics.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Lerna;ACM Transactions on Storage;2019-04-20
2. Encapsulated open nesting for STM;Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming;2019-02-16
3. Lerna;Proceedings of the 11th ACM International Systems and Storage Conference;2018-06-04
4. Toward a software transactional memory for heterogeneous CPU–GPU processors;The Journal of Supercomputing;2018-04-03
5. ReduxSTM: Optimizing STM designs for Irregular Applications;Journal of Parallel and Distributed Computing;2017-09