Informácia o dokumente / Document Info
Späť / Back



Hybrid Data Race Detection for Multicore Software

A. Sen - O. Kalaci

Vydavateľ / Publisher:

Ústav informatiky SAV

Rok, strany / Year, pages: 2018, 186-212

DOI: https://doi.org/10.4149/cai_2018_1_186

Jazyk / Language: eng

Publikované / Published: 1. 6. 2018

Typ dokumentu / Type of Document:

Popis / Abstract:

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.

Ako citovať / How to Cite:

ISO 690:
Sen, A., Kalaci, O. 2018. Hybrid Data Race Detection for Multicore Software. In Computing and Informatics, vol. 37, no.1, pp. 186-212. DOI: https://doi.org/10.4149/cai_2018_1_186

APA:
Sen, A., Kalaci, O. (2018). Hybrid Data Race Detection for Multicore Software. Computing and Informatics, 37(1), 186-212. DOI: https://doi.org/10.4149/cai_2018_1_186

Kľúčové slová / Keywords:

Software testing and debugging, multithreaded programs, data race, concurrency, happens-before, lockset

Licencie / Rights:

Referencie: