Detecting the First Race in OpenMP Program with Nested Parallelism


The KIPS Transactions:PartA, Vol. 8, No. 3, pp. 253-260, Sep. 2001
10.3745/KIPSTA.2001.8.3.253,   PDF Download:

Abstract

It is important to detect races for debugging shared-memoy parallel programs, because the races cause unintended nondeterministic program execution. Previous on-the-fly techniques to detect races can not guarantee the first race detection in nested parallel programs. Detecting the first race is important for debugging parallel programs, since the removal of the first race may make the next occurred races disappear. In this paper, we presents an on-the-fly detection technique to detect all of the first races through the reexecution of the debugged programs. We assume that the debugged parallel program may have one-way nested parallel programs. The number of reexecution is at the least the nesting depth of the program in the worst case. The space complexity is O(VT) and the time complexity to detect race in each access of access history is O(T), where V is the number of shared variables and T is the maximum parallelism of the program. This efficiency of our technique in each execution is the same with the previous on-the-fly detection techniques. Therefore, this technique makes debugging parallel programs more effective and practical.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
B. G. Chon, J. J. Woo, Y. K. Jun, "Detecting the First Race in OpenMP Program with Nested Parallelism," The KIPS Transactions:PartA, vol. 8, no. 3, pp. 253-260, 2001. DOI: 10.3745/KIPSTA.2001.8.3.253.

[ACM Style]
Byoung Gyu Chon, Jong Jung Woo, and Yong Kee Jun. 2001. Detecting the First Race in OpenMP Program with Nested Parallelism. The KIPS Transactions:PartA, 8, 3, (2001), 253-260. DOI: 10.3745/KIPSTA.2001.8.3.253.