DeAI Research
Source · International Conference for High Performance Computing, Networking, Storage and Analysis (SC)

Mapping High-Level Concurrency from OpenMP and MPI to ThreadSanitizer Fibers

2023Joachim Jenke; Simon Schwitanski; Isabel Thärigen; Matthias S. Müller

cid b83bbfac2f9dc71209bc492e8c2065e383eeb935540062d01940976048798818 · original · open access · via openalex

Title: Mapping High-Level Concurrency from OpenMP and MPI to ThreadSanitizer Fibers
Authors: Joachim Jenke; Simon Schwitanski; Isabel Thärigen; Matthias S. Müller
Venue: International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
Year: 2023
Canonical: doi:10.1145/3624062.3624085
URL: https://doi.org/10.1145/3624062.3624085
Collector: openalex
OA: true

ABSTRACT
High-level parallel programming paradigms like MPI and OpenMP allow expressing concurrency independent from the execution unit finally executing the code. Most general-purpose data race detection tools perform thread-centric analyses 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. Experiments with existing classification quality benchmarks show that the fiber-based analysis does not introduce unexpected false positive reports but is able to detect more data races.