Results 1  10
of
33
Mutual Exclusion in Asynchronous Systems with Failure Detectors
 J. Parallel Distrib. Comput
, 2002
"... This paper defines the faulttolerant mutual exclusion problem in a messagepassing 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 20 (4 self)
 Add to MetaCart
(Show Context)
This paper defines the faulttolerant mutual exclusion problem in a messagepassing 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 faulttolerant group mutual exclusion problem.
A Dynamic Group Mutual Exclusion Algorithm using SurrogateQuorums
 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 12 (2 self)
 Add to MetaCart
(Show Context)
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 quorumbased 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 quorumbased algorithms, our algorithm has high maximum concurrency of n, where n is the number of processes in the system. The existing quorumbased 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 quorumbased algorithms for group mutual exclusion by as much as 50 % in some cases. 1.
Concurrent Data Structures
, 2001
"... The proliferation of commercial sharedmemory multiprocessor machines has brought about significant changes in the art of concurrent programming. Given current trends towards lowcost chip multithreading (CMT), such machines are bound to become ever more widespread. Sharedmemory multiprocessors are ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
The proliferation of commercial sharedmemory multiprocessor machines has brought about significant changes in the art of concurrent programming. Given current trends towards lowcost chip multithreading (CMT), such machines are bound to become ever more widespread. Sharedmemory multiprocessors are systems that concurrently execute multiple threads of computation which communicate and synchronize through data structures in shared memory. The efficiency of these data structures is crucial to performance, yet designing effective data structures for multiprocessor machines is an art currently mastered by few. By most accounts, concurrent data structures are far more difficult to design than sequential ones because threads executing concurrently may interleave their steps in many ways, each with a different and potentially unexpected outcome. This requires designers to modify the way they think about computation, to understand new design methodologies, and to adopt a new collection of programming tools. Furthermore, new challenges arise in designing scalable concurrent data structures that continue to perform well as machines that execute more and more concurrent threads become available. This chapter provides an overview of the challenges involved in designing concurrent data structures, and a summary of relevant work
An Ω(n log n) Lower Bound on the Cost of Mutual Exclusion
, 2006
"... We prove an Ω(n log n) lower bound on the number of nonbusywaiting memory accesses by any deterministic algorithm solving n process mutual exclusion that communicates via shared registers. The cost of the algorithm is measured in the state change cost model, a variation of the cache coherent model. ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
We prove an Ω(n log n) lower bound on the number of nonbusywaiting memory accesses by any deterministic algorithm solving n process mutual exclusion that communicates via shared registers. The cost of the algorithm is measured in the state change cost model, a variation of the cache coherent model. Our bound is tight in this model. We introduce a novel information theoretic proof technique. We first establish a lower bound on the information needed by processes to solve mutual exclusion. Then we relate the amount of information processes can acquire through shared memory accesses to the cost they incur. We believe our proof technique is flexible and intuitive, and may be applied to a variety of other problems and system models.
A QuorumBased Group Mutual Exclusion Algorithm for a Distributed System with Dynamic Group Set
, 2005
"... The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type (or a group) with each critical section. In this problem, processes requesting critical sections of the same type can execute their critical sections concurrently. However, processes requesting ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
The group mutual exclusion problem extends the traditional mutual exclusion problem by associating a type (or a group) 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. We present 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 quorumbased 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, similar to existing quorumbased algorithms, our algorithm has high maximum concurrency of n, where n is the number of processes in the system. As opposed to some existing quorumbased algorithms, our algorithm can adapt without performance penalties to dynamic changes in the set of groups. Our simulation results indicate that our
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 7 (0 self)
 Add to MetaCart
(Show Context)
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 contextswitch 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.
A group mutual exclusion algorithm for ad hoc mobile networks
 in Proceedings of the 6th International Conference on Computer Science and Information, 2002
"... In this paper, we propose a token based algorithm to solve the group mutual exclusion (GME) problem for ad hoc mobile networks. The proposed algorithm is adapted from the RL algorithm in [WWV98] and utilizes the concept of weight throwing in [Tse95]. We prove that the proposed algorithm satisfies th ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this paper, we propose a token based algorithm to solve the group mutual exclusion (GME) problem for ad hoc mobile networks. The proposed algorithm is adapted from the RL algorithm in [WWV98] and utilizes the concept of weight throwing in [Tse95]. We prove that the proposed algorithm satisfies the mutual exclusion, the bounded delay, and the concurrent entering properties. The proposed algorithm is sensitive to link forming and link breaking and thus is suitable for ad hoc mobile networks.
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

Cited by 4 (1 self)
 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 fetchandadd 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 fetchandadd operation. In addition, we present experimental results comparing room synchronizations with the KeaneMoir algorithm for group mutual exclusion.