0% found this document useful (0 votes)
43 views

Class 19

1) There are several algorithms for achieving mutual exclusion in distributed systems including centralized, distributed, and token ring algorithms. Each has tradeoffs in terms of messages per entry/exit and delay before entry. 2) Distributed systems also require electing a leader or coordinator. The bully and ring algorithms can elect a new leader when the existing leader fails. The bully algorithm involves processes with higher IDs stopping those with lower IDs from becoming leader, while the ring algorithm passes a message around a logical ring to elect the process with the highest ID. 3) Electing leaders in wireless environments presents additional challenges due to unreliable and asymmetric connectivity between nodes. Gossip-based protocols can be used to spread election messages in

Uploaded by

luis_020_913056
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Class 19

1) There are several algorithms for achieving mutual exclusion in distributed systems including centralized, distributed, and token ring algorithms. Each has tradeoffs in terms of messages per entry/exit and delay before entry. 2) Distributed systems also require electing a leader or coordinator. The bully and ring algorithms can elect a new leader when the existing leader fails. The bully algorithm involves processes with higher IDs stopping those with lower IDs from becoming leader, while the ring algorithm passes a message around a logical ring to elect the process with the highest ID. 3) Electing leaders in wireless environments presents additional challenges due to unreliable and asymmetric connectivity between nodes. Gossip-based protocols can be used to spread election messages in

Uploaded by

luis_020_913056
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 15

Synchronization

CSCI 4780/6780
Mutual Exclusion
• Concurrency and collaboration are fundamental to
distributed systems
• Simultaneous access to resources
• Concurrency control prevents resource corruption
due to simultaneous access
• Correctness
– Mutual exclusion
– No deadlocks
– No starvation
Mutual Exclusion:
A Centralized Algorithm

a) Process 1 asks the coordinator for permission to enter a critical region.


Permission is granted
b) Process 2 then asks permission to enter the same critical region. The
coordinator does not reply.
c) When process 1 exits the critical region, it tells the coordinator, when
then replies to 2
A Distributed Algorithm

a) Two processes want to enter the same critical region at the same
moment.
b) Process 0 has the lowest timestamp, so it wins.
c) When process 0 is done, it sends an OK also, so 2 can now enter
the critical region.
A Token Ring Algorithm

a) An unordered group of processes on a network.


b) A logical ring constructed in software.
Comparison

Messages per Delay before entry


Algorithm Problems
entry/exit (in message times)

Centralized 3 2 Coordinator crash

Crash of any
Distributed 2(n–1) 2(n–1)
process

Lost token,
Token ring 1 to  0 to n – 1
process crash

A comparison of three mutual exclusion algorithms.


Leader Election in Distributed Systems
• Many distributed systems need one process to act
as a coordinator/initiator
– “First among equals” not “one above the rest”
• Does not matter which process takes up
responsibility
– But all process should agree about who would be the
leader
• Assumption: Each process has a unique identifier
• Bully Algorithm
• Ring Algorithm
Bully Algorithm
• When a process P notices that current coordinator
has failed, it sends an ELECTION message to all
processes with higher IDs
• If no one responds, P becomes the leader
• If a higher-up receives P’s message, it will send an
OK message to P and execute the algorithm
• Process with highest ID takes over as coordinator by
sending COORDINATOR message
• If a process with higher ID comes back, it takes over
leadership by sending COORDINATOR message
Bully Algorithm - Example

The bully election algorithm


• Process 4 holds an election
• Process 5 and 6 respond, telling 4 to stop
• Now 5 and 6 each hold an election
Bully Algorithm - Example (2)

d) Process 6 tells 5 to stop


e) Process 6 wins and tells everyone
Ring Algorithm
• When a process P notices current coordinator’s
failure, it builds an ELECTION message
– Message contains the P’s ID
• P sends message to it successor
– Skip if the successor is down
• Each process adds its ID to the ELECTION message
• When election message reaches the initiator, it
converts message to COORDINATOR
– The process ID with highest ID is declared as new
coordinator
Ring Algorithm - Example
Elections in Wireless Environments
Elections in Wireless Environments
Elections in Wireless Environments

You might also like