Dynamic Data Race Detection for Structured Parallelism

dc.contributor.advisorSarkar, Vivek
dc.contributor.committeeMemberMellor-Crummey, John
dc.contributor.committeeMemberZhong, Lin
dc.creatorRaman, Raghavan
dc.date.accessioned2013-07-24T19:44:42Z
dc.date.accessioned2013-07-24T19:44:45Z
dc.date.available2013-07-24T19:44:42Z
dc.date.available2013-07-24T19:44:45Z
dc.date.created2012-12
dc.date.issued2013-07-24
dc.date.submittedDecember 2012
dc.date.updated2013-07-24T19:44:45Z
dc.description.abstractWith the advent of multicore processors and an increased emphasis on parallel computing, parallel programming has become a fundamental requirement for achieving available performance. Parallel programming is inherently hard because, to reason about the correctness of a parallel program, programmers have to consider large numbers of interleavings of statements in different threads in the program. Though structured parallelism imposes some restrictions on the programmer, it is an attractive approach because it provides useful guarantees such as deadlock-freedom. However, data races remain a challenging source of bugs in parallel programs. Data races may occur only in few of the possible schedules of a parallel program, thereby making them extremely hard to detect, reproduce, and correct. In the past, dynamic data race detection algorithms have suffered from at least one of the following limitations: some algorithms have a worst-case linear space and time overhead, some algorithms are dependent on a specific scheduling technique, some algorithms generate false positives and false negatives, some have no empirical evaluation as yet, and some require sequential execution of the parallel program. In this thesis, we introduce dynamic data race detection algorithms for structured parallel programs that overcome past limitations. We present a race detection algorithm called ESP-bags that requires the input program to be executed sequentially and another algorithm called SPD3 that can execute the program in parallel. While the ESP-bags algorithm addresses all the above mentioned limitations except sequential execution, the SPD3 algorithm addresses the issue of sequential execution by scaling well across highly parallel shared memory multiprocessors. Our algorithms incur constant space overhead per memory location and time overhead that is independent of the number of processors on which the programs execute. Our race detection algorithms support a rich set of parallel constructs (including async, finish, isolated, and future) that are found in languages such as HJ, X10, and Cilk. Our algorithms for async, finish, and future are precise and sound for a given input. In the presence of isolated, our algorithms are precise but not sound. Our experiments show that our algorithms (for async, finish, and isolated) perform well in practice, incurring an average slowdown of under 3x over the original execution time on a suite of 15 benchmarks. SPD3 is the first practical dynamic race detection algorithm for async-finish parallel programs that can execute the input program in parallel and use constant space per memory location. This takes us closer to our goal of building dynamic data race detectors that can be "always-on" when developing parallel applications.
dc.format.mimetypeapplication/pdf
dc.identifier.citationRaman, Raghavan. "Dynamic Data Race Detection for Structured Parallelism." (2013) Diss., Rice University. <a href="https://hdl.handle.net/1911/71681">https://hdl.handle.net/1911/71681</a>.
dc.identifier.slug123456789/ETD-2012-12-260
dc.identifier.urihttps://hdl.handle.net/1911/71681
dc.language.isoeng
dc.rightsCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
dc.subjectStructured parallelism
dc.subjectData races
dc.subjectProgram analysis
dc.titleDynamic Data Race Detection for Structured Parallelism
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
RAMAN-THESIS.pdf
Size:
2.05 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.61 KB
Format:
Item-specific license agreed upon to submission
Description: