% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@PHDTHESIS{Protze:824881,
author = {Protze, Joachim},
othercontributors = {Müller, Matthias S. and Träff, Jesper L. and Schulz,
Martin},
title = {{M}odular techniques and interfaces for data race detection
in multi-paradigm parallel programming},
school = {RWTH Aachen University},
type = {Dissertation},
address = {Aachen},
publisher = {Joachim Protze},
reportid = {RWTH-2021-07909},
isbn = {978-3-754153-24-6},
pages = {1 Online-Ressource : Illustrationen},
year = {2021},
note = {Druckausgabe: 2021. - Auch veröffentlicht auf dem
Publikationsserver der RWTH Aachen University; Dissertation,
RWTH Aachen University, 2021},
abstract = {The demand for ever-growing computing capabilities in
scientific computing and simulation has led to heterogeneous
computing systems with multiple parallelism levels. The
aggregated performance of the Top 500 high-performance
computing (HPC) systems showed an annual growth rate of
$85\%$ for the years 1993-2013. As this growth rate
significantly exceeds the growth rate of $40\%$ to $60\%$
supported by Moore’s law, the additional growth was always
supported by an increasing number of computing nodes with
distributed memory and connected by a network. The message
passing interface (MPI) proved to be the dominating
programming paradigm for distributed memory computing as the
most coarse-grain level of parallelism in HPC. While
performance gain from Moore’s law in the last century
mainly went into single-core performance by increasing the
clock frequency, we see an increasing number of computing
cores per socket since the beginning of this century. The
cores within a socket or a node share the memory. Although
MPI can be used and is used for shared memory
parallelization, explicit use of shared memory as with
OpenMP can improve the scalability and performance of
parallel applications. As a result, hybrid MPI and OpenMP
programming is a common paradigm in HPC. Memory access
anomalies such as data races are a severe issue in parallel
programming. Data race detection has been studied for years,
and different static and dynamic analysis techniques have
been presented. This work will not try and propose
fundamentally new analysis techniques but will show how
high-level abstraction of MPI and OpenMP can be mapped to
the low-level abstraction of analysis tools without impact
on the analysis’s soundness. This work develops and
presents analysis workflows to identify memory access
anomalies in hybrid, multi-paradigm parallel applications.
This work collects parallel variants of memory access
anomalies known from sequential programming and identifies
specific patterns for distributed and shared memory
programming. This work identifies the high-level
synchronization, concurrency, and memory access semantics
implicitly and explicitly defined by the parallel
programming paradigms’ specifications to provide a mapping
to the analysis abstraction. As part of these high-level
concurrency concepts, we can identify several sources of
concurrency within a thread. This work compares two
techniques to handle this high-level concurrency for data
race analysis and finds that a combined approach works best
in the general case. The evaluation shows that this work’s
analysis workflow provides a high precision while enabling
increased recall for concurrency within a thread.},
cin = {123010 / 120000},
ddc = {004},
cid = {$I:(DE-82)123010_20140620$ / $I:(DE-82)120000_20140620$},
typ = {PUB:(DE-HGF)11 / PUB:(DE-HGF)3},
doi = {10.18154/RWTH-2021-07909},
url = {https://publications.rwth-aachen.de/record/824881},
}