원문정보
초록
영어
Detecting races is important for debugging shared-memory parallel programs, because the races result in unintended nondeterministic execution of the programs. Previous on-the-fly techniques to detect races in parallel programs with general inter-thread coordination show serious space overhead which is dependant on the maximum parallelism of the program. This paper presents a tool for space-efficient on-the-fly race detection. This employs a two-pass algorithm which splits a parallel loop with just one event variable into a series of two serializable loops, while preserving the semantics of the original program. The first serializable loop contains all the original dynamic blocks which are executed before the first wait operation in every thread. And, the next serializable loop contains all the original dynamic blocks which are executed after the first wait operation in every thread.
목차
1. Introduction
2. Background
3. The Loop Splitting Algorithm
4. The Sequential Race Detector
5. Conclusion
References