Elections (2/2)

Election sur un arbre couvrant (suite)

Racine initiateur

Hypothèses

  • L'initiateur, P_{i_0} est la racine
  • Communications FIFO, sans perte, par arbre couvrant

Principe

  • P_{i_0} envoie REQ à tous ses fils, pour choisir quand toutes les réponse seront remontées.
  • Chaque fils qui n'est pas feuille transmet à ses fils.
  • Lorsqu'un processus aura reçu les réponses de tous ses fils, il répondra à son parent la meilleur valeur de ses fils et de lui-même.
  • Lorsque P_{i_0} a reçu toutes les réponse, il connait la meilleur capacité et chez qui, et proclame.

Corrigé (du support de cours)

  • Phase I - Initialisation
    • P_{i_0} émet le message ElDemande() vers tous ses fils
    • lorsqu'un site non feuille reçoit le message, il transmet ce message à l'ensemble de ses fils.
    • lorsqu'un site feuille P_{j} reçoit le message ElDemande() il transmet à son père les message EL\left(c_j, j\right)
  • Phase 2 - Remontée des informations
    • lorsqu'un site P_{i\ne i_0} a reçu tous les messages El\left(c_j, j\right) de ces fils, il transmet à son père le message EL\left(c_k, k\right)c_k = \max\left\{c_i, c_j\right\}
  • Phase 3 - Election
    • Lorsque le site P_{i_0} a reçu tous les messages EL\left(c_k, k\right) de ses fils, il s'élit si max\left\{ c_k\right\} < c_{i_0} sinon il élit P_k tel que c_k = max\left\{ c_k \right\}
  • Phase 4 - Proclamation
    • La racine proclame le résultat par l'émission du message ELU(k) vers l'ensmeble de ses fils.
    • Lorsqu'un site reçoit le message ELU(k) il mémorise l'information puis s'il est non-feuille, il transmet ce message ELU(k) à tous ses fils.

Initiateur n'est pas la racine

Election dans un réseau quelconque

Maillage complèt et diffusion

Navigation

 
m1ilc/algo_dist_2.txt · Dernière modification: 2010/01/10 17:21 par suitable
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante :CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki