scispace - formally typeset
Journal ArticleDOI

Distributed FIFO allocation of identical resources using small shared space

TLDR
In this paper, the authors present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes that communicate via shared memory, simulating a shared queue but using exponentially fewer shared memory values, resulting in practical savings of time and space as well as program complexity.
Abstract
We present a simple and efficient algorithm for the FIFO allocation of k identical resources among asynchronous processes that communicate via shared memory. The algorithm simulates a shared queue but uses exponentially fewer shared memory values, resulting in practical savings of time and space as well as program complexity. The algorithm is robust against process failure through unannounced stopping, making it attractive also for use in an environment of processes of widely differing speeds. In addition to its practical advantages, we show that for fixed k, the shared space complexity of the algorithm as a function of the number N of processes is optimal to within a constant factor.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book

Distributed algorithms

Nancy Lynch
TL;DR: This book familiarizes readers with important problems, algorithms, and impossibility results in the area, and teaches readers how to reason carefully about distributed algorithms-to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.
Proceedings ArticleDOI

Atomic shared register access by asynchronous hardware

TL;DR: This paper describes two ways to construct multivalued atomic n-writer n-reader registers and applies the method to prove atomicity of the two implementations for atomic multiwriter multireader registers.
Patent

Cooperative lock override procedure

TL;DR: In this paper, the authors propose a cooperative lock override procedure for managing a shared resource in a data processing system, where the detecting processor confirms that the failing processor is the lockholder and passes the lock to the next requestor in the queue.
Patent

Queued locking of a shared resource using multimodal lock types

TL;DR: A lock for managing shared resources in a data processing system enables a requesting processor, in a signal atomic transaction, to validate the main lock data structure, request a lock, take the lock and establish a lock mode if successful, or establish its place in a queue of requesters for subsequent locks on the shared resource if unsuccessful.
Proceedings ArticleDOI

A hundred impossibility proofs for distributed computing

TL;DR: Although it is often hard to say what constitutes ad different results, the author managed to count over 100 such impossibility proofs and found that it's not quite as hopeless to understand this area as it might seem from the number of papers.
References
More filters
Journal ArticleDOI

Solution of a problem in concurrent programming control

TL;DR: A number of mainly independent sequential-cyclic processes with restricted means of communication with each other can be made in such a way that at any moment one and only one of them is engaged in the “critical section” of its cycle.
Journal ArticleDOI

A new solution of Dijkstra's concurrent programming problem

TL;DR: A simple solution to the mutual exclusion problem is presented which allows the system to continue to operate despite the failure of any individual component.
Journal ArticleDOI

The mutual exclusion problem: part I—a theory of interprocess communication

Leslie Lamport
- 01 Apr 1986 - 
TL;DR: A novel formal theory of concurrent systems that does not assume any atomic operations is introduced and the mutual exclusion is expressed precisely in terms of this model.
Journal ArticleDOI

The mutual exclusion problem: partII—statement and solutions

Leslie Lamport
- 01 Apr 1986 - 
TL;DR: The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements, and four “distributed” N-process solutions are given.