Identifying Ad-hoc Synchronization for Enhanced Race Detection

  • Tagung:

    Konferenzartikel 

  • Autoren:

    Ali Jannesari
    Walter F. Tichy
     

  • Summary

    Parallel programs contain a surprising numberof ad-hoc synchronization operations. Ad-hoc synchronizationoperations are loops that busy-wait on condition variables.Current race detectors produce unnecessary warnings (falsepositives) when ad-hoc synchronization is used. False positivesare also generated when programmers use synchronizationprimitives that are unknown to race detectors, for instancewhen programmers switch libraries. These shortcomings mayresult in an overwhelming number of false positives, dissuadingprogrammers from using race detectors.This paper shows that ad-hoc synchronization operationscan be detected automatically. The method requires no userintervention such as annotations and has been implementedin the race detector Helgrind+. Evaluation results on variousbenchmarks confirm that Helgrind+ is aware of all synchronizationsin programs, reliably reports true races, and producesfew false alarms. A surprising result is that with the newtechnique, Helgrind+ can analyze synchronization libraries, sospecial knowledge about these libraries is not needed in thedetector.

  • Jahr:

    2010 

Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

Bibtex

@inproceedings{,
author={Ali Jannesari, Walter F. Tichy},
title={Identifying Ad-hoc Synchronization for Enhanced Race Detection},
year=2010,
month=Apr,
publisher={IEEE International Parallel & Distributed Processing Symposium (IPDPS'10)},
abstract={Parallel programs contain a surprising numberof ad-hoc synchronization operations. Ad-hoc synchronizationoperations are loops that busy-wait on condition variables.Current race detectors produce unnecessary warnings (falsepositives) when ad-hoc synchronization is used. False positivesare also generated when programmers use synchronizationprimitives that are unknown to race detectors, for instancewhen programmers switch libraries. These shortcomings mayresult in an overwhelming number of false positives, dissuadingprogrammers from using race detectors.This paper shows that ad-hoc synchronization operationscan be detected automatically. The method requires no userintervention such as annotations and has been implementedin the race detector Helgrind+. Evaluation results on variousbenchmarks confirm that Helgrind+ is aware of all synchronizationsin programs, reliably reports true races, and producesfew false alarms. A surprising result is that with the newtechnique, Helgrind+ can analyze synchronization libraries, sospecial knowledge about these libraries is not needed in thedetector.},
pages={1 -10},
address={Atlanta, USA},