Results 1 -
7 of
7
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 "replace-add" 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 pr ..."
Abstract
-
Cited by 84 (2 self)
- Add to MetaCart
In this paper we implement several basic operating system primitives by using a "replace-add" 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 replace-add that permits multiple replace-adds to be processed nearly as efficiently as loads and stores. Moreover, the crucial special case of concurrent replace-adds updating the same variable is handled particularly well: If every PE simultaneously addresses a replace-add at the same variable, all these requests are satisfied in the time required to process just one request.
The Mutual Exclusion Problem - Part II: Statement and Solutions
, 2000
"... The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements. Four "distributed " N-process solutions are given, ranging from a solution requiring only one communication bit per process that permits individual starvat ..."
Abstract
-
Cited by 53 (3 self)
- Add to MetaCart
The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements. Four "distributed " N-process solutions are given, ranging from a solution requiring only one communication bit per process that permits individual starvation, to one requiring about N ! communication bits per process that satisfies every reasonable fairness and failure-tolerance requirement that we can conceive of. Contents 1 Introduction 3 2 The Problem 4 2.1 Basic Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Fairness Requirements . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Premature Termination . . . . . . . . . . . . . . . . . . . . . 8 2.4 Failure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 The Solutions 14 3.1 The Mutual Exclusion Protocol . . . . . . . . . . . . . . . . . 15 3.2 The One-Bit Solution . . . . . . . . . . . . . . . . . . . . . . 17 3.3 A Digression . . . . . . . . . . . ...
The Mutual Exclusion Problem - Part I: A Theory of Interprocess Communication
, 2000
"... A novel formal theory of concurrent systems is introduced that does not assume any atomic operations. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: "precedence" and "can causally a#ect". A primitive interprocess comm ..."
Abstract
-
Cited by 45 (4 self)
- Add to MetaCart
A novel formal theory of concurrent systems is introduced that does not assume any atomic operations. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: "precedence" and "can causally a#ect". A primitive interprocess communication mechanism is then defined. In Part II, the mutual exclusion is expressed precisely in terms of this model, and solutions using the communication mechanism are given. Contents 1 Introduction 2 2 The Model 2 2.1 Physical Considerations . . . . . . . . . . . . . . . . . . . . . 3 2.2 System Executions . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Higher-Level Views . . . . . . . . . . . . . . . . . . . . . . . . 7 3 Interprocess Communication 9 4 Processes 14 5 Multiple-Reader Variables 17 6 Discussion of the Assumptions 18 7 Conclusion 19 1 1 Introduction The mutual exclusion problem was first described and solved by Dijkstra in [3]. In this problem, there is a collection...
Shared-memory mutual exclusion: Major research trends since
- Distributed Computing
, 1986
"... * Exclusion: At most one process executes its critical section at any time. ..."
Abstract
-
Cited by 38 (7 self)
- Add to MetaCart
* Exclusion: At most one process executes its critical section at any time.
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 32 (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.
Distributed FIFO Allocation of Identical Resources Using Small Shared Space
- ACM Transactions on Programming Languages and Systems
, 1989
"... Devices]: Modes of Computation -parallelism General Terms: Algorithms, Performance, Reliability, Theory Additional Key Words and Phrases: Asynchronous system, distributed computing,' FIFO, lower bound, queue, resource allocation, shared memory, space complexity This work was supported in part by ..."
Abstract
-
Cited by 28 (2 self)
- Add to MetaCart
Devices]: Modes of Computation -parallelism General Terms: Algorithms, Performance, Reliability, Theory Additional Key Words and Phrases: Asynchronous system, distributed computing,' FIFO, lower bound, queue, resource allocation, shared memory, space complexity This work was supported in part by the Office of Naval Research under contract N00014-82-K0154; by the U.S. Army Research Office under contract DAAG29-79-C-0155; and by the National Science Foundation under grants MCS77-02474, MCS77-15628, MCS78-01689, MCS-8116678, and DCR-8405478. N. A. Lynch's work was supported by NSF grant CCR-8611442, DARPA N00014-83K -0125, and ONR N00014-85-K-0168.
A New Solution to Lamport's Concurrent Programming . . .
, 1983
"... A new solution to the concurrent programming control (mutual exclusion) problem that is immune to process failures and restarts is presented. The algorithm uses just four values of shared memory per process, which is within one value of the known lower bound. The algorithm is implemented using two b ..."
Abstract
- Add to MetaCart
A new solution to the concurrent programming control (mutual exclusion) problem that is immune to process failures and restarts is presented. The algorithm uses just four values of shared memory per process, which is within one value of the known lower bound. The algorithm is implemented using two binary variables that make it immune to read errors occurring during writes, that is, "flickering bits."

