Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Verteilte Algorithmen

Ähnliche Präsentationen


Präsentation zum Thema: "Verteilte Algorithmen"—  Präsentation transkript:

1 Verteilte Algorithmen
Einfache Aktionen in komplexen Netzen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld

2 Allgemein Aufgabe - Was soll erreicht werden?
Initiierung - Womit fängt man an? Terminierung - Wann hört man auf? "Induktion" - Kommt man bei den einzelnen Zwischenschritten dem Ziel näher? Nur einfachste (im Vergleich zum sequenziellen Fall) Algorithmen versteht man derzeit. Initiieren einfach, aber Teminieren?

3 Verteilen (Fluten) Aufgabe: Alle in einem Netz informieren.
Initiierung: Irgendeinen informieren. Schritt: Jeder informiert seine Nachbarn. Beispiel Terminierung: Alle sind informiert (?) Voraussetzung: Netz zusammenhängend. physikalische Sicht: Welle (ohne Reflexion, Brechung, unerwartete Abschattung, …)

4 Verteilen: wie verbessern?
Eine schon einmal weitergeschickte Information nicht noch einmal weiterschicken. Dafür merkt sich jeder, dass er die Information schon erhielt und weitergeleitet hat. (Beim nächsten Mal würde er exakt dasselbe machen.) Beispiel Es ist keine wesentliche Verbesserung, wenn der Absender bei der Verteilung aussspart wird. Er weiß ja, dass er informiert ist, und macht jetzt nichts mehr.

5 Verteilen: Wozu sonst noch verwenden?
Idee: Beim Verteilen merkt man sich, wie verteilt wird. Voraussetzung: Links symmetrisch Aufgaben: Rückmeldung bei Abschluss ("Echo") aufspannender Baum (spanning tree) Senkenbaum (sink tree) Beispiel Verwendung einfaches Adressieren Routing

6 Echo: Physikalische Sicht
einzelne Stosswelle, die sich in einem Medium ausbreitet, an den Rändern reflektiert wird und am Ausgangspunkt wieder zusammen trifft.

7 Verteilen als spezielle Aufgabenteilung
Soll einer eine Information an alle verteilen und kann das nicht alleine tun, so helfen ihm seine Nachbarn dabei, deren Nachbarn usw. Die Anzahl nicht Informierter nimmt stetig ab.

8 Zielangabe Aufgabe: Einer will eine Information an einen anderen senden. Lösung (einfach): Der Absender identifiziert den Empfänger, fügt diese Angabe an die Information an und verteilt sie an alle. Jeder, der eine nicht für ihn bestimmte Information erhält, wirft sie weg. (So funktioniert das Ethernet.)

9 Die Information kann viele Wege nehmen…
Absender Empfänger

10 Wegbeschreibung Eine Beschreibung des Weges hängt ab auch vom Blickwinkel des Beobachters. Beispiel: "Rechts an mir gehst Du vorbei …." Ändert sich der Blickwinkel (Positionsänderung desselben Beobachters, Wechsel des Beobachters), so ändert sich (meist) auch die Beschreibung. Bei objekt-orientierten Programmiersprachen muss der Programmierer irgendeinen einen Blickwinkel einnehmen. Eine Folie (8) desselben Inhalts habe ich auch in "Informationen" eingefügt.

11 Adressen sind die Lösung des Problems, dass Zielangaben vom Blickwinkel abhängen können. Beispiele Straßenname Name im Allgemeinen URL IP-Adressen Auch Adressen gehören zur "eingeschränkten Umgebung". "relative", "symbolische" Adressierung (Wiki)?

12 C A G E D B F H

13 Vermitteln (Routing) Erst durch die Standardisierung von Ortsangaben wird das Vermitteln (Weiterleiten von Informationen) möglich. Das ist wie beim Orientieren: Die Angaben müssen unabhängig vom Ort dieselbe Bedeutung haben. Es geht auch anders. Wie?

14 Source Routing Voraussetzung Lösung
Absender kennt einen Weg zum Empfänger Lösung Die Information selber „merkt sich, wo sie ist“. Jeder Knoten, der die Information weiterleitet, schaut nach, wer der nächste Nachbar ist. wurde in der Frühphase im Internet eingesetzt (vor allem zum Testen)

15 C A A C G B G E D B F H

16 C A A C G B G E D B F H

17 C A G A C G B E D B F H

18 C A G E D B A C G B F H

19 Next-Hop Routing Voraussetzung Lösung
keine (Netz ist zusammenhängend) Lösung Jeder Knoten weiß, über welchen Nachbarn („next-hop“) er den Empfänger erreicht. Wenn einer eine Nachricht an den Empfänger erhält, leitet er sie an diesen weiter. verschiedene Blickwinkel auf die Routing-Informationen alle Wege zu einem Knoten: Senkenbaum (sink tree) an einem Knoten für alle Wege: Routing-Tabelle

20 Senkenbaum zu B C A G E D B F H

21 Routing-Tabelle (von A)
A: A B: C C: C D: E E: E F: E G: C H: E C A G E D B F H

22 weitere bekannte Algorithmen
Maximum-Algorithmus Sei jedem Knoten eine Zahl zugeodntet ("Größe"). Aufgabe: Bestimme den größten Knoten. Funktioniert nur unter bestimmten Voraussetzungen, z.B. in einem Ring. Für verschiedene Auswahl-Algorithmen vgl. Gero Mühl. Verteilter Schnappschuss vgl. Heiko Krumm


Herunterladen ppt "Verteilte Algorithmen"

Ähnliche Präsentationen


Google-Anzeigen