Lamport

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 7

Lamport’s

Algorithm for
Mutual Exclusion in
Distributed System
Lamport’s Distributed Mutual Exclusion Algorithm is a permission
based algorithm proposed by Lamport as an illustration of his
synchronization scheme for distributed systems. In permission based
timestamp is used to order critical section requests and to resolve any
conflict between requests. In Lamport’s Algorithm critical section
requests are executed in the increasing order of timestamps i.e a request
with smaller timestamp will be given permission to execute critical
section first than a request with larger timestamp. In this algorithm:
 Three type of messages
( REQUEST, REPLY and RELEASE) are used and
communication channels are assumed to follow FIFO order.
 A site send a REQUEST message to all other site to get their
permission to enter critical section.
 A site send a REPLY message to requesting site to give its
permission to enter the critical section.
 A site send a RELEASE message to all other site upon
exiting the critical section.
 Every site Si, keeps a queue to store critical section requests
ordered by their timestamps. request_queuei denotes the
queue of site Si
 A timestamp is given to each critical section request using
Lamport’s logical clock.
 Timestamp is used to determine priority of critical section
requests. Smaller timestamp gets high priority over larger
timestamp. The execution of critical section request is
always in the order of their timestamp.
Algorithm:
 To enter Critical section:
 When a site Si wants to enter the critical section, it sends a request message Request(tsi, i) to all other
sites and places the request on request_queuei. Here, Tsi denotes the timestamp of Site S i
 When a site Sj receives the request message REQUEST(tsi, i) from site Si, it returns a timestamped
REPLY message to site S i and places the request of site S i on request_queuej
 To execute the critical section:
 A site Si can enter the critical section if it has received the message with timestamp larger than (tsi,
i) from all other sites and its own request is at the top of request_queuei
 To release the critical section:
 When a site Si exits the critical section, it removes its own request from the top of its request queue and
sends a timestamped RELEASE message to all other sites
 When a site Sj receives the timestamped RELEASE message from site S i, it removes the request of
Si from its request queue
Message Complexity: Lamport’s Algorithm requires invocation of 3(N – 1) messages per critical
section execution. These 3(N – 1) messages involves
 (N – 1) request messages
 (N – 1) reply messages
 (N – 1) release messages
Drawbacks of Lamport’s Algorithm:
 Unreliable approach: failure of any one of the processes will halt the progress of entire system.
 High message complexity: Algorithm requires 3(N-1) messages per critical section invocation.
Performance:
 Synchronization delay is equal to maximum message transmission time
 It requires 3(N – 1) messages per CS execution.
 Algorithm can be optimized to 2(N – 1) messages by omitting the REPLY message in some
situations.
Advantages of Lamport’s Algorithm for Mutual Exclusion in Distributed
System:
Simplicity: Lamport’s algorithm is relatively easy to understand and implement
compared to other algorithms for mutual exclusion in distributed systems.
Fairness: The algorithm guarantees fairness by providing a total order of
events that is used to determine the next process that can enter the critical
section.
Scalability: Lamport’s algorithm is scalable because it only requires each
process to communicate with its neighbors, rather than all other processes in
the system.
Compatibility: The algorithm is compatible with a wide range of distributed
systems and can be adapted to different network topologies and
communication protocols.
Disadvantages of Lamport’s Algorithm for Mutual Exclusion in Distributed
System:

Message Overhead: The algorithm requires a lot of message passing between


processes to maintain the total order of events, which can lead to increased
network traffic and latency.
Delayed Execution: The algorithm can lead to delays in the execution of critical
sections because a process may have to wait for messages to arrive from other
processes before entering the critical section.
Limited Performance: The algorithm may not perform well in systems with a high
number of processes because of the increased message overhead and delayed
execution.
No Fault Tolerance: The algorithm does not provide any fault tolerance
mechanism, which means that if a process fails or crashes, it may cause the
entire system to fail or become unstable.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy