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 条
  • [1] A Tranformational Approach for Designing Scheduler-Oblivious Self-stabilizing Algorithms
    Dhama, Abhishek
    Theel, Oliver
    STABILIZATION, SAFETY, AND SECURITY OF DISTRIBUTED SYSTEMS, 2010, 6366 : 80 - 95
  • [2] Sentries for the execution of concurrent programs
    Chodrow, SE
    Gouda, MG
    PROCEEDINGS OF THE 16TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, 1996, : 11 - 18
  • [3] RESTRUCTURING LISP PROGRAMS FOR CONCURRENT EXECUTION
    LARUS, JR
    HILFINGER, PN
    SIGPLAN NOTICES, 1988, 23 (09): : 100 - 110
  • [4] DETERMINISTIC EXECUTION TESTING OF CONCURRENT ADA PROGRAMS
    CARVER, R
    TAI, KC
    TRI-ADA 89 : INDUSTRY, ACADEMIA, GOVERNMENT: ADA TECHNOLOGY IN CONTEXT : APPLICATION, DEVELOPMENT, AND DEPLOYMENT, 1989, : 528 - 544
  • [5] DEBUGGING CONCURRENT ADA PROGRAMS BY DETERMINISTIC EXECUTION
    TAI, KC
    CARVER, RH
    OBAID, EE
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (01) : 45 - 63
  • [6] STRUCTURED PARTITIONING OF CONCURRENT PROGRAMS FOR EXECUTION ON MULTIPROCESSORS
    WANG, CM
    WANG, SD
    PARALLEL COMPUTING, 1990, 16 (01) : 41 - 57
  • [7] Compiling concurrent programs for embedded sequential execution
    Lin, Bill
    INTEGRATION-THE VLSI JOURNAL, 2007, 40 (02) : 106 - 117
  • [8] DETERMINISTIC EXECUTION DEBUGGING OF CONCURRENT ADA PROGRAMS
    TAI, KC
    CARVER, RH
    OBAID, EE
    PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 102 - 109
  • [9] OblivIO: Securing reactive programs by oblivious execution with bounded traffic overheads
    Blaabjerg, Jeppe Fredsgaard
    Askarov, Aslan
    2023 IEEE 36TH COMPUTER SECURITY FOUNDATIONS SYMPOSIUM, CSF, 2023, : 292 - 307
  • [10] Data Structures for Limited Oblivious Execution of Programs while Preserving Locality of Reference
    Varadarajan, Avinash V.
    Venkatesan, Ramarathnam
    Rangan, C. Pandu
    DRM'07: PROCEEDINGS OF THE 2007 ACM WORKSHOP ON DIGITAL RIGHTS MANAGEMENT, 2007, : 63 - 69