Execution Privatization for Scheduler-Oblivious Concurrent Programs

被引:8
|
作者
Huang, Jeff [1 ]
Zhang, Charles [1 ]
机构
[1] Hong Kong Univ Sci & Technol, Dept Comp Sci & Engn, Hong Kong, Hong Kong, Peoples R China
关键词
Privatization; Scheduler-oblivious; Concurrency;
D O I
10.1145/2398857.2384670
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Making multithreaded execution less non-deterministic is a promising solution to address the difficulty of concurrent programming plagued by the non-deterministic thread scheduling. In fact, a vast category of concurrent programs are scheduler-oblivious: their execution is deterministic, regardless of the scheduling behavior. We present and formally prove a fundamental observation of the privatizability property for scheduler-oblivious programs, that paves the theoretical foundation for privatizing shared data accesses on a path segment. With privatization, the non-deterministic thread interleavings on the privatized accesses are isolated and as the consequence many concurrency problems are alleviated. We further present a path and context sensitive privatization algorithm that safely privatizes the program without introducing any additional program behavior. Our evaluation results show that the privatization opportunity pervasively exists in real world large complex concurrent systems. Through privatization, several real concurrency bugs are fixed and notable performance improvements are also achieved on benchmarks.
引用
收藏
页码:737 / 752
页数:16
相关论文
共 50 条
  • [21] Efficient Testing of Concurrent Programs with Abstraction-Guided Symbolic Execution
    Rungta, Neha
    Mercer, Eric G.
    Visser, Willem
    MODEL CHECKING SOFTWARE, 2009, 5578 : 174 - +
  • [22] Embedding a Scheduler in Execution for a Planetary Rover
    Chi, Wayne
    Chien, Steve
    Agrawal, Jagriti
    Rabideau, Gregg
    Benowitz, Edward
    Gaines, Daniel
    Fosse, Elyse
    Kuhn, Stephen
    Biehl, James
    TWENTY-EIGHTH INTERNATIONAL CONFERENCE ON AUTOMATED PLANNING AND SCHEDULING (ICAPS 2018), 2018, : 312 - 320
  • [23] Software fault tolerance of concurrent programs using controlled re-execution
    Tarafdar, A
    Garg, VK
    DISTRIBUTED COMPUTING, 1999, 1693 : 210 - 224
  • [24] BRANCHING PROGRAMS VERSUS OBLIVIOUS BRANCHING PROGRAMS
    HROMKOVIC, J
    COMPUTERS AND ARTIFICIAL INTELLIGENCE, 1991, 10 (01): : 67 - 74
  • [25] Visualising the execution of concurrent object-oriented programs dynamically using UML
    Leroux, H
    Exton, C
    WSCG '2001: SHORT COMMUNICATIONS AND POSTERS, 2001, : SH114 - SH119
  • [26] STRAB: State Recovery using Reverse Execution at IR Level for Concurrent Programs
    Hoshino, Shinji
    Arahori, Yoshitaka
    Gondow, Katsuhiko
    36TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2021, 2021, : 1532 - 1541
  • [27] BSP, LogP, and oblivious programs
    Eisenbiegler, J
    Löwe, W
    Zimmermann, W
    EURO-PAR '98 PARALLEL PROCESSING, 1998, 1470 : 865 - 874
  • [28] Simple fast parallel hashing by oblivious execution
    Gil, J
    Matias, Y
    SIAM JOURNAL ON COMPUTING, 1998, 27 (05) : 1348 - 1375
  • [29] Predicting the time of oblivious programs
    Gonzalez, JA
    Leon, C
    Piccoli, F
    Printista, M
    Roda, JL
    Rodriguez, C
    Sande, F
    NINTH EUROMICRO WORKSHOP ON PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS, 2001, : 363 - 368
  • [30] Automatic Privatization for Parallel Execution of Loops
    Palkowski, Marek
    ARTIFICIAL INTELLIGENCE AND SOFT COMPUTING, PT II, 2012, 7268 : 395 - 403