Lazy Determinism for Faster Deterministic Multithreading

被引:6
|
作者
Merrifield, Timothy [1 ]
Roghanchi, Sepideh [2 ]
Devietti, Joseph [3 ]
Eriksson, Jakob [2 ]
机构
[1] VMware Inc, Palo Alto, CA 94304 USA
[2] Univ Illinois, Chicago, IL USA
[3] Univ Penn, Philadelphia, PA 19104 USA
基金
美国国家科学基金会;
关键词
determinism; multi-threading; speculative execution; performance; MEMORY;
D O I
10.1145/3297858.3304047
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Deterministic multithreading (DMT) fundamentally requires total, deterministic ordering of synchronization operations on each synchronization variable, i.e. a partial ordering over all synchronization operations. In practice, prior DMT systems totally order all synchronization operations, regardless of synchronization variable; the result is severe performance degradation for highly concurrent applications usingfine-grained synchronization. Motivated by this class of programs, we propose lazy determinism as a way to go beyond this total order bottleneck. Lazy determinism executes synchronization operations speculatively, and enforces determinism by subsequently validating the resulting order of operations. If an ordering violation is detected, part of the computation is restarted. By enforcing only the partial ordering required to guarantee determinism, lazy determinism increases the available parallelism during deterministic execution. We implement LAZYDET via a pure-software runtime system accelerated by custom Linux kernel support. Our experiments with hash table benchmarks from Synchrobench show roughly an order of magnitude improvement in the performance of lock-based data structures compared to the state of the art in eager determinism. For benchmarks from PARSEC-2, SPLASH-2, and Phoenix, we demonstrate runtime improvements of up to 2x on the programs that challenge deterministic execution environments the most.
引用
收藏
页码:879 / 891
页数:13
相关论文
共 50 条
  • [1] Intention Preservation in Deterministic Multithreading
    Zhao, Wenbing
    2014 8TH INTERNATIONAL CONFERENCE ON FUTURE GENERATION COMMUNICATION AND NETWORKING (FGCN), 2014, : 29 - 32
  • [2] DTHREADS: Efficient Deterministic Multithreading
    Liu, Tongping
    Curtsinger, Charlie
    Berger, Emery D.
    SOSP 11: PROCEEDINGS OF THE TWENTY-THIRD ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 2011, : 327 - 336
  • [3] UDS: A Unified Approach to Deterministic Multithreading
    Hauck, Franz J.
    Domaschka, Joerg
    PROCEEDINGS 2016 IEEE 36TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS ICDCS 2016, 2016, : 755 - 756
  • [4] Kendo: Efficient Deterministic Multithreading in Software
    Olszewski, Marek
    Ansel, Jason
    Amarasinghe, Saman
    ACM SIGPLAN NOTICES, 2009, 44 (03) : 97 - 108
  • [5] Faster APL with Lazy Extensions
    Sengul, Andrew
    PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON LIBRARIES, LANGUAGES AND COMPILERS FOR ARRAY PROGRAMMING, ARRAY 2023, 2023, : 62 - 74
  • [6] A deterministic lazy narrowing calculus
    Middeldorp, A
    Okui, S
    JOURNAL OF SYMBOLIC COMPUTATION, 1998, 25 (06) : 733 - 757
  • [7] An Evaluation of Lazy Fault Detection based on Adaptive Redundant Multithreading
    Hukerikar, Saurabh
    Teranishi, Keita
    Diniz, Pedro C.
    Lucas, Robert F.
    2014 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC), 2014,
  • [8] Intention preservation in deterministic multithreading: a partial solution
    Zhao, Wenbing
    Luo, Xiong
    Zhu, Yueqin
    Chai, Hua
    IET SOFTWARE, 2016, 10 (06) : 155 - 163
  • [9] Efficent and highly portable deterministic multithreading (DetLock)
    Hamid Mushtaq
    Zaid Al-Ars
    Koen Bertels
    Computing, 2014, 96 : 1131 - 1147
  • [10] Efficient Deterministic Multithreading Without Global Barriers
    Lu, Kai
    Zhou, Xu
    Bergan, Tom
    Wang, Xiaoping
    ACM SIGPLAN NOTICES, 2014, 49 (08) : 287 - 300