Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.
-
Upload
virgil-anderson -
Category
Documents
-
view
213 -
download
0
Transcript of Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.
![Page 1: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/1.jpg)
Centralized mutual exclusion
• Problem : What if the coordinator fails?
• Solution : Elect a new one
![Page 2: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/2.jpg)
Leader Election : Problem Statement
• Given is a set of n processes, 1 .. n.• Each process j has variables :
– l.j : true iff j is a leader– up.j : true iff j has not failed
• This is called an auxiliary variable.
• Requirements – In any state, there is at most one non-failed leader
• always (up.j up.k a l.j l.k j = k)
– eventually some process is elected a leader• eventually (exists j :: up.j l.j)
![Page 3: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/3.jpg)
Solving Leader Election via Tree Construction
• You are a leader iff you are a root– Problems?
• In connected (but not fully connected) networks, tree construction and leader election are almost same. – Everyone needs to know how to get to the leader
– The path to leader (often forms a tree)
![Page 4: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/4.jpg)
Algorithms for Leader Election
• There are several algorithms for leader election• We will discuss one of them: Bully Algoirthm
![Page 5: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/5.jpg)
Bully Algorithm
• The goal is to choose the process with highest ID as the leader.
• When a process is repaired or it suspects that the current leader has failed, it starts `election'
• Election process :– [Step 1 :] Make sure that processes with higher ID have failed
– [Step 2 :] If successful, inform all processes with lower ID that a new leader is elected
![Page 6: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/6.jpg)
Bully Algorithm (continued)
• Step 1 – When process j enters the election mode, it sends an
`election' message to j+1, .. n.
– If process k receives the election message from j, it enters the election mode, sends an OK message to j, and sends election message to k+1, n.
– If j receives an OK message, j has lost the election.
– If j does not receive any OK message, j can proceed to step 2.
![Page 7: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/7.jpg)
Bully Algorithm (continued)
• Step 2 :• When process j enters the second step, it has checked that
processes j+1 .. n have failed. It needs to make sure that no process in 1..(j-1) is a leader.
• Process j forces processes (j-1) .. 1 to accept j as the leader.
• Garcia-Molina suggests that this be done using RPC; contact (j-1), (j-2), ..., 1.– This ensures that if two processes `know’ who the leader is then
their information is the same.
![Page 8: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/8.jpg)
Other Approaches
• Probabilistic Algorithm– Each node chooses a random number between [0..N]
– Send the number to all
– Leader = (sum of values received) mod N
– Repeat if this process has failed.
![Page 9: Centralized mutual exclusion Problem : What if the coordinator fails? Solution : Elect a new one.](https://reader036.fdocuments.us/reader036/viewer/2022082818/56649eb65503460f94bbedc3/html5/thumbnails/9.jpg)
Other Approaches
• Utilize tree construction algorithm– Provides nonmasking fault-tolerance for leader election
• Eventually at most one leader
• Will focus on the idea of diffusing computation that can help ensuring at most one leader at all times