This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 1 A Reliable Optimization on Distributed Mutual Exclusion Algorithm Moharram Challenger Department of computer Engineering IAU of Shabestar-Iran Challenger@iaushab.ac.ir Peyman Bayat Department of computer Engineering IAU of Tafresh-Iran Bayat_p@engineer.com M.R. Meybodi Department of computer science AUT-Iran Meybodi@cs.aut.ac.ir Abstract This paper presents a reliable decentralized mutual exclusion algorithm for distributed systems in which processes communicate by asynchronous message passing. When any failure happens in system, the algorithm protects the distributed system against any crash. It also makes possible the recovery of lost data in system. It requires between (N-1) and 2(N-1) messages per critical section access, where N is the number of processes in the system. The exact message complexity can be expressed as a order function of clients in computation. The algorithm does not introduce any other overhead over Lamport's and Ricart- Agrawala's algorithms, which require 3(N-1) and 2(N-1) messages per critical section access, respectively. Keywords: distributed mutual exclusion, DMX or DME, reliability, process concurrency, synchronization and fault tolerance 1. I NTRODUCTION he mutual exclusion problem states that only a single process can be allowed to access a protected resource, also termed as a critical section 1 , at any time. Mutual exclusion is a form of synchronization and one of the most fundamental paradigms in computing systems. Mutual exclusion has been widely studied in distributed systems where processes communicate by asynchronous message passing. A comprehensive survey is given in [4,12,13]. For a system with N processes, competitive algorithms have a message complexity between logN and 3(N-1) messages per access to the CS, depending on their features. Distributed mutual exclusion algorithms are either token-based  or nontoken-based. In token-based mutual exclusion algorithms, a unique token exists in the system and only the holder of token can access the protected resource. Examples of token-based mutual exclusion algorithms are Suzuki-Kasami's algorithm , (N messages for each CS), Singhal's heuristic algorithm , ([N/2,N] messages), Raymond's tree-based algorithm , (log (N) messages), Yan et-al.'s algorithm , (O(N) messages), and Naimi et-al.'s algorithm , (O(log(N)) messages). Non token-based mutual exclusion algorithms exchange messages to determine which process can access the CS next. Examples of nontoken-based mutual exclusion algorithms are Lamport's algorithm [6,8], (3(N-1) messages), Ricart- Agrawala's algorithm , (2(N-1) messages), Carvalho-Roucairol's modification on Ricart- 1 CS: Critical section Agrawalas algorithm ([0,2(N-1)] messages), Maekawa's algorithm [7,11], ([3 N, 5 N] messages), and Singhal's dynamic data structure algorithm , ([N-1, 3(N-1)/2] messages)....
View Full Document
- Spring '11