Optimized Sound and Complete Data Race Detection in Structured Parallel Programs

被引:0
作者
Storey, Kyle [1 ]
Powell, Jacob [1 ]
Ben Ogles [1 ]
Hooker, Joshua [1 ]
Aldous, Peter [1 ]
Mercer, Eric [1 ]
机构
[1] Brigham Young Univ, Provo, UT 84601 USA
来源
LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2018) | 2019年 / 11882卷
基金
美国国家科学基金会;
关键词
DETERMINISM; CLOCKS;
D O I
10.1007/978-3-030-34627-0_8
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Task parallel programs that are free of data race are guaranteed to be deterministic, serializable, and free of deadlock. Techniques for verification of data race freedom vary in both accuracy and asymptotic complexity. One work is particularly well suited to task parallel programs with isolation and lightweight threads. It uses the Java Pathfinder model checker to reason about different schedules and proves the presence or absence of data race in a program on a fixed input. However, it uses a direct and inefficient transitive closure on the happens-before relation to reason about data race. This paper presents Zipper, an alternative to this na<spacing diaeresis>ive algorithm, which identifies the presence or absence of data race in asymptotically superior time. Zipper is optimized for lightweight threads and, in the presence of many threads, has superior time complexity to leading vector clock algorithms. This paper includes an empirical study of Zipper and a comparison against the naive computation graph algorithm, demonstrating the superior performance it achieves.
引用
收藏
页码:94 / 111
页数:18
相关论文
共 28 条
  • [1] [Anonymous], 2007, P THE 6 JOINT M EUR
  • [2] [Anonymous], 1991, P 1991 ACM IEEE C SU
  • [3] Clock trees: Logical clocks for programs with nested parallelism
    Audenaert, K
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (10) : 646 - 658
  • [4] Bender MichaelA., 2004, P 16 ANN S PARALLELI, P133
  • [5] Combining static analysis and model checking for software analysis
    Brat, G
    Visser, W
    [J]. 16TH ANNUAL INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2001), PROCEEDINGS, 2001, : 262 - 269
  • [6] Cave Vincent, 2011, HABANERO JAVA NEW AD
  • [7] Cheng G.-I., 1998, SPAA '98. Tenth Annual ACM Symposium on Parallel Algorithms and Architectures, P298, DOI 10.1145/277651.277696
  • [8] Christiaens M., 2001, Euro-Par 2001 Parallel Processing. 7th International Euro-Par Conference. Proceedings (Lecture Notes in Computer Science Vol.2150), P494
  • [9] Determinacy and Repeatability of Parallel Program Schemata
    Dennis, Jack B.
    Gao, Guang R.
    Sarkar, Vivek
    [J]. 2012 SECOND WORKSHOP ON DATA-FLOW EXECUTION MODELS FOR EXTREME SCALE COMPUTING (DFM 2012), 2012, : 1 - 9
  • [10] Dimitrov D, 2014, ACM SIGPLAN NOTICES, V49, P305, DOI [10.1145/2594291.2594322, 10.1145/2666356.2594322]