Talk:Bully algorithm

The algorithm is described right but has a flaw in the describtion.

The recusion is not adressed.


 * P broadcasts an election message (inquiry) to all other processes with higher process IDs. (correct)
 * If P hears from no process with a higher process ID than it, it wins the election and broadcasts victory. (incorrect)
 * 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."(incorrect)

The bully algorithm can't "broadcast to lower IDs" because it does not have any reference to processes with lower Ids ! It only has the ones who asked him (in an election) and the higher Id'd processes.

It is a recursiv algorithm which works like this:


 * If an election was started all higher id'd process get it (if not dead).
 * They then start their own election to see if their higher ups are alive.
 * In the end one process can't find any higher ones.
 * This process has N-1 elections asking him if he is the big shot. (N being the number of alive processes including him)
 * He can (now) broadcast because the election hold the lower PIDs IPs and he has N-1!
 * Alternative he does not need to keep N-2 lower elections instead every process below him can send this highest ID one step lower in the chain of request (no broatcast - point to point)

"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."

This would be a pretty lame reason also it is true that this will happen.

But a name does describe the method itself.

The name was given cause the one process at the top of the cain announce himself in contrast to a consent !

Thus he bullys his way. Which a joining high ID process will do as well ... but as said thats a natural ...

People should check if the ref. book is good and/or the ref. is realy valid...

79.192.243.94 (talk) 20:44, 6 September 2008 (UTC) Moooitic