Bounding Speculative Execution of Atomic Regions to a Single Retry
Eduardo José Gómez-Hernández, Juan M. Cebrian, Stefanos Kaxiras, Alberto Ros
Abstract
Mutual exclusion has long served as a fundamental construct in parallel programs. Despite a long history of optimizing the lower-level lock and unlock operations used to enforce mutual exclusion, such operations largely dictate performance in parallel programs. Speculative Lock Elision, and more generally Hardware Transactional Memory, allow executing atomic regions (ARs) concurrently and speculatively, and ensure correctness by using conflict detection. However, practical implementations of these ideas are best-effort and, in case of conflicts, the execution of ARs is retried a predetermined number of times before falling back to mutual exclusion.
This work explores the opportunities of using cacheline locking to bound the number of retries of speculative solutions. Our key insight is that ARs that access exactly the same set of addresses when re-executing can learn that set in the first execution and execute non-speculatively in the next one by performing an ordered cacheline locking. This way the speculative execution is bounded to a single retry.
We first establish the conditions for ARs to be able to re-execute under a cacheline-locked mode. Based on these conditions, we propose cleAR, cacheline-locked executed AR, a novel technique that on the first abort, forces the reexecution to use cacheline locking. The detection and conversion to cacheline-locking mode is transparent to software.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5500a677-6492-49a3-9770-48871ea1f408Builds on4
- Free atomics: hardware atomic operations without fencesAshkan Asgharzadeh, Juan M. Cebrian, Arthur Perais, Stefanos Kaxiras et al.ISCA 2022 · 13 citations
- Lock-free locks revisitedNaama Ben-David, Guy E. Blelloch, Yuanhao WeiPPoPP 2022 · 12 citations
- Efficient, Distributed, and Non-Speculative Multi-Address Atomic OperationsEduardo José Gómez-Hernández, Juan M. Cebrian, J. Rubén Titos Gil, Stefanos Kaxiras et al.MICRO 2021 · 8 citations
- TORTIS: Retry-Free Software Transactional Memory for Real-Time SystemsClaire Nord, Shai Caspin, Catherine E. Nemitz, Howard E. Shrobe et al.RTSS 2021 · 2 citations
Related papers
- Chaining Transactions for Effective Concurrency Management in Hardware Transactional MemoryVíctor Nicolás-Conesa, J. Rubén Titos Gil, Ricardo Fernández-Pascual, Manuel E. Acacio et al.MICRO 2024 · 2 citations
- No Rush in Executing Atomic InstructionsAshkan Asgharzadeh, Josué Feliu, Manuel E. Acacio, Stefanos Kaxiras et al.HPCA 2025
- Towards Generating Thread-Safe Classes AutomaticallyHaichi Wang, Zan Wang, Jun Sun, Shuang Liu et al.ASE 2020 · 1 citation
- Improving the Concurrency Performance of Persistent Memory Transactions on MulticoresQing Wang, Youyou Lu, Zhongjie Wu, Fan Yang et al.DAC 2020 · 3 citations
- Reciprocating LocksDave Dice, Alex KoganPPoPP 2025 · 1 citation
