Adding Explicit Load-Acquire and Store-Release Instructions to the RISC-V ISA
Bryce Arden, Zachary Susskind, Brendan Sweeney

TL;DR
This paper proposes adding load-acquire and store-release instructions to the RISC-V ISA to improve memory ordering control, supporting formal modeling, simulation, and compiler toolchain integration.
Contribution
It introduces explicit load-acquire and store-release instructions to RISC-V, enabling better memory synchronization and preventing ecosystem fragmentation.
Findings
Instructions successfully encoded in models and tools.
Impact on workloads with high sharing is minimal.
Supports formal verification and compiler integration.
Abstract
Weak memory models allow for simplified hardware and increased performance in the memory hierarchy at the cost of increased software complexity. In weak memory models, explicit synchronization is needed to enforce ordering between different processors. Acquire and release semantics provide a powerful primitive for expressing only the ordering required for correctness. In this project, we explore adding load-acquire and store-release instructions to the RISC-V ISA. We add support to the herd formal memory model, the gem5 cycle-approximate simulator, and the LLVM/Clang toolchain. Because these instructions do not exist in the RISC-V standard, there is an inherent urgency to ratify explicit load-acquire/store-release instructions in order to prevent multiple ABI implementations and ecosystem fragmentation. We found that for workloads with a high degree of sharing and heavy contention, the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
