Parallel Data Race Detection for Task Parallel Programs with Locks

被引:14
|
作者
Yoga, Adarsh [1 ]
Nagarakatte, Santosh [1 ]
Gupta, Aarti [2 ]
机构
[1] Rutgers State Univ, Dept Comp Sci, Piscataway, NJ 08854 USA
[2] Princeton Univ, Dept Comp Sci, Princeton, NJ 08544 USA
关键词
Data Races; Intel TBB; Fork Join Programs;
D O I
10.1145/2950290.2950329
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programming with tasks is a promising approach to write performance portable parallel code. In this model, the programmer explicitly specifies tasks and the task parallel runtime employs work stealing to distribute tasks among threads. Similar to multithreaded programs, task parallel programs can also exhibit data races. Unfortunately, prior data race detectors for task parallel programs either run the program serially or do not handle locks, and/or detect races only in the schedule observed by the analysis. This paper proposes PTRacer, a parallel on-the-fly data race detector for task parallel programs that use locks. PTRacer detects data races not only in the observed schedule but also those that can happen in other schedules (which are permutations of the memory operations in the observed schedule) for a given input. It accomplishes the above goal by leveraging the dynamic execution graph of a task parallel execution to determine whether two accesses can happen in parallel and by maintaining constant amount of access history metadata with each distinct set of locks held for each shared memory location. To detect data races (beyond the observed schedule) in programs with branches sensitive to scheduling decisions, we propose static compiler instrumentation that records memory accesses that will be executed in the other path with simple branches. PTRacer has performance overheads similar to the state-of-the-art race detector for task parallel programs, SPD3, while detecting more races in programs with locks.
引用
收藏
页码:833 / 845
页数:13
相关论文
共 50 条
  • [1] Dynamic Determinacy Race Detection for Task-Parallel Programs with Promises
    Jin, Feiyang
    Yu, Lechen
    Cogumbreiro, Tiago
    Shirako, Jun
    Sarkar, Vivek
    [J]. Leibniz International Proceedings in Informatics, LIPIcs, 2023, 263
  • [2] Model-Checking Task Parallel Programs for Data-Race
    Nakade, Radha
    Mercer, Eric
    Aldous, Peter
    McCarthy, Jay
    [J]. NASA FORMAL METHODS, NFM 2018, 2018, 10811 : 367 - 382
  • [3] Efficient data race detection for distributed memory parallel programs
    Park, Chang-Seo
    Sen, Koushik
    Hargrove, Paul
    Iancu, Costin
    [J]. Proceedings of 2011 SC - International Conference for High Performance Computing, Networking, Storage and Analysis, 2011,
  • [4] Model-checking task-parallel programs for data-race
    Radha Nakade
    Eric Mercer
    Peter Aldous
    Kyle Storey
    Benjamin Ogles
    Joshua Hooker
    Sheridan Jacob Powell
    Jay McCarthy
    [J]. Innovations in Systems and Software Engineering, 2019, 15 : 289 - 306
  • [5] Model-checking task-parallel programs for data-race
    Nakade, Radha
    Mercer, Eric
    Aldous, Peter
    Storey, Kyle
    Ogles, Benjamin
    Hooker, Joshua
    Powell, Sheridan Jacob
    McCarthy, Jay
    [J]. INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2019, 15 (3-4) : 289 - 306
  • [6] Optimized Sound and Complete Data Race Detection in Structured Parallel Programs
    Storey, Kyle
    Powell, Jacob
    Ben Ogles
    Hooker, Joshua
    Aldous, Peter
    Mercer, Eric
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2018), 2019, 11882 : 94 - 111
  • [7] COMPILING TASK AND DATA PARALLEL PROGRAMS FOR IWARP
    GROSS, T
    HINRICHS, S
    LUEH, G
    OHALLARON, D
    STICHNOTH, J
    SUBHLOK, J
    [J]. SIGPLAN NOTICES, 1993, 28 (01): : 32 - 35
  • [8] Proving Data Race Freedom in Task Parallel Programs Using a Weaker Partial Order
    Ogles, Benjamin
    Aldous, Peter
    Mercer, Eric
    [J]. 2019 FORMAL METHODS IN COMPUTER AIDED DESIGN (FMCAD), 2019, : 55 - 63
  • [9] Restructuring parallel programs for on-the-fly race detection
    Kim, YC
    Jun, YK
    [J]. PARALLEL COMPUTING TECHNOLOGIES, 1999, 1662 : 446 - 451
  • [10] Models and scheduling algorithms for mixed data and task parallel programs
    Chakrabarti, S
    Demmel, J
    Yelick, K
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1997, 47 (02) : 168 - 184