Race-condition detection in parallel computation with semaphores (extended abstract)
We address a problem arising in debugging parallel programs, detecting race conditions in programs using semaphores for synchronization. It is NP-complete to detect race conditions in programs that use polynomial number of semaphores . We show in this paper that it remains NP-complete even if the programs are allowed to use only two semaphores, which settles the open question raised in . The proof uses a technique that simulates a graph with any number of semaphores by a graph with only two semaphores.
For the case of single semaphore, Lu et al.  give the previously only-known polynomial-time algorithm that runs in time O(n1.5p), where p is the number of processors and n is the total number of semaphore operations executed. Their algorithm, however, detects only a special class of race conditions. In this paper we cope with the general race-condition detection problem and give an O(np log n) -time algorithm.The output of our algorithm is a compact representation of size Θ(np), from which one can determine in constant time whether a race condition exists between two given operations. Our algorithm is near-optimal in that the time it takes is only O(log n) times the time required simply to write down the output.
KeywordsOptimal Schedule Parallel Program Priority Queue Race Condition Minimum Height
Unable to display preview. Download preview PDF.
- Abdel-Wahab, H. M., “Scheduling with Application to Register Allocation and Deadlock Problems”, U. of Waterloo, PhD Thesis, 1976.Google Scholar
- Abdel-Wahab, H.M. & Kameda, T., “Scheduling to Minimize Maximum Cumulative Cost Subject to Series-parallel Precedence Constraints”, Operations Research 26 (1978), 141–158.Google Scholar
- Abdel-Wahab, H. M. & Kameda, T., “On Strictly Optimal Schedules for the Cumulative Cost-Optimal Scheduling Problem”, Computing 24 (1980), 61–86.Google Scholar
- Emrath, P. A., Ghosh, S. & Padua, D. A., “Event Synchronization Analysis for Debugging Parallel Programs”, Supercomputing '89 (1989), 580–588.Google Scholar
- Garey, M. R. & Johnson, D. S., “Computers and Intractability—A Guide to the Theory of NP-Completeness”, 1979.Google Scholar
- Helmbold, D. P. & McDowell, C. E., “A Class of Synchronization Operations that Permit Efficient Race Detection”, U. of California at Santa Cruz Technical Report (1993).Google Scholar
- Helmbold, D. P., McDowell, C. E. & Wang, J-Z., “Analyzing Traces with Anonymous Synchronization”, Int. Conf. on Parallel Processing (August 1990), II70-II77.Google Scholar
- Lu, H-I., Klein, P. N. & Netzer, R. H. B., “Detecting Race Conditions in Parallel Programs that Use One Semaphore”, Workshop on Algorithms and Data Structures 3 (1993), 471–482.Google Scholar
- Netzer, R. H. B. & Ghosh, S., “Efficient Race Condition Detection for Shared-Memory Programs with Post/Wait Synchronization”, Int. Conf. on Parallel Processing (1992), II242–II246.Google Scholar
- Netzer, R. H. B. & Miller, B. P., “On the Complexity of Event Ordering for Shared-Memory Parallel Program Executions”, Int. Conf. on Parallel Processing (1990), II93–II97.Google Scholar