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 条
  • [21] OPTIMIZATION BY NON-DETERMINISTIC, LAZY REWRITING
    NARAIN, S
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 355 : 326 - 342
  • [22] FASTER DETERMINISTIC INTEGER FACTORIZATION
    Costa, Edgar
    Harvey, David
    MATHEMATICS OF COMPUTATION, 2014, 83 (285) : 339 - 345
  • [23] esDMT: Efficient and Scalable Deterministic Multithreading Through Memory Isolation
    Sun, Jie
    Liao, Xiaofei
    Zheng, Long
    Jin, Hai
    Zhang, Yu
    2014 20TH IEEE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2014, : 79 - 86
  • [24] Faster Maximal Exact Matches with Lazy LCP Evaluation
    Goga, Adrian
    Depuydt, Lore
    Brown, Nathaniel K.
    Fostier, Jan
    Gagie, Travis
    Navarro, Gonzalo
    2024 DATA COMPRESSION CONFERENCE, DCC, 2024, : 123 - 132
  • [25] Purely Functional Lazy Non-deterministic Programming
    Fischer, Sebastian
    Kiselyov, Oleg
    Shan, Chung-chieh
    ICFP'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2009, : 11 - 22
  • [26] Purely Functional Lazy Non-deterministic Programming
    Fischer, Sebastian
    Kiselyov, Oleg
    Shan, Chung-chieh
    ACM SIGPLAN NOTICES, 2009, 44 (8-9) : 11 - 22
  • [27] SQUAREMIX: A Faster Pseudorandom Number Generator for Dynamic-Multithreading Platforms
    Ritchie, Robert
    Bibak, Khodakhast
    2020 DATA COMPRESSION CONFERENCE (DCC 2020), 2020, : 391 - 391
  • [28] Faster Deterministic Communication in Radio Networks
    Ferdinando Cicalese
    Fredrik Manne
    Qin Xin
    Algorithmica, 2009, 54 : 226 - 242
  • [29] Faster Deterministic Communication in Radio Networks
    Cicalese, Ferdinando
    Manne, Fredrik
    Xin, Qin
    ALGORITHMICA, 2009, 54 (02) : 226 - 242
  • [30] The usage of cybernetic in complex software systems and its application to the deterministic multithreading
    Bozkurt, Erkam Murat
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2022, 34 (28):