Advances in Computing
p-ISSN: 2163-2944 e-ISSN: 2163-2979
2012; 2(4): 54-59
doi: 10.5923/j.ac.20120204.02
Ousmane Thiare 1, Papa Alioune Fall 2
1Department of Computer science, Gaston Berger University, BP 234 Saint-Louis, Senegal
2Department of Applied Physics, Gaston Berger University, BP 234 Saint-Louis, Senegal
Correspondence to: Ousmane Thiare , Department of Computer science, Gaston Berger University, BP 234 Saint-Louis, Senegal.
| Email: | ![]() |
Copyright © 2012 Scientific & Academic Publishing. All Rights Reserved.
In distributed systems,cooperating process essh are both local and remoter sources. Chance is very high that multiple processes makesimultaneous requests to the same resource. If the resourcerequires mutually exclusive access (critical section - CS), then some regulation is needed to access it for ensuring synchronizedaccess of the resources thatonly one process could use the resource at a given time. This is the distributed mutual exclusion problem. The problem of coordinating the execution of critical sections by eachprocessissolved by providing mutually exclusive access to the CS. Mutual exclusion ensures that concurrent processes make a serialized access to shared resources.Quorum-based algorithms offer the advantage of protocol symmetry, spreading effort and responsibility uniformly across the distributed systems. In thispaper, we have proposed a permission baseddistributedmutual exclusion algorithmwhichis an improvement of Maekawa’s algorithm. The number of messages required by the improvisedalgorithmis in the range 3Mto 5Mper critical section invocation whereMis the number of intersection nodes1 in the system. A reduction in number of message by restricting the communication of anynodewith the intersection nodes of the quorums, withoutany modification of the basic structure of the algorithm.
Keywords: Mutual Exclusion, Communication, Quorum
![]() | Figure 1. The finite projective plane of order 2 (Fano plane) |
(ⅱ) Minimality:
(ⅲ) Equal size:Si=k+1(ⅳ) Equal effort: every server i appears in (k+1) SjThe subsets Sis are called quorum. Quorum that satisfy the minimality, the mutual intersection and non-emptiness properties from a coterie. The equal size and equal effort properties define the additional notion of symmetry in the coterie. Equal size quorum ensures that each server or client sends the same number of message to request the shared resource. The equal effort property requires that each server be included in the same number of quorums, ensuring that all sites expend the same effort in enforcing distributed mutual exclusion.The selection of Sis is not unique. There exists a number of ways to select a set Si that satisfies the above properties.The problem of finding a set of Q is that satisfies these conditions are equivalent to finding a finite projective plane of N points. It is known that there exists a finite projective plane of order k if k is a power of a prime number p. This finite projective plane has (k+1) lines and k points per line.
i ≠ j, 1≤i,j≤N(ⅱ) ∀i, node i ∈Sj, 1≤ i ≤N(ⅲ) ∀i, Si=K, 1≤ i ≤ N(ⅳ) ∀j, node j is with in KSis, 1≤i,j≤NCondition (i) (non null intersection property) is a necessary condition for the Si’s so that mutual exclusion requests can be resolved. Condition (ii) reduces the number of messages to be sent and received by a node. Condition (iii) means that each node needs to send and receive the same number of messages to obtain mutual exclusion (equal work). Finally condition (iv) signifies that each node is equally responsible for mutual exclusion (equal responsibility).For example, the finite projective plane of order 2 seen in Section 3. workswell in the case of Maekawa's algorithmwith the properties of quorums definedabove.Maekawa establishes the following relationship between N and K: N=K(K-1)+1. Hence K can be found approximated to √N.For any node i, who intends to execute its CS, the algorithm works as follows.Entry section:Process i multicasts the REQUEST to all the nodes in its Si including itself. The intersection nodes can send the REQUEST messages to any one of the districts to which theybelong. When a process j receives the REQUEST message, it sends LOCKED message to site i if it has not yet sent it to any other site from the time it received RELEASE message. Or else it queues the REQUEST.CS execution: Process i executes its CS after receiving LOCKED message from all the nodes of its Si.Exit section: After executing its CS, site i sends RELEASE message to all nodes of its Si which restores node’s right to send LOCKED message to any other pending requests in the queue.This basic algorithm is prone to deadlock which is handled as follow: Assume that a site j has LOCKED message to some site k and it later receives a REQUEST message from any other site i (i≠ k). Then, node j sends FAILED message to site i if TSk
i ≠ j, 1≤i,j≤ y, where y is the number of quorums, y ≤ N(ii) Node i belongs to at least one of the quorums(iii) The number of nodes in the quorum needs to be equal.Here, we presented the conditions in the same way as done by Maekawa’s algorithm in the previous section so that the reader may note the difference. Conditions (i) and (ii) are required to ensure correctness of the algorithm. In Maekawa’s algorithm[1], it was required to have k number of nodes in the entire quorum to ensure that all nodes perform an equal amount of work for each CS invocation, which is a desirable feature of a truly distributed system. The system using our algorithm would be a pseudo-distributed system as the non-intersection nodes do not participate in CS invocation of other nodes and hence condition (iii) follows.The basic working of the algorithm and the required types of messages need not to be modified. This improvisation would shift the responsibility to maintain the mutual exclusion condition to the intersection nodes.