Cross-thread critical sections and efficient dynamic race prediction methods
The lock set method and the partial order method are two main approaches to guarantee that dynamic data race prediction remains efficient. There are many variations of these ideas. Common to all of them is the assumption that the events in a critical section belong to the same thread. We have eviden...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The lock set method and the partial order method are two main approaches to
guarantee that dynamic data race prediction remains efficient. There are many
variations of these ideas. Common to all of them is the assumption that the
events in a critical section belong to the same thread. We have evidence that
critical sections in the wild do extend across thread boundaries even if the
surrounding acquire and release events occur in the same thread. We introduce
the novel concept of a cross-thread critical section to capture such
situations, offer a theoretical comprehensive framework, and study their impact
on state-of-the-art data race analyses. For the sound partial order relation
WCP we can show that the soundness claim also applies to cross-thread critical
sections. For DCtp the occurrence of cross-thread critical sections invalidates
the soundness claim. For complete partial order relations such as WDP and PWR,
cross-thread critical sections help to eliminate more false positives. The same
(positive) impact applies to the lock set construction. Our experimental
evaluation confirms that cross-thread critical sections arise in practice. For
the complete relation PWR, we are able to reduce the number of false positives.
The performance overhead incurred by tracking cross-thread critical sections
slows down the analysis by 10%-20%, on average. |
---|---|
DOI: | 10.48550/arxiv.2307.09855 |