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
相关论文
共 50 条
  • [1] Hybrid dynamic data race detection
    O'Callahan, R
    Choi, JD
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 166 - 177
  • [2] Hybrid Dynamic Data Race Detection in SystemC
    Sen, Alper
    Kalaci, Onder
    [J]. PROCEEDINGS OF THE 2014 FORUM ON SPECIFICATION & DESIGN LANGUAGES (FDL), 2014,
  • [3] SimpleLock+: Fast and Accurate Hybrid Data Race Detection
    Yu, Misun
    Bae, Doo-Hwan
    [J]. COMPUTER JOURNAL, 2016, 59 (06): : 793 - 809
  • [4] A Software Design and Algorithms for Multicore Capture in Data Center Forensics
    Zhanikeev, Marat
    [J]. SFCS'14: PROCEEDINGS OF THE 2ND INTERNATIONAL WORKSHOP ON SECURITY AND FORENSICS IN COMMUNICATION SYSTEMS, 2014, : 11 - 17
  • [5] Software Analysis Techniques for Detecting Data Race
    Kang, Pilsung
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2017, E100D (11): : 2674 - 2682
  • [6] Parallelizing Data Race Detection
    Wester, Benjamin
    Devecsery, David
    Chen, Peter M.
    Flinn, Jason
    Narayanasamy, Satish
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (04) : 27 - 38
  • [7] Dynamic Data Driven SAR Reconstruction on Hybrid Multicore systems
    Wijayasiri, Adeesha
    Ranka, Sanjay
    Sahni, Sartaj
    [J]. 2018 NINTH INTERNATIONAL GREEN AND SUSTAINABLE COMPUTING CONFERENCE (IGSC), 2018,
  • [8] Multicore Software Technologies A survey
    Kim, Hahn
    Bond, Robert
    [J]. IEEE SIGNAL PROCESSING MAGAZINE, 2009, 26 (06) : 80 - 89
  • [9] The impact of multicore on math software
    Buttari, Alfredo
    Dongarra, Jack
    Kurzak, Jakub
    Langou, Julien
    Luszczek, Piotr
    Tomov, Stanimire
    [J]. APPLIED PARALLEL COMPUTING: STATE OF THE ART IN SCIENTIFIC COMPUTING, 2007, 4699 : 1 - +
  • [10] Optimizing software for multicore processors
    Verplanke, Edwin
    [J]. DR DOBBS JOURNAL, 2007, 32 (06): : 44 - +