Static and Dynamic Data Race Detection for OpenMP Programs on GCC and LLVM
Date Issued
2010
Date
2010
Author(s)
Chang, Jia-Zon
Abstract
Multicore processors have become mainstream. Therefore, to exploit sil- icon resource effectively, multithreaded programming is critical. In addi- tion to the traditional POSIX threads API, other multithreaded APIs such as OpenMP have been proposed. OpenMP provide an interface that is easy to use, highly reliable, and portable. However, the effective exploitation of re- sources by multithreaded programming comes with cost. For instance, data races result in incorrect execution sometimes and are expensive to be elim- inated. We present a novel data race detection tool to address this cost of multithreaded programming.
Specifically, we develop a plugin for GCC compiler to analyze the OpenMP constructs from the source and compile the OpenMP program. The results from the static analysis can be used to reduce the necessary instrumentation later. Next, we utilize the LLVM compiler infrastructure to observe and ana- lyze the runtime behaviors for further data race detection.
Subjects
multithread
dynamic analysis
static analysis
Type
thesis
File(s)![Thumbnail Image]()
Loading...
Name
ntu-99-R97944011-1.pdf
Size
23.32 KB
Format
Adobe PDF
Checksum
(MD5):431866ec8dff76a8224d246c13dc27de
