Results 1  10
of
33
Sharedmemory mutual exclusion: Major research trends since
 Distributed Computing
, 1986
"... * Exclusion: At most one process executes its critical section at any time. ..."
Abstract

Cited by 60 (6 self)
 Add to MetaCart
(Show Context)
* Exclusion: At most one process executes its critical section at any time.
A Simple LocalSpin 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 ..."
Abstract

Cited by 35 (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 readerswriters 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 NonUniform Memory Access (NUMA) systems, an...
Asynchronous Group Mutual Exclusion (Extended Abstract)
 IN PROCEEDINGS OF THE 17TH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING (PDOC
, 1998
"... Mutual exclusion and concurrency are two fundamental and essentially opposite features in distributed systems. However, in some applications such as computer supported cooperative works (CSCW) we have found it necessary to impose mutual exclusion on different groups of processes in accessing a resou ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
Mutual exclusion and concurrency are two fundamental and essentially opposite features in distributed systems. However, in some applications such as computer supported cooperative works (CSCW) we have found it necessary to impose mutual exclusion on different groups of processes in accessing a resource, while allowing processes of the same group to share the resource. To our knowledge, no such design issue has been raised in the literature. Our contributions are to present a new problem, which we refer to as the Congenial Talking Philosophers, to model the design issue for concurrency while mutual exclusion. We also propose several criteria to evaluate solutions of the problem and to measure their performance. Finally, we provide an efficient and highly concurrent distributed algorithm for the problem in a sharedmemory model where processes communicate ...
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 18 (3 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 14 (4 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.
efficient distributed group mutual exclusion algorithm for nonuniform 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 9 (2 self)
 Add to MetaCart
(Show Context)
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 messagepassing system, resource management, group mutual exclusion, tokenbased algorithm, nonuniform group access 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
(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.
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 (2 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.
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 adhoc systems: the Driving Philosophers. In this problem, an unbounded number of driving philosophers (processes) access a roundabout (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
(Show Context)
We introduce a new synchronization problem in mobile adhoc systems: the Driving Philosophers. In this problem, an unbounded number of driving philosophers (processes) access a roundabout (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 adhoc 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 adhoc network model with limitedrange communication.