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 条
  • [31] Oblivious Markov Decision Processes: Planning and Policy Execution
    Alsayegh, Murtadha
    Fuentes, Jose
    Bobadilla, Leonardo
    Shell, Dylan A.
    2023 62ND IEEE CONFERENCE ON DECISION AND CONTROL, CDC, 2023, : 3850 - 3857
  • [32] ON OBLIVIOUS BRANCHING PROGRAMS OF LINEAR LENGTH
    KRAUSE, M
    WAACK, S
    LECTURE NOTES IN COMPUTER SCIENCE, 1989, 380 : 287 - 296
  • [33] Pseudorandom Bits for Oblivious Branching Programs
    Gurjar, Rohit
    Volk, Ben Lee
    ACM TRANSACTIONS ON COMPUTATION THEORY, 2020, 12 (02)
  • [34] ON OBLIVIOUS BRANCHING PROGRAMS OF LINEAR LENGTH
    KRAUSE, M
    WAACK, S
    INFORMATION AND COMPUTATION, 1991, 94 (02) : 232 - 249
  • [35] On privatization of variables for data-parallel execution
    Gupta, M
    11TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM, PROCEEDINGS, 1997, : 533 - 541
  • [36] Dam safety programs and privatization
    Rajpal, AK
    Corso, RA
    SYMPOSIUM - REHABILITATION OF DAMS: ICOLD 66TH ANNUAL MEETING, PROCEEDINGS (PT A), 1999, : 373 - 378
  • [37] FPGA Implementation of a Scheduler Supporting Parallel Dataflow Execution
    Zhang, Junneng
    Wang, Chao
    Li, Xi
    Zhou, Xuehai
    2013 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2013, : 1216 - 1219
  • [38] Reverse execution of programs
    Biswas, B
    Mall, R
    ACM SIGPLAN NOTICES, 1999, 34 (04) : 61 - 69
  • [39] CONTROL OF THE EXECUTION OF CONCURRENT TRANSACTIONS
    CART, M
    FERRIE, J
    RICHY, H
    TSI-TECHNIQUE ET SCIENCE INFORMATIQUES, 1989, 8 (03): : 225 - 240
  • [40] SCHEDULING ALGORITHMS FOR CONCURRENT EXECUTION
    WALLACH, Y
    COMPUTER JOURNAL, 1977, 20 (02): : 132 - 136