Jump to content

Hirschberg–Sinclair algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by David Eppstein (talk | contribs) at 06:28, 27 November 2017 (David Eppstein moved page HS algorithm to Hirschberg–Sinclair algorithm: Better name (this move and the upcoming edit are COI; Hirschberg is a colleague and frequent collaborator, but I had nothing to do with this algorithm)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The HS Algorithm is named after Dan Hirschberg and J. B. Sinclair. It is a distributed algorithm designed for the Leader Election problem in a Synchronous Ring.

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

  • Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann Publishers, Inc. (1996) pp. 31-35.