This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Quorum-Based Group Mutual Exclusion Algorithm for a Distributed System with Dynamic Group Set
October 2007 (vol. 18 no. 10)
pp. 1345-1360
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 surrogate-quorum. 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 low message complexity of O(q) and low (amortized) bit-message complexity of O(b q r), where q is the maximum size of a quorum, b is the maximum number of processes from which a node can receive critical section requests, and r is the maximum size of a request, while maintaining both synchronization delay and waiting time at two message hops. As opposed to some existing quorum-based algorithms, our algorithm can adapt without performance penalties to dynamic changes in the set of groups. Our simulation results indicate that our algorithm outperforms the existing quorum-based algorithms for group mutual exclusion by as much as 45% in some cases.

[1] R. Atreya and N. Mittal, “A Dynamic Group Mutual Exclusion Algorithm Using Surrogate-Quorums,” Proc. IEEE Int'l Conf. Distributed Computing Systems (ICDCS '05), pp. 251-260, June 2005.
[2] E.W. Dijkstra, “Solution of a Problem in Concurrent Programming Control,” Comm. ACM, vol. 8, no. 9, p. 569, 1965.
[3] L. Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System,” Comm. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[4] G. Ricart and A.K. Agrawala, “An Optimal Algorithm for Mutual Exclusion in Computer Networks,” Comm. ACM, vol. 24, no. 1, pp.9-17, Jan. 1981.
[5] I. Suzuki and T. Kasami, “A Distributed Mutual Exclusion Algorithm,” ACM Trans. Computer Systems, vol. 3, no. 4, pp. 344-349, 1985.
[6] K. Raymond, “A Tree Based Algorithm for Distributed Mutual Exclusion,” ACM Trans. Computer Systems, vol. 7, no. 1, pp. 61-77, 1989.
[7] M.J. Fischer, N.A. Lynch, J.E. Burns, and A. Borodin, “Resource Allocation with Immunity to Limited Process Failure (Preliminary Report),” Proc. 20th Ann. Symp. Foundations of Computer Science (FOCS '79), pp. 234-254, Oct. 1979.
[8] E.W. Dijkstra, “Hierarchical Ordering of Sequential Processes,” Acta Informatica, vol. 1, no. 2, pp. 115-138, Oct. 1971.
[9] K.M. Chandy and J. Misra, “The Drinking Philosophers Problem,” ACM Trans. Programming Languages and Systems, vol. 6, no. 4, pp.632-646, 1984.
[10] K.M. Chandy and J. Misra, Parallel Program Design: A Foundation. Addison-Wesley, 1988.
[11] Y.-J. Joung, “Asynchronous Group Mutual Exclusion,” Distributed Computing, vol. 13, no. 4, pp. 189-206, 2000.
[12] Y.-J. Joung, “Quorum-Based Algorithms for Group Mutual Exclusion,” IEEE Trans. Parallel and Distributed Systems, vol. 14, no. 5, pp. 463-475, May 2003.
[13] M. Toyomura, S. Kamei, and H. Kakugawa, “A Quorum-Based Distributed Algorithm for Group Mutual Exclusion,” Proc. Fourth Int'l Conf. Parallel and Distributed Computing, Applications and Technologies (PDCAT '03), pp. 742-746, Aug. 2003.
[14] P. Keane and M. Moir, “A Simple Local-Spin Group Mutual Exclusion Algorithm,” Proc. 18th ACM Symp. Principles of Distributed Computing (PODC '99), pp. 23-32, 1999.
[15] V. Hadzilacos, “A Note on Group Mutual Exclusion,” Proc. 20th ACM Symp. Principles of Distributed Computing (PODC '01), Aug. 2001.
[16] K. Vidyasankar, “Brief Announcement: A Highly Concurrent Group Mutual L-Exclusion Algorithm,” Proc. 21st ACM Symp. Principles of Distributed Computing (PODC '02), p. 130, July 2002.
[17] K. Vidyasankar, “A Simple Group Mutual L-Exclusion Algorithm,” Information Processing Letters, vol. 85, no. 2, pp. 79-85, 2003.
[18] K.-P. Wu and Y.-J. Joung, “Asynchronous Group Mutual Exclusion in Ring Networks,” IEE Proc.—Computers and Digital Techniques, vol. 147, no. 1, pp. 1-8, 2000.
[19] S. Cantarell, A.K. Datta, F. Petit, and V. Villain, “Group Mutual Ex-clusion in Token Rings,” Computer J., vol. 48, no. 2, pp. 239-252, 2005.
[20] J. Beauquier, S. Cantarell, A.K. Datta, and F. Petit, “Group Mutual Exclusion in Tree Networks,” J. Information Science and Eng., vol. 19, no. 3, pp. 415-432, May 2003.
[21] Y.-J. Joung, “The Congenial Talking Philosophers Problem in Computer Networks,” Distributed Computing, pp. 155-175, 2002.
[22] M. Maekawa, “A $\sqrt{N}$ Algorithm for Mutual Exclusion in Decentralized Systems,” ACM Trans. Computer Systems, vol. 3, no. 2, pp. 145-159, May 1985.
[23] Y. Manabe and J. Park, “A Quorum-Based Extended Group Mutual Exclusion Algorithm without Unnecessary Blocking,” Proc. 10th Int'l Conf. Parallel and Distributed Systems (ICPADS '04), pp. 341-348, 2004.
[24] F. Mattern, “Global Quiescence Detection Based on Credit Distribution and Recovery,” Information Processing Letters, vol. 30, no. 4, pp. 195-200, 1989.

Index Terms:
message-passing system, resource management, mutual exclusion, group mutual exclusion,, quorumbased algorithm
Citation:
Ranganath Atreya, Neeraj Mittal, Sathya Peri, "A Quorum-Based Group Mutual Exclusion Algorithm for a Distributed System with Dynamic Group Set," IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 10, pp. 1345-1360, Oct. 2007, doi:10.1109/TPDS.2007.1072
Usage of this product signifies your acceptance of the Terms of Use.