Detecting Data Races by Analyzing Sequential Traces
University of California, Santa Cruz, Computer Research Laboratory, 1990 - Debugging in computer science - 29 pages
In general, it is not possible to determine which of the consistent executions occurred. Therefore we introduce the notion of 'safe orderings' between events which are guaranteed to hold in every execution which is consistent with the trace. The main result of the paper is a series of algorithms which determine many of the 'safe orderings'. An algorithm is also presented to distinguish unordered sequential events from concurrent events. A working trace analyzer has been implemented. The trace analyzer can report various data races in parallel programs by finding unordered pairs of events and variable access conflicts."
What people are saying - Write a review
We haven't found any reviews in the usual places.
5th cycle additional safe ordering analysis anonymous synchronization canonical EHG changes are possible component-wise maximum concurrent events consistent execution counting semaphore critical regions current time vectors cycle bound debugging parallel programs Definition detecting data races determine e.cycle earliest cycle EHG consistent End Algorithm event ew event on semaphore events in tasks events performed eventtype given trace happen concurrently IBM Parallel Fortran IBM-event initial time vectors NP-complete occur ordered events pairs of events parallel event PEINIT post or wait post request postcount posts posts and waits precede processed program execution r(ep race conditions request processor rewinding procedure safe cycle number safe order relation safe ordering edges safe partial order second BW1 Section Seq2 sequential event pairs signal and wait signal event signal(Sl subroutines synchronization event Task B Task total ordering trace analyzer trace containing trace H trace records unordered events unordered sequential event vector computation wait event waitcount waits