| R. H. B. Netzer and B. P. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, 1992. |
....thus exhibit a datarace with access T21:d.f. Statement T01 does not cause a datarace with the others in the example because there exists an ordering via start at T04 and T05, not satisfying the fourth of the conditions. Our definition of dataraces identifies both actual and feasible dataraces [20] in a given program execution. This is different from We associate only one memory location with all elements of a given array. Under certain memory models, two read accessesmay also generate a datarace. The framework presented in this paper can be easily applied to such models by dropping ....
....to multithreaded forkjoin programs [1, 8] However, those results are not applicable to the object based concurrency models present in multithreaded object oriented programming languages such as Java. Netzer and Miller categorize dynamic dataraces into actual, apparent, and feasible dataraces [20]. Assuming T10:this and T20:q in Figure 2 point to different synchronization objects, T11 and T21 are both an actual and a feasible datarace if T20 occurs before T13. They are, however, only a feasible datarace if T13 occurs before T20, which introduces a happened before relation from T11 to T21. ....
R. H. Netzer and B. P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, Mar. 1992.
....multitasking systems give rise to classes of errors that are not visible in sequential systems. Kranzlmuller summarizes in [18, s4.2.3;p87] that deadlocks and livelocks are common classes of errors in these systems. In addition, also problems related to race conditions in the system are possible [34, 38]. Thane [56] also states that interleaving related errors, and precedence violations are possible. Finally, in real time systems, also timing errors are possible. We will in this section explain the above mentioned errors. The motivation for this chapter is to provide a well motivated ....
....o# line to determine which message that will be received first by the consumer Cons 1 . Therefore, no assumption regarding the message ordering can be made in the consumer node in this case. The situation is normally referred to as a message race. Netzer and Miller describes race conditions in [38], see also Netzer [34] where they search for race conditions in prefixes [34, s3.3.1;p21] of a particular execution. A prefix P # to an execution P has the same input as P , and the initial part of the ordered sequence of events in P # does not diverge from that of P in other aspect than that it ....
Robert Netzer and Barton Miller. What are Race Conditions? - Some Issues and Formalizations. ACM Letters on Programming Languages and Systems, 1(1):74 -- 88, March 1992.
....and explain its relationship to nondeterminacy. Definition 2.4.1 Data Race A data race occurs when two operations in concurrent threads, at least one of which is a write, access the same memory location, and there is no guaranteed execution ordering between the accesses. Data races [8, 20, 32, 64, 69] have been given many different names including access anomalies[80] and race conditions[31, 46] We prefer the term data races. As an example of a data race, consider the following code. 24 We cannot determine which value of variable a is printed before running the code segment be cause of a ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74-88, March 1992.
....accesses to shared variables. We can define a race condition as the process that leads to an indeterminate value, whenever two or more threads are allowed to simultaneously access a shared variable [11] Such race conditions are called data races , as described in many different research papers [12, 3, 13]. Since race conditions may occur on different levels of synchronization, from mutual exclusion to weaker synchronization such as Post Wait, an additional group of synchronization races is often described. While data races are mostly the result of improper synchronization, synchronization races ....
Netzer, R.H.B., Miller, B.P., What are Race Conditions? - Some Issues and Formalizations, ACM Letters on Programming Languages and Systems, Vol. 1, No. 1, pp. 74-88 (March 1992).
....to detect than other programming errors (bugs) The problem of deciding whether a program source code contains potential race conditions in one of its execution paths is intractable. The general problem of detecting race conditions in the trace of a specific execution path is known to be NP hard [16]. Thus, no efficient tool is available that will detect the existence of potential data races in the source code of a parallel program. A more practical, execution driven approach was taken in recent works [19, 20, 21] The idea is to detect only those race conditions, called actual data races, ....
....race detection, we detect only race conditions that actually occur during a current execution, and not those which may have occured under a different scheduling of events. When convenient, and to distinguish them from other types of races, we sometimes adopt the Netzer and Miller terminology [16] which calls such race conditions actual data races. The proposed distributed protocol assumes a sequentially consistent memory model (SC) with per variable sharing capabilities 1 . Although we do not assume any specific implementation, the protocol does rely on the (per variable) ....
[Article contains additional citation context not shown here]
R. H. B. Netzer and B. P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, Mar. 1992.
....synchronized. Since this lack of synchronization can lead to programs that behave unpredictably, it is important to be able to detect and report these conditions. The race detection literature has used a variety of terms to describe race conditions, but this thesis follows Netzer and Miller [48, 51]. 5.2.1 Types of Race Conditions Netzer and Miller [50, 51] recognized two fundamentally different types of races. Data races are failures in nondeterministic programs, and occur when critical 66 Source Code: FOR i = 2,3 A(i) A(i 1) END = Process 1: lock(L) A(2) A(1) unlock(L) Process ....
....lead to programs that behave unpredictably, it is important to be able to detect and report these conditions. The race detection literature has used a variety of terms to describe race conditions, but this thesis follows Netzer and Miller [48, 51] 5.2. 1 Types of Race Conditions Netzer and Miller [50, 51] recognized two fundamentally different types of races. Data races are failures in nondeterministic programs, and occur when critical 66 Source Code: FOR i = 2,3 A(i) A(i 1) END = Process 1: lock(L) A(2) A(1) unlock(L) Process 2: lock(L) A(3) A(2) unlock(L) Figure 5.1: Example of a ....
Robert H. B. Netzer and Barton P. Miller. What are Race Conditions? Some Issues and Formalizations. ACM Letters on Programming Languages and Systems, 1:74--88, March 1992. 120
....temporal dimension resulting from concurrency. This temporal dimension makes it significantly harder to debug current programs than sequential programs, since they contain both sequential errors and additional concurrent errors. Additional sources of error include deadlock [MR91] race conditions [NM92], and non determinism [MH89] which are unknown in the sequential domain. Each kind of concurrent error is discussed below: ffl deadlock: occurs when two or more tasks form a dependency cycle of holding resources and waiting for those same resources. ffl race condition: occurs when access to ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1:74--88, March 1992.
....as All Sets, permits. For example, the data race free program in Figure 5 2 can be verified by All Sets to be data race free, but Brelly will detect an umbrella discipline violation. Most dynamic race detectors, like All Sets and Brelly, attempt to find, in the terminology of Netzer and Miller [81], apparent data races those that appear to occur in a computation according to the parallel control constructs rather than feasible data races those that can actually occur during program execution. The distinction arises, because operations in critical sections may affect program control ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....Thus, although the umbrella discipline is more flexible than Eraser s discipline, it is more restrictive than what a general data race detection algorithm, such as ALL SETS, permits. Most dynamic race detectors, like ALL SETS and BRELLY, attempt to find, in the terminology of Netzer and Miller [28], apparent data races those that appear to occur in a computation according to the parallel control constructs rather than feasible data races those that can actually occur during program execution. The distinction arises, because operations in critical sections may affect program control ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....these mismatches are typically unintended race conditions during the execution of the program. Netzer [68] however, has shown that finding all feasible races in a program is NP hard. The detection of a weaker category of race conditions is, however, sometimes tractable. Apparent race conditions [69] are those detected in an execution that is permitted by the synchronization in the algorithm. In other words, data dependences are ignored in de CHAPTER 2. ISSUES IN THE DESIGN OF THE ACE LANGUAGE 35 termining the possible control flow. For example, a programmer may have semantic information ....
....about a program that states that a statement B will always execute after another statement A and not concurrently with A. In determining apparent race conditions, however, one would assume that B and A could execute concurrently unless explicit synchronization prevented them from doing so [69]. The set of apparent race conditions is a superset of the set of feasible races since some of the executions in the apparent case may not be realizable. The use of protocols to implement on the fly, apparent race detection schemes has been studied extensively by Richards in his dissertation [77] ....
R. Netzer and B. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, Mar. 1992.
.... Nondeterminator to detect determinacy races in Cilk programs. Determinacy races have been given many different names in the literature. For example, they are sometimes called access anomalies [7] data races [12] race conditions [19] or harmful shared memory accesses [16] Netzer and Miller [15] clarify different types of races and define a general race or determinacy race to be a race that causes a supposedly deterministic program to behave deterministically. They also define a data race or atomicity race to be a race in a nondeterministic program involving nonatomic accesses to ....
....shared reads, and shared writes) is given, along with the average overhead of the Nondeterminator for each action and the fraction of accesses that hit the Nondeterminator s software cache. Bernstein [3] identifies determinacy races as a cause of nondeterministic behavior. Netzer and Miller [15] present a formal model for understanding race conditions in parallel programs, distinguishing determinacy races from atomicity races. They reference several algorithms for atomicity race detection, but we do not discuss this type of race detection here. Static analysis of parallel programs to ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....the Nondeterminator to detect determinacy races in Cilk programs. Determinacy races have been given many different names in the literature. For example, they are sometimes called access anomalies [7] data races [12] race conditions [19] or harmful sharedmemoryaccesses [16] Netzer and Miller [15] clarify different types of races and define a general race or determinacy race to be a race that causes a supposedly deterministic program to behave nondeterministically. They also define a data race or atomicity race to be a race in a nondeterministic program involving nonatomic accessesto ....
....of detecting determinacy races in parallel programs. A comparison of the asymptotic time and space requirements of the Nondeterminator with work in the literature was presented in Figure 6. Bernstein [3] identifies determinacy races as a cause of nondeterministic behavior. Netzer and Miller [15] present a formal model for understanding race conditions in parallel programs, distinguishing determinacy races from atomicity races. They reference several algorithms for atomicity race detection, but we do not discuss this type of race detection here. Static analysis of parallel programs to ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....The race detection functionality was implemented on the second layer of the MPI subset. The primitives involved in the race detection algorithm are MPISend, MPIRecv, MPISsend MPIProbe MPIIprobe. MPIIsend and MPIIrecv also have potential nondeterminism due to a class of race known as data races [NM92b] but this is a different genus of races and is not considered in this algorithm. Race detection and deterministic replay facilities will be included to support PDT. The strategy will be to incorporate deterministic trace and replay into our communication platform. Trace files are generated by the ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? some issues and formalizations. ACM Letters on Programming Languages and Systems, 1:74--88, March 1992.
....sequences is MBP and MBV sequences, which generalize Dijkstra s P and V operations on semaphores. Programs that exhibit data races are considered bad practice since they add to the inherent uncertainty of concurrent programs. There has been a wide study of methods to detect and report data races [6, 11, 16, 15, 24, 26, 27]. It is reasonable to assume that generalized data race free programs account for a substantial portion of all concurrent programs. Another useful concurrent programming technique is to protect accesses to shared data inside critical sections. A critical section is a piece of code that only one ....
....the sequence is consistent with the control order. 4 Running Generalized Data Race Free Programs The notion of data race free programs is usually defined for memory models where the memory operations can be classified into synchronization (or strong) operations and data (or weak) operations [2, 3, 4, 19, 20, 26, 27]. Data operations are similar to reads and writes in alpha consistency. Synchronization operations, on the other hand, enforce a global ordering among themselves and on the ordering of data operations with respect to synchronization operations by the same processor. A sequence of operations is ....
R. Netzer and B. Miller. What are Race Conditions? Some Issues and Formalizations. ACM Letters on Programming Languages and Systems, 1(1), March 1992.
....not internally determinate, Emrath and Padua say it is externally determinate. A nondeterminate program is called associatively nondeterminate if the nondeterminate output is due only to lack of associativity of floating point operations, or completely nondeterminate otherwise. Netzer and Miller [35] use a formal model of program behavior based on Lamport s theory of concurrent systems [27] to define nondeterminism. They are specifically concerned with defining race conditions. They define a general race to occur in a program when two conflicting memory accesses are not forced to occur in a ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
No context found.
R. H. B. Netzer and B. P. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, 1992.
No context found.
R. Netzer and B. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74-88, Mar. 1992.
....possible inputs. Instead they check for data races that exist in all possible schedulings of the computation generated by the serial execution of a multithreaded program on a given input. Furthermore, like most race detectors, the algorithms attempt to find, in the terminology of Netzer and Miller [21], apparent data races those that appear to occur in a computation according to the parallel control constructs rather than feasible data races those that can actually occur during program execution. The distinction arises because operations in critical sections may affect program control ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....attributes of races: the affect on control flow, the severity, and the feasibility. 2 Events and Races Informally, an execution of a program contains a race if the result of some computational step depends upon the scheduling of the individual threads of execution 2 . Netzer and Miller [NM92] developed a formal model of races that served as a starting point for our development. Their model includes two orthogonal attributes of races: with attributes general and data on one axis and feasible, apparent, and actual on the other axis. They define a data race as a pair of conflicting ....
....(x=0) then y: 0; y: 1 end end The event x: 1; test x; y: 0; can only happen if variable x is set to zero concurrently. Thus if these are the only assignments to x, then the event x: 1; test x; y: 0; must occur concurrently with the event x: 0; y: 1; in the other thread. Netzer and Miller s [NM92] data race is equivalent to the union of both our concurrent races and general races. Specifically they use data race to describe any race where the events do overlap in some execution. Our classification is more specific (i.e. it separates their data 6 4. Other attributes of races There ....
[Article contains additional citation context not shown here]
Robert H.B. Netzer and Barton P. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, pages 74--88, March 1992.
....possible inputs. Instead they check for data races that exist in all possible schedulings of the computation generated by the serial execution of a multithreaded program on a given input. Furthermore, like most race detectors, the algorithms attempt to find, in the terminology of Netzer and Miller [21], apparent data races those that appear to occur in a computation according to the parallel control constructs rather than feasible data races those that can actually occur during program execution. The distinction arises because operations in critical sections may affect program control ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....available for debugging beyond Cilk assert. Segregating the nondeterministic from the deterministic part of your program, however, should greatly narrow your debugging focus. 2.8. 2 Using the Nondeterminator The Nondeterminator is a debugging tool to help users detect and locate determinacy races [13, 24] in their Cilk programs. A determinacy race is a cause of nondeterminism, and it arises when two parallel threads access (read or write) the same shared memory location, and at least one of the accesses modifies the contents of the location. Assuming that the serial execution of a Cilk program is ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
....available for debugging beyond Cilk assert. Segregating the nondeterministic from the deterministic part of your program, however, should greatly narrow your debugging focus. 2.8. 2 Using the Nondeterminator The Nondeterminator is a debugging tool to help users detect and locate determinacy races [12, 23] in their Cilk programs. A determinacy race is a cause of nonde 8 Of course, the Cilk compiler and runtime system contain no bugs. int x; cilk int main( F cilk void foo( x = 0; e 0 spawn foo( F 1 int tmp; e 1 spawn foo( F 2 tmp = x 1; e 2 x = ....
Robert H. B. Netzer and Barton P. Miller. What are race conditions? ACM Letters on Programming Languages and Systems, 1(1):74--88, March 1992.
No context found.
R. H. B. Netzer and Miller B. P. What Are Race Conditions? Some Issues and Formalizations. ACM Letters on Programming Languages and Systems, 1(1):74 -- 88, March 1992. 24
No context found.
R. H. Netzer and B. P. Miller. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1(1):74--88, 1992.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC