Results 1 - 10
of
16
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.
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...
Mutual Exclusion in Asynchronous Systems with Failure Detectors
- J. Parallel Distrib. Comput
, 2002
"... This paper defines the fault-tolerant mutual exclusion problem in a message-passing asynchronous system and determines the weakest failure detector to solve the problem. This failure detector, which we call the trusting failure detector, and which we denote by , is strictly weaker than the pe ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
This paper defines the fault-tolerant mutual exclusion problem in a message-passing asynchronous system and determines the weakest failure detector to solve the problem. This failure detector, which we call the trusting failure detector, and which we denote by , is strictly weaker than the perfect failure detector but strictly stronger than the eventually perfect failure detector #P. The paper shows that a majority of correct processes is necessary to solve the problem with .Moreover,T is also the weakest failure detector to solve the fault-tolerant group mutual exclusion problem.
A Dynamic Group Mutual Exclusion Algorithm using Surrogate-Quorums
- in Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS
, 2005
"... The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type with each critical section. In this problem, processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting critical sect ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type with each critical section. In this problem, processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting critical sections of different types must execute their critical sections in a mutually exclusive manner. In this paper, we provide a distributed algorithm for solving the group mutual exclusion problem based on the notion of surrogatequorum. Intuitively, our algorithm uses the quorum that has been successfully locked by a request as a surrogate to service other compatible requests for the same type of critical section. Unlike the existing quorum-based algorithms for group mutual exclusion, our algorithm achieves a low message complexity of O(q), where q is the maximum size of a quorum, while maintaining both synchronization delay and waiting time at two message hops. Moreover, like the existing quorum-based algorithms, our algorithm has high maximum concurrency of n, where n is the number of processes in the system. The existing quorum-based algorithms assume that the number of groups is static and does not change during runtime. However, our algorithm can adapt without performance penalties to dynamic changes in the number of groups. Simulation results indicate that our algorithm outperforms the existing quorum-based algorithms for group mutual exclusion by as much as 50 % in some cases. 1.
Optimal Scheduling for Disconnected Cooperation
, 2001
"... We consider a distributed environment consisting of n processors that need to perform t tasks. We assume that communication is initially unavailable and that processors begin work in isolation. At some unknown point of time an unknown collection of processors may establish communication. Before proc ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
We consider a distributed environment consisting of n processors that need to perform t tasks. We assume that communication is initially unavailable and that processors begin work in isolation. At some unknown point of time an unknown collection of processors may establish communication. Before processors begin communication they execute tasks in the order given by their schedules. Our goal is to schedule work of isolated processors so that when communication is established for the rst time, the number of redundantly executed tasks is controlled. We quantify worst case redundancy as a function of processor advancements through their schedules. In this work we rene and simplify an extant deterministic construction for schedules with n t, and we develop a new analysis of its waste. The new analysis shows that for any pair of schedules, the number of redundant tasks can be controlled for the entire range of t tasks. Our new result is asymptotically optimal: the tails of these schedules are within a 1 +O(n 1 4 ) factor of the lower bound. We also present two new deterministic constructions one for t n, and the other for t n 3=2 , which substantially improve pairwise waste for all prexes of length t= p n, and oer near optimal waste for the tails of the schedules. Finally, we present bounds for waste of any collection of k 2 processors for both deterministic and randomized constructions. 1
Group Mutual Exclusion in Tree Networks
- Journal of Information Science and Engineering
, 2003
"... The group mutual exclusion (GME) problem deals with sharing a set of (m) mutually exclusive resources among all (n) processes of a network. Processes are allowed to be in a critical section simultaneously provided they request the same resource. We present three group mutual exclusion solutions for ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
The group mutual exclusion (GME) problem deals with sharing a set of (m) mutually exclusive resources among all (n) processes of a network. Processes are allowed to be in a critical section simultaneously provided they request the same resource. We present three group mutual exclusion solutions for tree networks. All three solutions do not use process identifiers and use bounded size messages. They achieve the best context-switch complexity, which is O(min(n, m)). The first solution uses a fixed root of the tree and uses 0 to O(n) messages per critical section entry. This solution supports an unbounded degree of concurrency, thus providing the maximum resource utilization. The second solution also uses a fixed root, but uses a reduced number of messages for the critical section entry. It generates an average of O(log n) messages per critical section entry and also allows an unbounded degree of concurrency. We remove the restriction of using a fixed root in the third solution in addition to maintaining all other desirable properties of the second solution.
efficient distributed group mutual exclusion algorithm for non-uniform group access
- In proceedings of the international
, 2005
"... In the group mutual exclusion problem, each critical section has a type or a group associated with it. Processes requesting critical sections of the same type may execute their critical sections concurrently. However, processes requesting critical sections of different types must execute their criti ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
In the group mutual exclusion problem, each critical section has a type or a group associated with it. Processes requesting critical sections of the same type may execute their critical sections concurrently. However, processes requesting critical sections of different types must execute their critical sections in a mutually exclusive manner. Most algorithms for group mutual exclusion that have been proposed so far implicitly assume that all groups are equally likely to be requested. In this paper, we propose an efficient algorithm for solving the problem when a relatively small number of groups are requested more frequently than others. Our algorithm has a message complexity of 2n − 1 per request for critical section, where n is the number of processes in the system. It has low synchronization delay of t and low waiting time of 2t, where t denotes the maximum message delay. The maximum concurrency of our algorithm is n, which implies that if all processes have requested critical sections of the same type, then all of them may execute their critical sections concurrently. Finally, the amortized message overhead of our algorithm is O(1). Our experimental results indicate that our algorithm outperforms the existing algorithms by as much as 50 % in some cases. KEY WORDS message-passing system, resource management, group mutual exclusion, token-based algorithm, non-uniform group access 1
The driving philosophers
- In Proceedings of the 3rd IFIP International Conference on Theoretical Computer Science (TCS
, 2004
"... We introduce a new synchronization problem in mobile ad-hoc systems: the Driving Philosophers. In this problem, an unbounded number of driving philosophers (processes) access a round-about (set of shared resources organized along a logical ring). The crux of the problem is to ensure, beside traditio ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We introduce a new synchronization problem in mobile ad-hoc systems: the Driving Philosophers. In this problem, an unbounded number of driving philosophers (processes) access a round-about (set of shared resources organized along a logical ring). The crux of the problem is to ensure, beside traditional mutual exclusion and starvation freedom at each particular resource, gridlock freedom (i.e., a cyclic waiting chain among processes). The problem captures explicitly the very notion of process mobility and the underlying model does not involve any assumption on the total number of (participating) processes or the use of shared memory, i.e., the model conveys the ad-hoc environment. We present a generic algorithm that solves the problem in a synchronous model. Instances of this algorithm can be fair but not concurrent, or concurrent but not fair. We derive the impossibility of achieving fairness and concurrency at the same time as well as the impossibility of solving the problem in an asynchronous model. We also conjecture the impossibility of solving the problem in an ad-hoc network model with limited-range communication.
A Delay-Optimal Group Mutual Exclusion Algorithm for a Tree Network
, 2006
"... The group mutual exclusion problem is an extension of the traditional mutual exclusion problem in which every critical section is associated with a type or a group. Processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The group mutual exclusion problem is an extension of the traditional mutual exclusion problem in which every critical section is associated with a type or a group. Processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting critical sections of different types must execute their critical sections in a mutually exclusive manner. We present an efficient distributed algorithm for solving the group mutual exclusion problem when processes are arranged in the form of a tree. Our algorithm is derived from Beauquier et al.’s group mutual exclusion algorithm for a tree network. The message complexity of our algorithm is at most 3hmax, wherehmax is the maximum height of the tree when rooted at any process. Its waiting time and synchronization delay, measured in terms of number of message hops, are at most 2hmax and hmax, respectively. Our algorithm has optimal synchronization delay for the class of tree network based algorithms for group mutual exclusion in which messages are only exchanged over the edges in the tree. Our simulation experiments indicate that our algorithm outperforms Beauquier et al.’s group mutual exclusion algorithm by as much as 70 % in some cases. Key words: distributed system, resource management, group mutual exclusion, tree network, optimal synchronization delay 1
Scalable Room Synchronizations
, 2003
"... This paper presents a scalable solution to the group mutual exclusion problem, with applications to linearizable stacks and queues, and related problems. Our solution allows entry and exit from the mutually exclusive regions in O(t r +#) time, where t r is the maximum time spent in a critical regio ..."
Abstract
- Add to MetaCart
This paper presents a scalable solution to the group mutual exclusion problem, with applications to linearizable stacks and queues, and related problems. Our solution allows entry and exit from the mutually exclusive regions in O(t r +#) time, where t r is the maximum time spent in a critical region by a user, and # is the maximum time taken by any instruction, including a fetch-and-add instruction. This bound holds regardless of the number of users. We describe how stacks and queues can be implemented using two regions, one for pushing (enqueueing) and one for popping (dequeueing). These implementations are particularly simple, are linearizable, and support access in time proportional to a fetch-and-add operation. In addition, we present experimental results comparing room synchronizations with the Keane--Moir algorithm for group mutual exclusion.

