Results 1 
8 of
8
Basic Techniques for the Efficient Coordination of Very Large Numbers of Cooperating Sequential Processors
, 1981
"... In this paper we implement several basic operating system primitives by using a "replaceadd" operation, which can supersede the standard "test and set", and which appears to be a universal primitive for efficiently coordinating large numbers of independently acting sequential pr ..."
Abstract

Cited by 89 (2 self)
 Add to MetaCart
In this paper we implement several basic operating system primitives by using a "replaceadd" operation, which can supersede the standard "test and set", and which appears to be a universal primitive for efficiently coordinating large numbers of independently acting sequential processors. We also present a hardware implementation of replaceadd that permits multiple replaceadds to be processed nearly as efficiently as loads and stores. Moreover, the crucial special case of concurrent replaceadds updating the same variable is handled particularly well: If every PE simultaneously addresses a replaceadd at the same variable, all these requests are satisfied in the time required to process just one request.
Termination of probabilistic concurrent programs
 ACM Transactions on Programming Languages and Systems
, 1983
"... The asynchronous execution behavior of several concurrent processes, which may use randomization, is studied. Viewing each process as a discrete Markov chain over the set of common execution states, we give necessary and sufficient conditions for the processes to converge almost surely to a given se ..."
Abstract

Cited by 54 (2 self)
 Add to MetaCart
The asynchronous execution behavior of several concurrent processes, which may use randomization, is studied. Viewing each process as a discrete Markov chain over the set of common execution states, we give necessary and sufficient conditions for the processes to converge almost surely to a given set of goal states, under any fair, but otherwise arbitrary schedule, provided that the state space is finite. (These conditions can be checked mechanically.) An interesting feature of the proof method is that it depends only on the topology of the transitions and not on the actual values of the probabilities. We also show that in our model synchronization protocols that use randomization are in certain cases no more powerful
On Describing the Behavior and Implementation of Distributed Systems
, 1981
"... A simple, basic and general model for describing both the (inputoutput) behavior and the implementation of distributed systems is presented. An important feature of the model is the separation of the machinery used to describe the implementation and the behavior. This feature makes the model potent ..."
Abstract

Cited by 48 (14 self)
 Add to MetaCart
A simple, basic and general model for describing both the (inputoutput) behavior and the implementation of distributed systems is presented. An important feature of the model is the separation of the machinery used to describe the implementation and the behavior. This feature makes the model potentially useful for design specification of systems and of subsystems.
Resource Allocation With Immunity To Limited Process Failure
, 1979
"... Upper and lower bounds are proved for the shared space requirements for solution of several problems involving resource allocation among asynchronous processes. Controlling the degradation of performance when a limited number of processes fail is of particular interest. ..."
Abstract

Cited by 33 (7 self)
 Add to MetaCart
Upper and lower bounds are proved for the shared space requirements for solution of several problems involving resource allocation among asynchronous processes. Controlling the degradation of performance when a limited number of processes fail is of particular interest.
Bounded Fairness
 Verification: Theory and Practice
, 1993
"... Bounded fairness, a stronger notion than the usual fairness based on eventuality, can be used, for example, to relate the frequency of shared resource access of a particular process with regard to other processes that access the resource with mutual exclusion. We formalize bounded fairness byintrod ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
Bounded fairness, a stronger notion than the usual fairness based on eventuality, can be used, for example, to relate the frequency of shared resource access of a particular process with regard to other processes that access the resource with mutual exclusion. We formalize bounded fairness byintroducing a new binary operator into temporal logic. One main di#erence between this logic and explicittime logics, one whichwe consider to be an advantage in many cases, is that time does not appear explicitly as a parameter. The syntax and semantics for this new logic,kTL,aregiven. This logic is shown to be more powerful than temporal logic with the eventualityoperator and as powerful as the logic with the until operator. We argue that kTL can be used to specify bounded fairness requirements in a more natural manner than is possible with until; in particular, we show properties that can be expressed more succinctly in kTL. We also give a procedure for testing satis#abilityofkTL formulas. A...
A Technique For Decomposing Algorithms Which Use a Single Shared Variable
, 1980
"... A general theorem is proved which shows how a system of contending asynchronous processes with a special auxiliary supervisor process can be Simulated by a system of contending processes without such a supervisor, with only a small increase in the shared space needed for communication. Two applicati ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
A general theorem is proved which shows how a system of contending asynchronous processes with a special auxiliary supervisor process can be Simulated by a system of contending processes without such a supervisor, with only a small increase in the shared space needed for communication. Two applications are presented, synchronization algorithms with different fairness properties requiring N + c and I 1 + c (c a constant) shared values to synchronize N processes, respectively.
Termination of Probabilistic Programs Concurrent
"... The asynchronous execution behavior of several concurrent processes, which may use randomization, is studied. Viewing each process as a discrete Markov chain over the set of common execution states, necessary and sufficient conditions are given for the processes to converge almost surely to a given ..."
Abstract
 Add to MetaCart
The asynchronous execution behavior of several concurrent processes, which may use randomization, is studied. Viewing each process as a discrete Markov chain over the set of common execution states, necessary and sufficient conditions are given for the processes to converge almost surely to a given set of goal states under any fair, but otherwise arbitrary, schedule, provided that the state space is finite. (These conditions can be checked mechanically.) An interesting feature of the proof method is that it depends only on the topology of the transitions and not on the actual values of the probabilities. It is also shown that in this model synchronization protocols that use randomization are in certain cases no more powerful than deterministic protocols. This is demonstrated by (1) establishing lower bounds, similar to those known for deterministic protocols, on the size of a shared variable necessary to ensure mutual exclusion and lockoutfree behavior of a "randomized " protocol and (2) showing that no fully symmetric "randomized " protocol can ensure mutual exclusion and freedom from lockout.
Mutual Exclusion Using Invisible Reads and Writes
 In Proceedings of the 18th Annual Allerton Conference on Communication, Control, and Computing
, 1980
"... The shared space (the number of distinct values taken on by the set of shared variables) requirements of Dijkstra's original mutual exclusion problem are examined. It is shown that 2 shared states are necessary and sufficient to solve the problem of deadlockfree mutual exclusion for N processe ..."
Abstract
 Add to MetaCart
The shared space (the number of distinct values taken on by the set of shared variables) requirements of Dijkstra's original mutual exclusion problem are examined. It is shown that 2 shared states are necessary and sufficient to solve the problem of deadlockfree mutual exclusion for N processes using only individual reads and writes of shared variables for communication.