Bully algorithm
Encyclopedia
The bully algorithm is a method in distributed computing
for dynamically selecting a coordinator by process ID number.
Assumptions :
Message types :
Compare with Ring algorithm :
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:
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.
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:
- P broadcasts an election message (inquiry) to all other processes with higher process IDs.
- If P hears from no process with a higher process ID than it, it wins the election and broadcasts victory.
- 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.
- 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.