Hirschberg–Sinclair Algorithm
   HOME

TheInfoList



OR:

The Hirschberg–Sinclair algorithm is a
distributed algorithm A distributed algorithm is an algorithm designed to run on computer hardware constructed from interconnected processors. Distributed algorithms are used in different application areas of distributed computing, such as telecommunications, scientifi ...
designed for
leader election In distributed computing, leader election is the process of designating a single Process (computing), process as the organizer of some task distributed among several computers (nodes). Before the task has begun, all network nodes are either unawa ...
problem in a synchronous
ring network A ring network is a network topology in which each node connects to exactly two other nodes, forming a single continuous pathway for signals through each node – a ring. Data travels from node to node, with each node along the way handling eve ...
. It is named after its inventors, Dan Hirschberg and J. B. Sinclair. The algorithm requires the use of unique IDs (UID) for each process. The algorithm works in phases and sends its UID out in both directions. The message goes out a distance of 2Phase Number hops and then the message heads back to the originating process. While the messages are heading "out" each receiving process will compare the incoming UID to its own. If the UID is greater than its own UID then it will continue the message on. Otherwise if the UID is less than its own UID, it will not pass the information on. At the end of a phase, a process can determine if it will send out messages in the next round by if it received both of its incoming messages. Phases continue until a process receives both of its out messages, from both of its neighbors. At this time the process knows it is the largest UID in the ring and declares itself the leader.


References

* * * * Distributed algorithms {{algorithm-stub