HYBRID DATA RACE DETECTION FOR MULTICORE SOFTWARE

被引:2
作者
Sen, Alper [1 ]
Kalaci, Onder [1 ]
机构
[1] Bogazici Univ, Dept Comp Engn, Istanbul, Turkey
关键词
Software testing and debugging; multithreaded programs; data race; concurrency; happens-before; lockset; EFFICIENT; ACCURATE;
D O I
10.4149/cai_2018_1_186
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Multithreaded programs are prone to concurrency errors such as deadlocks, race conditions and atomicity violations. These errors are notoriously difficult to detect due to the non-deterministic nature of concurrent software running on multicore hardware. Data races result from the concurrent access of shared data by multiple threads and can result in unexpected program behaviors. Main dynamic data race detection techniques in the literature are happens-before and lockset algorithms which suffer from high execution time and memory overhead, miss many data races or produce a high number of false alarms. Our goal is to improve the performance of dynamic data race detection, while at the same time improving its accuracy by generating fewer false alarms. We develop a hybrid data race detection algorithm that is a combination of the happens-before and lockset algorithms in a tool. Rather than focusing on individual memory accesses by each thread, we focus on sequence of memory accesses by each thread, called a segment. This allows us to improve the performance of data race detection. We implement several optimizations on our hybrid data race detector and compare our technique with traditional happens-before and lockset detectors. The experiments are performed with C/C++ multithreaded benchmarks using Pthreads library from PARSEC suite and large applications such as Apache web server. Our experiments showed that our hybrid detector is 15 % faster than the happens-before detector and produces 50 % less potential data races than the lockset detector. Ultimately, a hybrid data race detector can improve the performance and accuracy of data race detection, enhancing its usability in practice.
引用
收藏
页码:186 / 212
页数:27
相关论文
共 32 条
  • [1] [Anonymous], 2007, P THE 6 JOINT M EUR
  • [2] [Anonymous], 1998, ACM T MODEL COMPUT S
  • [3] [Anonymous], 2014, APACHE HTTP SERVER P
  • [4] [Anonymous], 2003, P 9 ACM SIGPLAN S PR, DOI DOI 10.1145/781498.781529
  • [5] The PARSEC Benchmark Suite: Characterization and Architectural Implications
    Bienia, Christian
    Kumar, Sanjeev
    Singh, Jaswinder Pal
    Li, Kai
    [J]. PACT'08: PROCEEDINGS OF THE SEVENTEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2008, : 72 - 81
  • [6] PACER: Proportional Detection of Data Races
    Bond, Michael D.
    Coons, Katherine E.
    McKinley, Kathryn S.
    [J]. PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 255 - 268
  • [7] Engler D., 2003, Operating Systems Review, V37, P237, DOI 10.1145/1165389.945468
  • [8] LOGICAL TIME IN DISTRIBUTED COMPUTING SYSTEMS
    FIDGE, C
    [J]. COMPUTER, 1991, 24 (08) : 28 - 33
  • [9] FastTrack: Efficient and Precise Dynamic Race Detection
    Flanagan, Cormac
    Freund, Stephen N.
    [J]. COMMUNICATIONS OF THE ACM, 2010, 53 (11) : 93 - 101
  • [10] GILCHRIST J., 2004, P INT C PAR DISTR CO