Mutual inclusion in asynchronous message-passing distributed systems

https://doi.org/10.1016/j.jpdc.2015.01.003Get rights and content

Highlights

  • The mutual inclusion problem is a problem such that at least one process is in critical section.

  • This paper proposes two distributed solutions in the asynchronous message passing model.

  • We discuss the relation between mutual inclusion and mutual exclusion.

Abstract

In the mutual inclusion problem, at least one process is in the critical section. However, only a solution for two processes with semaphores has been reported previously. In this study, a generalized problem setting is formalized and two distributed solutions are proposed based on an asynchronous message-passing model. In the local problem setting (the local mutual inclusion problem), for each process P, at least one of P and its neighbors must be in the critical section. For the local problem setting, a solution is proposed with O(Δ) message complexity, where Δ is the maximum degree (number of neighboring processes) of a network. In a global setting (the global mutual inclusion problem), at least one of the processes must be in the critical section. For the global problem setting, a solution is proposed with O(|Q|) message complexity, where |Q| is the maximum size for the quorum of a coterie used by the algorithm, which is typically |Q|=n, where n is the number of processes in a network.

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 G=(V,E), for each PiV, at least processes among Pi and its neighbors are in the CS. The global -mutin problem is a special case of the local -mutin problem when G=(V,E) 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 O(Δ) message complexity is proposed, where Δ is the maximum degree (number of neighboring processes) of a network. For the global mutin problem, a solution with O(|Q|) message complexity is proposed, where |Q| is the maximum size of the quorum of a coterie used by the algorithm, which is typically |Q|=n, and n 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 G=(V,E) be a graph, where V={P1,P2,,Pn} is a set of processes and EV×V is a set of bidirectional communication links between a pair of processes. We assume that (Pi,Pj)E if and only if (Pj,Pi)E. Each communication link is FIFO. We consider that G is a distributed system. The number of processes in G=(V,E) is denoted by n(=|V|). A set of neighbors of PiV is denoted by Ni, where Ni={Pj(Pi,Pj)E}. 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

Coterie  [9]

A coterie C under a set V is a set of subsets of V, i.e.,  C=

Discussion

In this section, we discuss the relationship between 1-mutin and the dominating set in graph theory.

Definition 3

A set D is a dominating set of a graph G=(V,E) if and only if: (1)  DV, and (2) for any PiVD, PjD exists such that (Pi,Pj)E. A dominating set D of G is minimal if and only if no proper subset of D is a dominating set of G.  

We show that the proposed LMUTIN algorithm can compute a minimal dominating set.

Observation 6

Let G=(V,E) be a network and A is a local 1-mutin algorithm on G . Start the execution of A

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 O(Δ) (resp. O(|Q|)), where Δ is the maximum degree of the processes and |Q| 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)

  • Pradip~K. Srimani et al.

    Another distributed algorithm for multiple entries to a critical section

    Inform. Process. Lett.

    (1992)
  • Matti Åstrand, Valentin Polishchuk, Joel Rybicki, Jukka Suomela, Jara Uitto, Local algorithms in (weakly) coloured...
  • Roberto Baldoni

    An O(nM/(M+1)) distributed algorithm for the k-out of-m resources allocation problem

  • Shailaja Bulgannawar et al.

    A distributed k-mutual exclusion algorithm

  • K.M. Chandy et al.

    The drinking philosophers problem

    ACM Trans. Program. Lang. Syst.

    (1984)
  • Ye-In Chang et al.

    An extended binary tree quorum strategy for k-mutual exclusion in distributed systems

  • Satoshi Fujita et al.

    Distributed k-mutual exclusion problem and k-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.

    View full text