Results 1 - 10
of
31
Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors
- ACM Transactions on Computer Systems
, 1991
"... Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-memory parallel programs. Unfortunately, typical implementations of busy-waiting tend to produce large amounts of memory and interconnect contention, introducing performance bottlenecks that become marke ..."
Abstract
-
Cited by 433 (29 self)
- Add to MetaCart
Busy-wait techniques are heavily used for mutual exclusion and barrier synchronization in shared-memory parallel programs. Unfortunately, typical implementations of busy-waiting tend to produce large amounts of memory and interconnect contention, introducing performance bottlenecks that become markedly more pronounced as applications scale. We argue that this problem is not fundamental, and that one can in fact construct busy-wait synchronization algorithms that induce no memory or interconnect contention. The key to these algorithms is for every processor to spin on separate locally-accessible ag variables, and for some other processor to terminate the spin with a single remote write operation at an appropriate time. Flag variables may be locally-accessible as a result of coherent caching, or by virtue of allocation in the local portion of physically distributed shared memory. We present a new scalable algorithm for spin locks that generates O(1) remote references per lock acquisition, independent of the number of processors attempting to acquire the lock. Our algorithm provides reasonable latency in the absence of contention, requires only a constant amount of space per lock, and requires no hardware support other than
RAMBO: A Reconfigurable Atomic Memory Service for Dynamic Networks
- In DISC
, 2002
"... This paper presents an algorithm that emulates atomic read/write shared objects in a dynamic network setting. To ensure availability and fault-tolerance, the objects are replicated. To ensure atomicity, reads and writes are performed using quorum configurations, each of which consists of a set of me ..."
Abstract
-
Cited by 85 (11 self)
- Add to MetaCart
This paper presents an algorithm that emulates atomic read/write shared objects in a dynamic network setting. To ensure availability and fault-tolerance, the objects are replicated. To ensure atomicity, reads and writes are performed using quorum configurations, each of which consists of a set of members plus sets of read-quorums and write-quorums. The algorithm is reconfigurable: the quorum configurations may change during computation, and such changes do not cause violations of atomicity. Any quorum configuration may be installed at any time. The algorithm tolerates processor stopping failure and message loss. The algorithm performs three major tasks, all concurrently: reading and writing objects, introducing new configurations, and "garbage-collecting" obsolete configurations.
The Information Structure of Indulgent Consensus
- IEEE Transactions on Computers
, 2004
"... Abstract—To solve consensus, distributed systems have to be equipped with oracles such as a failure detector, a leader capability, or a random number generator. For each oracle, various consensus algorithms have been devised. Some of these algorithms are indulgent toward their oracle in the sense th ..."
Abstract
-
Cited by 37 (17 self)
- Add to MetaCart
Abstract—To solve consensus, distributed systems have to be equipped with oracles such as a failure detector, a leader capability, or a random number generator. For each oracle, various consensus algorithms have been devised. Some of these algorithms are indulgent toward their oracle in the sense that they never violate consensus safety, no matter how the underlying oracle behaves. This paper presents a simple and generic indulgent consensus algorithm that can be instantiated with any specific oracle and be as efficient as any ad hoc consensus algorithm initially devised with that oracle in mind. The key to combining genericity and efficiency is to factor out the information structure of indulgent consensus executions within a new distributed abstraction, which we call “Lambda.” Interestingly, identifying this information structure also promotes a fine-grained study of the inherent complexity of indulgent consensus. We show that instantiations of our generic algorithm with specific oracles, or combinations of them, match lower bounds on oracle-efficiency, zero-degradation, and one-step-decision. We show, however, that no leader or failure detector-based consensus algorithm can be, at the same time, zero-degrading and configuration-efficient. Moreover, we show that leader-based consensus algorithms that are oracle-efficient are inherently zero-degrading, but some failure detector-based consensus algorithms can be both oracle-efficient and configuration-efficient. These results highlight some of the fundamental trade offs underlying each oracle.
Scalable and Dynamic Quorum Systems
, 2003
"... We investigate issues related to the probe complexity of quorum systems and their implementation in a dynamic environment. Our contribution is twofold. The first regards the algorithmic complexity of finding a quorum in case of random failures. We show a tradeoff between the load of a quorum syste ..."
Abstract
-
Cited by 29 (2 self)
- Add to MetaCart
We investigate issues related to the probe complexity of quorum systems and their implementation in a dynamic environment. Our contribution is twofold. The first regards the algorithmic complexity of finding a quorum in case of random failures. We show a tradeoff between the load of a quorum system and its probe complexity for non adaptive algorithms. We analyze the algorithmic probe complexity of the Paths quorum system suggested by Naor and Wool in [18], and present two optimal algorithms. The first is a non adaptive algorithm that matches our lower bound. The second is an adaptive algorithm with a probe complexity that is linear in the minimum between the size of the smallest quorum set and the load of the system. We supply a constant degree network in which these algorithms could be executed efficiently. Thus the Paths quorum system is shown to have good balance between many measures of quality. Our second contribution is presenting Dynamic Paths - a suggestion for a dynamic and scalable quorum system, which can operate in an environment where elements join and leave the system. The quorum system could be viewed as a dynamic adaptation of the Paths system, and therefore has low load high availability and good probe complexity. We show that it scales gracefully as the number of elements grows.
Graceful quorum reconfiguration in a robust emulation of shared memory
- In Proceedings of the International Conference on Distributed Computer Systems
, 2000
"... ..."
A Distributed K-Mutual Exclusion Algorithm
- In Proceedings of the 15th International Conference on Distributed Computing Systems
, 1994
"... This report presents a token-based K-mutual exclusion algorithm. The algorithm uses K tokens and a dynamic forest structure for each token. This structure is used to forward token requests. The algorithm is designed to minimize the number of messages and also the delay in entering the critical se ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
This report presents a token-based K-mutual exclusion algorithm. The algorithm uses K tokens and a dynamic forest structure for each token. This structure is used to forward token requests. The algorithm is designed to minimize the number of messages and also the delay in entering the critical section, at low as well as high loads.
A Survey of Distributed Mutual Exclusion Algorithms
, 1993
"... INTRODUCTION. Over the last decade distributed computing systems have attracted a great deal of attention. This is due, in part, to the technological advances in the design of sophisticated software and communication interfaces, the availability of low-cost processors and the rapid decline in hardwa ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
INTRODUCTION. Over the last decade distributed computing systems have attracted a great deal of attention. This is due, in part, to the technological advances in the design of sophisticated software and communication interfaces, the availability of low-cost processors and the rapid decline in hardware costs. The motivations for building distributed computing systems are many. Resource sharing, parallel processing, system availability and communication are four major reasons. By distributing a computation among various sites, processes are allowed to run concurrently and to share resources, but still work independently of each other. Many distributed computations involving the sharing of resources among various processes require that a resource be allocated to a single process at a time. Therefore, mutual exclusion is a fundamental problem in any distributed computing system. This problem must be solved to synchronize the access to shared resources in order to maintain their consist
Lock Based Self-Stabilizing Distributed Mutual Exclusion Algorithms
- 16th International Conference on Distributed Computing Systems
, 1996
"... In 1974, Dijkstra introduced the notion of self-stabilization and presented a token circulation distributed mutual exclusion (DMX) protocol as the first self-stabilizing algorithm. Since then, many variations of self-stabilizing DMX algorithms have been presented. Most, if not all, of these algorith ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
In 1974, Dijkstra introduced the notion of self-stabilization and presented a token circulation distributed mutual exclusion (DMX) protocol as the first self-stabilizing algorithm. Since then, many variations of self-stabilizing DMX algorithms have been presented. Most, if not all, of these algorithms impose stronger assumptions on their execution environments than those provided by common distributed systems. Independently, non self-stabilizing DMX algorithms have been studied extensively in the last 15 years. This paper presents two self-stabilizing DMX algorithms that are based on existing non self-stabilizing DMX algorithms: one is based on a link-locking algorithm and another is on a node-locking algorithm. Our algorithms assume execution environments that are close to those provided by common distributed systems. Furthermore, they provide better synchronization delays than token circulation self-stabilizing DMX algorithms. We have implemented our algorithms and tested them with v...
A Fault-tolerant Algorithm for Decentralized On-line Quorum Adaptation
- In Proceedings of the 28th International Symposium on Fault-Tolerant Computing (FTCS 98
, 1998
"... A quorum-based distributed mutual exclusion protocol requires each processor in a distributed system to obtain permission from a quorum of processors before accessing a resource that cannot be concurrently shared. To prevent failed quorum members from blocking access to the resource, it is desirable ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
A quorum-based distributed mutual exclusion protocol requires each processor in a distributed system to obtain permission from a quorum of processors before accessing a resource that cannot be concurrently shared. To prevent failed quorum members from blocking access to the resource, it is desirable to remove failed processors from quorums when failures are detected. This work addresses the problem of adapting quorums on-line, while a quorum-based mutual exclusion protocol continues to operate. To preserve the quorum intersection property that is required for mutual exclusion safety, it is necessary to coordinate changes made to the quorum data structures of different processors. A solution is given in the form of QADAPT, a decentralized algorithm that guarantees safe adaptation of quorums when processors fail. QADAPT enables any set of quorum adaptations that do not violate the quorum intersection property, and enables any set of faulty processors to be removed from quorums. QADAPT ha...
A fair distributed mutual exclusion algorithm
- IEEE Transactions on Parallel and Distributed Systems
, 2000
"... AbstractÐThis paper presents a fair decentralized mutual exclusion algorithm for distributed systems in which processes communicate by asynchronous message passing. The algorithm requires betweenN 1 and 2…N 1 † messages per critical section access, where N is the number of processes in the system. T ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
AbstractÐThis paper presents a fair decentralized mutual exclusion algorithm for distributed systems in which processes communicate by asynchronous message passing. The algorithm requires betweenN 1 and 2…N 1 † messages per critical section access, where N is the number of processes in the system. The exact message complexity can be expressed as a deterministic function of concurrency in the computation. The algorithm does not introduce any other overheads over Lamport's and Ricart-Agrawala's algorithms, which require 3…N 1 † and 2…N 1 † messages, respectively, per critical section access and are the only other decentralized algorithms that allow mutual exclusion access in the order of the timestamps of requests. Index TermsÐAlgorithm, concurrency, distributed system, fairness, mutual exclusion, synchronization. 1

