In that case, p2 will time out while waiting for coordinator message and will start a new electionelectionp1p2p3p4electionelectionelectionansweransweranswerp2#CMPT 401 2008 A. Fedorova The Bully Election Algorithm (cont.)What happens if p3 also crashes after sending the answer message but before sending the coordinator message? Fedorova The Bully Election Algorithm All processes are assigned identifiers The system always elects a coordinator with the highest identifier: Each process must know all processes with higher identifiers than its own Three types of messages:election a process begins an electionanswer a process acknowledges the election messagecoordinator an announcement of the identity of the elected process#CMPT 401 2008 A.
Fedorova The Central Server Algorithm Performance: Entering a critical section takes two messages (a request message followed by a grant message)System throughput is limited by the synchronization delay at the server: the time between the release message to the server and the grant message to the next client)Fault tolerance Does not tolerate failures What if the client holding the token fails? Fedorova Maekawas Voting Algorithm To enter a critical section a process must receive a permission from a subset of its peers Processes are organized in voting sets A process is a member of M voting sets All voting sets are of equal size (for fairness) #CMPT 401 2008 A.
Fedorova A Need For Coordination And Agreement clientserversnetwork clientmasterslaveslave Must coordinate election of a new master Must agree on a new master#CMPT 401 2008 A.
Fedorova A Replicated Service clientserversnetwork clientmasterslaveslave WWWRRWwrite Wdata replication Rread#CMPT 401 2008 A.
Leader (master) election Mutual exclusion Transaction involving multiple parties (banking)We will look at several variants of consensus problem Consensus Byzantine generals Interactive consensus#CMPT 401 2008 A.
Fedorova Consensus All processes agree on the same value (or set of values)When do you need consensus?
Fedorova Consensus in Asynchronous Systems With Failures The algorithms weve covered have limitations: Either tolerate only limited failures (failstop)Or assume a synchronous system Consensus is impossible to achieve in an asynchronous system Next we will see why#CMPT 401 2008 A.