Mutual inclusion in asynchronous message-passing distributed systems
Introduction
This study considers a problem called distributed mutual inclusion, which is complementary to the distributed mutual exclusion problem. Informally, in the mutual inclusion problem (abbreviated to mutin problem), at least one process is in the critical section (abbreviated to CS), whereas at most one process is in the CS in the mutual exclusion problem (abbreviated to mutex problem). To the best of the author’s knowledge, [10] is the only previous study of the mutin problem. In [10], a solution was proposed for only two processes with semaphores. The present study formalizes a generalized problem setting and two distributed solutions are proposed based on an asynchronous message-passing model.
After the first study [10] of mutual inclusion was published, the problem of mutual inclusion was ignored by the research community. This was mainly because there were no known practical applications of mutual inclusion. However, the applications of mutual inclusion now include the effective maintenance of clustering in sensor networks and the replacement of servers in server/client systems.
The main motivation for studying the distributed mutin problem is the theoretical formulation of handover for cluster heads in sensor networks. A cluster head process (node) often changes its role to become an ordinary process (and vice versa) while maintaining a clustering condition to equalize the energy consumption between processes. Suppose that a cluster head process is in the CS and that an ordinary process is in the non-CS. Mutual inclusion then maintains a clustering condition dynamically, i.e., each process is a cluster head or at least one of its neighbor is a cluster head. The handover problem for cluster heads is formulated as a process synchronization problem in the present study.
In this study, generalized settings for the mutin problem are proposed, i.e., the -mutin problem, where at least processes are in the CS. Local and global settings are also proposed for the 1-mutin problem. In the local -mutin problem on network , for each , at least processes among and its neighbors are in the CS. The global -mutin problem is a special case of the local -mutin problem when is complete. As a first step, distributed solutions are proposed for the local and global 1-mutin problems. For the local mutin problem, a solution with message complexity is proposed, where is the maximum degree (number of neighboring processes) of a network. For the global mutin problem, a solution with message complexity is proposed, where is the maximum size of the quorum of a coterie used by the algorithm, which is typically , and is the number of processes in a network.
The remainder of this paper is organized as follows. Section 2 provides several definitions and problem statements. Section 3 reviews related research and presents some observations on the relationships between the mutin and mutex problems. Section 4 provides a solution to the local 1-mutin problem. Section 5 gives a solution to the global 1-mutin problem. In Section 6, the relationship between the 1-mutin problem and the dominating set is discussed. Section 7 comprises a summary of this study and suggestions for future research.
Section snippets
Preliminary
Let be a graph, where is a set of processes and is a set of bidirectional communication links between a pair of processes. We assume that if and only if . Each communication link is FIFO. We consider that is a distributed system. The number of processes in is denoted by . A set of neighbors of is denoted by , where . We assume that the distributed system is asynchronous, i.e., there is no global clock. A
Related work
The mutin problem was proposed in [10], which is the only previous study to address this problem. A closely related process synchronization problem is the mutex problem, which has been studied extensively. In this section, we first observe the relationship between the global mutin and global mutex problems, before reviewing previous studies of the mutex problem.
Solution to the Local Mutin Problem (LMUTIN Algorithm)
In this section, we propose a solution to the 1-local mutin problem.
Solution to the Global Mutin Problem (GMUTIN Algorithm)
In this section, we propose a solution to the global 1-mutin problem, which incorporates an existing distributed mutex algorithm with safety (one of the processes at most is in the CS) and liveness (a requesting process eventually enters the CS). The aim of the proposed algorithm is to reduce the message complexity. In addition to the mutex algorithm the proposed algorithm uses a coterie [9] for information exchange between processes.
Definition 2 A coterie under a set is a set of subsets of , i.e., Coterie [9]
Discussion
In this section, we discuss the relationship between 1-mutin and the dominating set in graph theory.
Definition 3 A set is a dominating set of a graph if and only if: (1) , and (2) for any , exists such that . A dominating set of is minimal if and only if no proper subset of is a dominating set of . □
We show that the proposed LMUTIN algorithm can compute a minimal dominating set.
Observation 6 Let be a network and is a local 1-mutin algorithm on . Start the execution of
Conclusion
In this study, we proposed two distributed solutions for the local and global mutin problems, which work on an arbitrary network and a complete network, respectively, in an asynchronous message-passing model. The message complexity of the proposed solution to the local (respectively, global) mutin problem is (resp. ), where is the maximum degree of the processes and is the maximum size of the quorum.
In future research, it will be necessary to develop an algorithm with lower
Acknowledgment
This research was supported partly by a Grant-in-Aid for Scientific Research ((B) 24500039) from JSPS.
Hirotsugu Kakugawa received the B.E. degree in Engineering in 1990 from Yamaguchi University, and the M.E. and D.E. degrees in Information Engineering in 1992, 1995 respectively from Hiroshima University. He is currently an Associate Professor of Osaka University. He is a member of the IEEE Computer Society and the Information Processing Society of Japan.
References (34)
- et al.
A generalized grid quorum strategy for -mutual exclusion in distributed systems
Inform. Process. Lett.
(2001) - et al.
An algorithm for -mutual exclusion in decentralized systems
Comput. Commun.
(2008) An implementation of mutual inclusion
Inform. Process. Lett.
(1986)- et al.
A distributed -mutual exclusion algorithm using -coterie
Inform. Process. Lett.
(1994) - et al.
A simple scheme to construct -coteries with uniform quorum sizes
Inform. Process. Lett.
(1996) - et al.
-arbiter: A safe and general scheme for -out of- mutual exclusion
Theoret. Comput. Sci.
(1998) Properties of nondominated -coteries
J. Syst. Softw.
(1997)- et al.
Nondominated -coteries for multiple mutual exclusion
Inform. Process. Lett.
(1994) A distributed algorithm for multiple entries to a critical section
Inform. Process. Lett.
(1989)- et al.
A survey of permission-based distributed mutual exclusion algorithms
Comput. Stand. Interfaces
(2003)
Another distributed algorithm for multiple entries to a critical section
Inform. Process. Lett.
An distributed algorithm for the -out of- resources allocation problem
A distributed -mutual exclusion algorithm
The drinking philosophers problem
ACM Trans. Program. Lang. Syst.
An extended binary tree quorum strategy for -mutual exclusion in distributed systems
Distributed -mutual exclusion problem and -coteries
Cited by (0)
Hirotsugu Kakugawa received the B.E. degree in Engineering in 1990 from Yamaguchi University, and the M.E. and D.E. degrees in Information Engineering in 1992, 1995 respectively from Hiroshima University. He is currently an Associate Professor of Osaka University. He is a member of the IEEE Computer Society and the Information Processing Society of Japan.