Close

Presentation

This content is available for: Workshop Reg Pass. Upgrade Registration
Mapping High-Level Concurrency from OpenMP and MPI to ThreadSanitizer Fibers
DescriptionHigh-level parallel programming paradigms like MPI and OpenMP allow expressing concurrency independent from the execution unit finally executing the code. Most general-purposed data race detection tools perform thread-centric analysis with the operating system thread as the execution unit. ThreadSanitizer introduced the concept of software fibers as more fine-grained execution units. We use ThreadSanitizer fibers to model the concurrency semantics of OpenMP tasks, MPI non-blocking communication, and MPI one-sided communication. We propose different optimizations regarding handling ThreadSanitizer fibers, resulting in less runtime and memory overhead. In our experiment, we demonstrate how this augmented tool set can be applied to a highly asynchronous application using OpenMP tasking in combination with MPI non-blocking communication. For task-centric data race detection, we observe a moderate runtime overhead of up to 12%. Handling MPI non-blocking communication results in up to 3x runtime overhead. The holistic analysis of the code yields up to 10x runtime overhead.
Event Type
Workshop
TimeSunday, 12 November 20232:20pm - 2:40pm MST
Location708
Tags
Applications
Software Engineering
Registration Categories
W