Bully algorithm
Encyclopedia
The bully algorithm is a method in distributed computing
Distributed computing
Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...

for dynamically selecting a coordinator by process ID number.

Assumptions :
  • The system is synchronous and uses timeout for identifing process failure

Message types :
  • Election Message : Sent to announce the election
  • Answer Message : Respond to the election message
  • Cordinator message: sent to announce the identity elected process

Compare with Ring algorithm :
  • Assumes that system is synchorinous
  • Uses time-out to detect process failure/crash
  • Each processor knows which processor has the higher identifier number and communicates with that [1]

When a process P determines that the current coordinator is down because of message timeouts or failure of the coordinator to initiate a handshake, it performs the following sequence of actions:
  1. P broadcasts an election message (inquiry) to all other processes with higher process IDs.
  2. If P hears from no process with a higher process ID than it, it wins the election and broadcasts victory.
  3. If P hears from a process with a higher ID, P waits a certain amount of time for that process to broadcast itself as the leader. If it does not receive this message in time, it re-broadcasts the election message.
  4. If P gets an election message (inquiry) from another process with a lower ID it sends an "I am alive" message back and starts new elections.

Note that if P receives a victory message from a process with a lower ID number, it immediately initiates a new election. This is how the algorithm gets its name - a process with a higher ID number will bully a lower ID process out of the coordinator position as soon as it comes online.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK