Nachrichtenauslöschung nach Chang und Roberts

Nachrichtenauslöschung nach Chang und Roberts

Der Algorithmus "Nachrichtenauslöschung nach Chang und Roberts" ist ein Maximumsalgorithmus für Verteilte Systeme. Er dient dazu aus Knoten, die in einem Ring angeordnet sind, den Knoten mit der größten ID auszuwählen. Grundlage ist der Bullyalgorithmus, dessen Nachrichtenkomplexität gesenkt wurde.

Inhaltsverzeichnis

Voraussetzungen

  • Topologie: Unidirektionaler Ring
  • Eindeutige IDs

Idee

Solange der maximale Knoten noch nicht bekannt ist, wird jeder Knoten irgendwann zum Initiator und sendet seine ID an seinen Nachbarn. Wenn jemand eine Nachricht empfängt, in der eine ID größer als der eigenen gespeichert ist, sendet er die Nachricht weiter. Wenn seine ID größer ist als die in der Nachricht gespeicherte verschluckt er die Nachricht.

Wenn eine Nachricht einen gesamten Ringdurchlauf schafft, weiß der Initiator, dass er die größte ID hat und informiert die anderen mittels eines weiteren Ringdurchlaufs.

Pseudocode

Initiator

Sende <ID, ID> an nächsten Knoten

Ein Knoten K empfängt (r, max)

wenn ID(K) < max
    sende <r, max> an nächsten Knoten
wenn r == ID(K) "ICH HABE GEWONNEN" Informiere alle anderen Knoten durch weiteren Ringdurchlauf

Nachrichtenkomplexität

Worst Case

Der Worst Case tritt ein, wenn die Knoten nach ihren IDs auf dem Ring sortiert sind und in entgegengesetzter Richtung initiieren.

In dem Fall müsste der 1. Initiator (der gleichzeitig die kleinste ID hat) eine Nachricht versenden, der 2. Initiator müsste 2 Nachrichten versenden und der n-te Initiator müsste n Nachrichten versenden.


\sum_{k=0}^n (n-k) 
=> O(n^2)
Zusätzlich sind n Nachrichten nötig um die anderen Knoten zu informieren.

Best Case

Im besten Fall wird der größte Knoten als erster zum Initiator. Wenn bis zum finalen Ringdurchlauf kein weiterer Knoten einen Durchlauf startet, kann so eine Nachrichtenkomplexität von n für die Auswahl erreicht werden, wobei auch hier nochmals n Nachrichten nötig sind um die anderen Knoten zu informieren.

Weblinks

Vorlesung "Verteilte Systeme" an der Universität Mannheim


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Vernetztes System — Ein Verteiltes System ist nach der Definition von Andrew Tanenbaum ein Zusammenschluss unabhängiger Computer, der sich für den Benutzer als ein einzelnes System präsentiert. Peter Löhr definiert es etwas grundlegender als „eine Menge… …   Deutsch Wikipedia

  • Verteilte Systeme — Ein Verteiltes System ist nach der Definition von Andrew Tanenbaum ein Zusammenschluss unabhängiger Computer, der sich für den Benutzer als ein einzelnes System präsentiert. Peter Löhr definiert es etwas grundlegender als „eine Menge… …   Deutsch Wikipedia

  • Verteiltes System — Ein Verteiltes System ist nach der Definition von Andrew Tanenbaum ein Zusammenschluss unabhängiger Computer, der sich für den Benutzer als ein einzelnes System präsentiert. Peter Löhr definiert es etwas grundlegender als „eine Menge… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”