Safe Compiler-driven Transaction Checkpointing and Recovery

被引:0
|
作者
Sreeram, Jaswanth [1 ]
Pande, Santosh [2 ]
机构
[1] Intel Labs, Santa Clara, CA USA
[2] Georgia Inst Technol, Atlanta, GA 30332 USA
关键词
software transactional memory; checkpointing; continuations;
D O I
10.1145/2398857.2384620
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Several studies have shown that a large fraction of the work performed inside memory transactions in representative programs is wasted due to the transaction experiencing a conflict and aborting. Aborts inside long running transactions are especially influential to performance and the simplicity of the TM programming model (relative to using finegrained locking) in synchronizing large critical sections means that large transactions are common and this exacerbates the problem of wasted work. In this paper we present a practical transaction checkpoint and recovery scheme in which transactions that experience a conflict can restore their state (including the local context in which they were executing) to some dynamic program point before this access and begin execution from that point. This state saving and restoration is implemented by checkpoint operations that are generated by a compiler into the transactions body and are also optimized to reduce the amount of state that is saved and restored. We also describe a runtime system that manages these checkpointed states and orchestrates the restoration of the right checkpointed state for a conflict on a particular transactional access. Moreover the synthesis of these save & restore operations, their optimization and invocation at runtime are completely transparent to the programmer. We have implemented the checkpoint generation and optimization scheme in the LLVM compiler and runtime support for the TL2 STM system. Our experiments indicate that for many parallel programs using such checkpoint recovery schemes can result in upto several orders of magnitude reduction in number of aborts and significant execution time speedups relative to plain transactional programs for the same number of threads.
引用
收藏
页码:41 / 55
页数:15
相关论文
共 50 条
  • [21] Consistent checkpointing for transaction systems
    Baldoni, R
    Quaglia, F
    Raynal, M
    COMPUTER JOURNAL, 2001, 44 (02): : 92 - 100
  • [22] Integrating checkpointing with transaction processing
    Wang, YM
    Chung, PY
    Huang, Y
    Elnozahy, EN
    TWENTY-SEVENTH ANNUAL INTERNATIONAL SYMPOSIUM ON FAULT-TOLERANT COMPUTING, DIGEST OF PAPERS, 1997, : 304 - 308
  • [23] Compiler-driven register re-assignment for register file power-density and temperature reduction
    Zhou, Xiangrong
    Yu, Chenjie
    Petrov, Peter
    2008 45TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, VOLS 1 AND 2, 2008, : 750 - 753
  • [24] Compiler-enhanced incremental checkpointing
    Bronevetsky, Greg
    Marques, Daniel
    Pingali, Keshav
    Rugina, Radu
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5234 : 1 - +
  • [25] Compiler-assisted heterogeneous checkpointing
    Karablieh, F
    Bazzi, RA
    Hicks, M
    20TH IEEE SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, PROCEEDINGS, 2001, : 56 - 65
  • [26] COMPILER-ASSISTED FULL CHECKPOINTING
    LI, CCJ
    STEWART, EM
    FUCHS, WK
    SOFTWARE-PRACTICE & EXPERIENCE, 1994, 24 (10): : 871 - 886
  • [27] G-Sparse: Compiler-Driven Acceleration for Generalized Sparse Computation for Graph Neural Networks on Modern GPUs
    Jin, Yue
    Huan, Chengying
    Zhang, Heng
    Liu, Yongchao
    Song, Shuaiwen Leon
    Zhao, Rui
    Zhang, Yao
    He, Changhua
    Chen, Wenguang
    2023 32ND INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PACT, 2023, : 137 - 149
  • [28] An open and safe nested transaction model: concurrency and recovery
    Madria, SK
    Maheshwari, SN
    Chandra, B
    Bhargava, B
    JOURNAL OF SYSTEMS AND SOFTWARE, 2000, 55 (02) : 151 - 165
  • [29] Designing RISC-V Instruction Set Extensions for Artificial Neural Networks: An LLVM Compiler-Driven Perspective
    Balasubramanian, Karthikeyan Kalyanasundaram
    Salvo, Mirco Di
    Rocchia, Walter
    Decherchi, Sergio
    Crepaldi, Marco
    IEEE ACCESS, 2024, 12 : 55925 - 55944
  • [30] Compiler-Directed Lightweight Checkpointing for Fine-Grained Guaranteed Soft Error Recovery
    Liu, Qingrui
    Jung, Changhee
    Lee, Dongyoon
    Tiwarit, Devesh
    SC '16: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2016, : 228 - 239