Achieving Forward Progress Guarantee in Small Hardware Transactions

被引:0
|
作者
Nagabhiru, Mahita [1 ]
Byrd, Gregory T. [1 ]
机构
[1] North Carolina State Univ, Dept Elect & Comp Engn, Raleigh, NC 27697 USA
关键词
Hardware; Programming; Data structures; Coherence; Protocols; Instruction sets; Software; Atomics; compare-and-swap; concurrency; forward progress; hardware transactional memory; multi-word-compare-and-swap; multithreading; non-blocking; lock-free;
D O I
10.1109/LCA.2024.3370992
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Hardware-transactional-memory (HTM) manages to pique interest from academia and industry alike because of its potential to ease concurrent-programming without compromising on performance. It offers a simple "all-or-nothing" idea to the programmer, making a piece of code appear atomic in hardware. Despite this and many elegant HTM implementations in research, only best-effort HTM is available commercially. Best-effort HTM lacks forward progress guarantee making it harder for the programmer to create a concurrent scalable fallback path. This has made HTM's adaptability limited. With a scope to support a myriad of applications, HTMs do a trade off between design and verification complexity vs forward progress guarantee. In this letter, we argue that limiting the scope of applications helps HTM attain guaranteed forward progress. We support lock-free programs by using HTM as multi-word-atomics and demonstrate strategic design choices to achieve lock-freedom completely in hardware. We use lfbench, a lock-free micro-benchmark-suite, and Arm's best-effort HTM (ARM_TME) on the gem5 simulator, as our base. We demonstrate the performance tradeoffs between design choices of a deferral-based, NACK-based, and NACK-with-backoff approaches. We show that NACK-with-backoff performs better than the others without compromising scalability for both read- and write-intensive applications.
引用
收藏
页码:53 / 56
页数:4
相关论文
共 50 条
  • [1] A simple deterministic algorithm for guaranteeing the forward progress of transactions
    Leiserson, Charles E.
    [J]. INFORMATION SYSTEMS, 2016, 57 : 69 - 74
  • [2] Transactions Achieving innovation
    McKenzie, James
    [J]. PHYSICS WORLD, 2018, 31 (04) : 18 - 18
  • [3] Hardware Multithreaded Transactions
    Fix, Jordan
    Nagendra, Nayana P.
    Apostolakis, Sotiris
    Zhang, Hansen
    Qiu, Sophie
    August, David I.
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (02) : 15 - 29
  • [4] THE THEORY OF FORWARD TRANSACTIONS
    ALFANDARYALEXANDER, M
    [J]. ECONOMETRICA, 1963, 31 (1-2) : 251 - 252
  • [5] FORWARD CURRENCY TRANSACTIONS
    不详
    [J]. BRITISH TAX REVIEW, 1988, (03): : 61 - 61
  • [6] Hardware Transactions in Nonvolatile Memory
    Avni, Hillel
    Levy, Eliezer
    Mendelson, Avi
    [J]. DISTRIBUTED COMPUTING (DISC 2015), 2015, 9363 : 617 - 630
  • [7] Software Partitioning of Hardware Transactions
    Xiang, Lingxiang
    Scott, Michael L.
    [J]. ACM SIGPLAN NOTICES, 2015, 50 (08) : 76 - 86
  • [8] TSXProf: Profiling Hardware Transactions
    Liu, Yujie
    Gottschlich, Justin
    Pokam, Gilles
    Spear, Michael
    [J]. 2015 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURE AND COMPILATION (PACT), 2015, : 75 - 86
  • [9] Small steps forward: Progress in spinal cord injury
    Waldron, JS
    Parsa, AT
    [J]. NEUROSURGERY, 2004, 55 (01) : N9 - N9
  • [10] Split Hardware Transactions True nesting of transactions using best-effort hardware transactional memory
    Lev, Yossi
    Maessen, Jan-Willem
    [J]. PPOPP'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2008, : 197 - 206