Scalable Data Race Detection for Lock-Intensive Programs with Pending Period Representation

被引:1
|
作者
Liao, Xiaofei [1 ]
Lin, Minhao [1 ]
Zheng, Long [1 ]
Jin, Hai [1 ]
Shao, Zhiyuan [1 ]
机构
[1] Huazhong Univ Sci & Technol, Sch Comp Sci & Technol, Cluster & Grid Comp Lab, Serv Comp Technol & Syst Lab,Big Data Technol & S, Wuhan 430074, Hubei, Peoples R China
基金
中国国家自然科学基金;
关键词
Data race; scalability; efficiency; happens-before relation; global clock; sampling; SYSTEMS; TIME; !text type='JAVA']JAVA[!/text;
D O I
10.1109/TPDS.2018.2836899
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Most of dynamic data race detection essentially relies on the underlying happens-before orders to yield the precise reports. They are notoriously prone to a prohibitively basic overhead. Although there exist a wealth of research advances that succeed in significantly reducing the analysis overhead on memory accesses, there remains an open problem in handling a great deal of fundamentally unscalable synchronization overhead, which can be particularly serious for the large, lock-intensive programs with a long running time and a large number of threads. In this paper, we revisit the synchronization problem of off-the-shelf race detection with a comprehensive study. The key insight of this work is that a full collection of partial orders for synchronization operations in prior work is not necessarily tracked and analyzed from a new perspective of "global clock" representation. We therefore develop this insight into a novel pending-period based approach, aiming at reducing the overhead of monitoring and analysis on unnecessary synchronization operations. Further, we also enable a significant improvement for enhancing the efficiency of existing sampling techniques, in which synchronization operations are often conservatively identified. Our experimental results on a wide variety of programs show that our approach outperforms state-of-the-art by 5.85x (versus FastTrack), 3.51x (versus ThreadSanitizer) and 1.34x (versus IFRit) program execution slowdown improvement on average, which can be more significant as the number of threads is increasing. Particularly for the lock-intensive programs (e.g., barnes), our approach can be 26.04x faster than FastTrack. Further, our pending period extended sampling is more efficient than Pacer (with up to 31.28 percent improvement in the case of 10 percent sampling rate).
引用
收藏
页码:2599 / 2612
页数:14
相关论文
共 30 条
  • [1] Dynamic Data Race Detection for OpenMP Programs
    Gu, Yizi
    Mellor-Crummey, John
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE, AND ANALYSIS (SC'18), 2018,
  • [2] Incremental detection of data race for java programs
    Zhang, Yu
    Hao, Yunyun
    Hsi-An Chiao Tung Ta Hsueh/Journal of Xi'an Jiaotong University, 2009, 43 (08): : 22 - 27
  • [3] Static data-race detection for multithread programs
    Department of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China
    不详
    Jisuanji Yanjiu yu Fazhan, 2006, 2 (329-335):
  • [4] Efficient data race detection for distributed memory parallel programs
    Park, Chang-Seo
    Sen, Koushik
    Hargrove, Paul
    Iancu, Costin
    Proceedings of 2011 SC - International Conference for High Performance Computing, Networking, Storage and Analysis, 2011,
  • [5] Context-Sensitive Data Race Detection for Concurrent Programs
    Zhang, Yang
    Liu, Huan
    Qiao, Liu
    IEEE ACCESS, 2021, 9 : 20861 - 20867
  • [6] Refined method for dynamic data race detection of BPEL programs
    Lu W.
    Lu F.
    Bao Y.
    Zeng Q.
    Duan H.
    Jisuanji Jicheng Zhizao Xitong/Computer Integrated Manufacturing Systems, CIMS, 2022, 28 (10): : 3064 - 3080
  • [7] Static analysis for concurrent programs with applications to data race detection
    Kahlon V.
    Sankaranarayanan S.
    Gupta A.
    International Journal on Software Tools for Technology Transfer, 2013, 15 (4) : 321 - 336
  • [8] Static Data Race Detection for Concurrent Programs with Asynchronous Calls
    Kahlon, Vineet
    Sinha, Nishant
    Kruus, Erik
    Zhang, Yun
    7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, : 13 - 22
  • [9] Parallel Data Race Detection for Task Parallel Programs with Locks
    Yoga, Adarsh
    Nagarakatte, Santosh
    Gupta, Aarti
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 833 - 845
  • [10] Optimized Sound and Complete Data Race Detection in Structured Parallel Programs
    Storey, Kyle
    Powell, Jacob
    Ben Ogles
    Hooker, Joshua
    Aldous, Peter
    Mercer, Eric
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING (LCPC 2018), 2019, 11882 : 94 - 111