SlideServe
Menu
Préférences
© SlideServe · v2026

Lecture # 14 Distributed Algorithms ( II)

damien avatar
15 diapositives · 415 Views · Aug 07, 2014

Lecture # 14 Distributed Algorithms ( II). CS492 Special Topics in Computer Science: Distributed Algorithms and Systems. Admin Stuff. Cloud computing article Lynch’s book chapters. Topics to Cover. Synchronous Network Model (Ch. 2-4) Leader election in a synchronous ring

Lecture # 14 Distributed Algorithms ( II) - slide 1
01 / 15Lecture # 14 Distributed Algorithms ( II)
1 / 17

Télécharger la présentation

Lecture # 14 Distributed Algorithms ( II)
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Lecture #14Distributed Algorithms (II) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems

  2. Admin Stuff Cloud computing article Lynch’s book chapters

  3. Topics to Cover • Synchronous Network Model (Ch. 2-4) • Leader election in a synchronous ring • Breadth-first search • Shortest paths • Min spanning tree • Maximal independent set • Asynchronous System Model (Ch. 8-9) • Asynchronous shared memory model

  4. Leader Election in a Synchronous Ring • Electing a unique leader • In a ring, exactly one process should output the decision that it is the leader.

  5. LCR algorithm (informal) • Le Lann, Chang, and Roberts • Each process sends its identifier around the ring. When a process receives an incoming identifier, it compares that identifier to its own. If the incoming identifier is greater than its own, it keeps passing the identifier; if it is less than its own, it discards the incoming identifier; if it is equal to its own, the process declares itself the leader.

  6. LCR algorithm (formal) • For each i, statesiconsist of: u: initially i‘s UID send: a UID or null, initiallyi‘s UID status: with values in {unknown, leader}, initially unknown • For each i, msgsidefined by: send the current value of send to process i+1

  7. LCR algorithm (formal) • For each i, transidefined by: u: initially i‘s UID send: = null if the incoming message is v, a UID, then case v > u : send: = v v = u : status := leader v < u : do nothing endcase

  8. How to prove its correctness? Process imax outputs leader by the end of round n No other process ever performs such an output

  9. Lemma 3.2 Process imax outputs leader by the end of round n Assertion 3.3.1 After n rounds, status(imax) = leader Assertion 3.3.2 For 0 <= r <= n-1, after r rounds, send(imax+r) = umax

  10. Lemma 3.3 No process other than imax ever outputs the value leader. Assertion 3.3.3 For any r and any i, j, the following holds. After r rounds, if i ≠ imaxand j \in [imax, i) then sendj≠ ui

  11. Theorem 3.4 LCR solves the leader-election problem

  12. Questions • How can other processes halt? • What is the complexity? • Time • Communication

  13. An algorithm w/ O(n log n) complexity • Assumptions: • Ring size unknown • Bidirection communication

  14. HS Algorithm (informal) Each process i operates in phases 0,1,2,…. In each phase l, process i sends out “tokens” containing its UID ui in both directions. These are intended to travel distance 2l, then return to their origin i. If both tokens make it back safely, process i continues with the following phase. However, the tokens might not make it back safely. While a ui token is proceeding in the outbound direction, each other process j on ui’s path compares ui with its own UID uj. If ui < uj, then j simply discards the token, whereas if ui > uj, then j relays ui. If ui=uj, then it means that process j has received its own UID before the token has turned around, so process j elects itself as the leader.

  15. Non-Comparison-Based Algortihms • Question: is it possible to elect a leader with fewer than O(n log n) messages? • The TimeSlice algorithm • ring size n is known • The VariableSpeeds algorithm • Each process i sends a msg at every 2v rounds.