Results 1 - 10
of
27
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.
Adaptive mutual exclusion with local spinning
- In Proceedings of the 14th International Symposium on Distributed Computing
, 2000
"... Abstract We present an adaptive algorithm for N-process mutual exclusion under read/write atomicity in which all busy waiting is by local spinning. In our algorithm, each process p performs O(k) remote memory references to enter and exit its critical section, where k is the maximum "point conte ..."
Abstract
-
Cited by 37 (12 self)
- Add to MetaCart
Abstract We present an adaptive algorithm for N-process mutual exclusion under read/write atomicity in which all busy waiting is by local spinning. In our algorithm, each process p performs O(k) remote memory references to enter and exit its critical section, where k is the maximum "point contention " experienced by p. The space complexity of our algorithm is \Theta (N), which is clearly optimal. Our algorithm is the first mutual exclusion algorithm under read/write atomicity that is adaptive when time complexity is measured by counting remote memory references. All previous so-called adaptive mutual exclusion algorithms employ busy-waiting loops that can generate an unbounded number of remote memory references. Thus, they have unbounded time complexity under this measure.
A Simple Local-Spin Group Mutual Exclusion Algorithm
- IN PROCEEDINGS OF THE 18TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING
, 1999
"... This paper presents a new solution to the group mutual exclusion problem, recently posed by Joung. In this problem, processes repeatedly request access to various "sessions". It is required that distinct processes are not in different sessions concurrently, that multiple processes may be in the sa ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
This paper presents a new solution to the group mutual exclusion problem, recently posed by Joung. In this problem, processes repeatedly request access to various "sessions". It is required that distinct processes are not in different sessions concurrently, that multiple processes may be in the same session concurrently, and that each process that tries to enter a session is eventually able to do so. This problem is a generalization of the mutual exclusion and readers-writers problems. Our algorithm and its correctness proof are substantially simpler than Joung's. This simplicity is achieved by building upon known solutions to the more specific mutual exclusion problem. Our algorithm also has various advantages over Joung's, depending on the choice of mutual exclusion algorithm used. These advantages include admitting a process to its session in constant time in the absence of contention, spinning locally in Cache Coherent (CC) and Non-Uniform Memory Access (NUMA) systems, an...
A time complexity bound for adaptive mutual exclusion
- In Proceedings of the 15th International Symposium on Distributed Computing
, 2001
"... ..."
Using Local-Spin k-Exclusion Algorithms to Improve Wait-Free Object Implementations
, 1997
"... We present the first shared-memory algorithms for k-exclusion in which all process blocking is achieved through the use of "local-spin" busy waiting. Such algorithms are designed to reduce interconnect traffic, which is important for good performance. Our k-exclusion algorithms are starvation-free, ..."
Abstract
-
Cited by 14 (7 self)
- Add to MetaCart
We present the first shared-memory algorithms for k-exclusion in which all process blocking is achieved through the use of "local-spin" busy waiting. Such algorithms are designed to reduce interconnect traffic, which is important for good performance. Our k-exclusion algorithms are starvation-free, and are designed to be fast in the absence of contention, and to exhibit scalable performance as contention rises. In contrast, all previous starvation-free k-exclusion algorithms require unrealistic operations or generate excessive interconnect traffic under contention. We also show that efficient, starvation-free k-exclusion algorithms can be used to reduce the time and space overhead associated with existing wait-free shared object implementations, while still providing some resilience to delays and failures. The resulting "hybrid" object implementations combine the advantages of local-spin spin locks, which perform well in the absence of process delays (caused, for example, by preemptio...
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
Nonatomic Mutual Exclusion with Local Spinning (Extended Abstract)
, 2002
"... We present an N-process local-spin mutual exclusion algorithm, based on nonatomic reads and writes, in which each process performs \Theta (log N) remote memory references to enter and exit its critical section. This algorithm is derived from Yang and Anderson's atomic tree-based local-spin algorit ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
We present an N-process local-spin mutual exclusion algorithm, based on nonatomic reads and writes, in which each process performs \Theta (log N) remote memory references to enter and exit its critical section. This algorithm is derived from Yang and Anderson's atomic tree-based local-spin algorithm in a way that preserves its time complexity. No atomic read/write algorithm with better asymptotic worst-case time complexity (under the remote-memory-references measure) is currently known. This suggests that atomic memory is not fundamentally required if one is interested in worst-case time complexity. The same cannot be said if one is interested in fast-path algorithms (in which contention-free time complexity is required to be O(1)) or adaptive algorithms (in which time complexity is required to be proportional to the number of contending processes). We show that such algorithms fundamentally require memory accesses to be atomic. In particular, we show that for any N-process nonatomic algorithm, there exists a single-process execution in which the lone competing process executes \Omega (log N / log log N) remote operations to enter its critical section. Moreover, these operations must access \Omega (plog N / log log N) distinct variables, which implies that fast and adaptive algorithms are impossible even if caching techniques are used to avoid accessing the processors-to-memory interconnection network.
A New Fast-Path Mechanism for Mutual Exclusion
- Distributed Computing
, 1999
"... In 1993, Yang and Anderson presented an N-process algorithm for mutual exclusion under read/write atomicity that has \Theta(log N) time complexity, where "time" is measured by counting remote memory references. In this algorithm, instances of a two-process mutual exclusion algorithm are embedded w ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
In 1993, Yang and Anderson presented an N-process algorithm for mutual exclusion under read/write atomicity that has \Theta(log N) time complexity, where "time" is measured by counting remote memory references. In this algorithm, instances of a two-process mutual exclusion algorithm are embedded within a binary arbitration tree. In the two-process algorithm that was used, all busy-waiting is done by "local spinning." Performance studies presented by Yang and Anderson showed that their N-process algorithm exhibits scalable performance under heavy contention. One drawback of using an arbitration tree, however, is that each process is required to perform \Theta(log N) remote memory operations even when there is no contention. To remedy this problem, Yang and Anderson presented a variant of their algorithm that includes a "fast-path" mechanism that allows the arbitration tree to be bypassed in the absence of contention. This algorithm has the desirable property that contention-fre...
Constant-RMR Implementations of CAS and Other Synchronization Primitives Using Read and Write Operations (Extended Abstract)
- PODC'07
, 2007
"... We consider asynchronous multiprocessors where processes communicate only by reading or writing shared memory. We show how to implement consensus, all comparison primitives (such as CAS and TAS), and load-linked/store-conditional using only a constant number of remote memory references (RMRs), in bo ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We consider asynchronous multiprocessors where processes communicate only by reading or writing shared memory. We show how to implement consensus, all comparison primitives (such as CAS and TAS), and load-linked/store-conditional using only a constant number of remote memory references (RMRs), in both the cache-coherent and the distributed-shared-memory models of such multiprocessors. Our implementations are blocking, rather than wait-free: they ensure progress provided all processes that invoke the implemented primitive are live. Our results imply that any algorithm using read and write operations, comparison primitives, and load-linked/storeconditional, can be simulated by an algorithm that uses read and write operations only, with at most a constant blowup in RMR complexity.
Local-spin Mutual Exclusion Using Fetch-and-φ Primitives
- In Proceedings of the 23rd IEEE International Conference on Distributed Computing Systems
, 2003
"... We present a generic fetch-and-φ-based local-spin mutual exclusion algorithm, with O(1) time complexity under the remote-memory-references time measure. This algorithm is "generic" in the sense that it can be implemented using any fetch-and-φ primitive of rank 2N , where N is the number of p ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
We present a generic fetch-and-φ-based local-spin mutual exclusion algorithm, with O(1) time complexity under the remote-memory-references time measure. This algorithm is "generic" in the sense that it can be implemented using any fetch-and-φ primitive of rank 2N , where N is the number of processes. The rank of a fetch-and-φ primitive is a notion introduced herein; informally, it expresses the extent to which processes may "order themselves" using that primitive. This algorithm breaks new ground because it shows that O(1) time complexity is possible using a wide range of primitives. In addition, previously published fetch-and-φ-based algorithms either use multiple primitives or require an underlying cache-coherence mechanism for spins to be local, while ours does not. By applying our generic algorithm within an arbitration tree, one can easily construct a Θ(log_r N) algorithm using any primitive of rank r, where 2 ≤ r < N . For primitives that meet a certain additional condition, we present a Θ(log N/log log N) algorithm, which gives an asymptotic improvement in time complexity for primitives of rank o(log N). It follows from a previously-presented lower bound proof that this algorithm is asymptotically time-optimal for certain primitives of constant rank.

