Universität Paderborn Warburger Str.100 33098 Paderborn WS2007/2008 Seminar Network Design Routing auf dem Hypercube Verfasserin: Natalya Moriz Betreuer: Prof. Dr. Friedrich Eisenbrand 3. Februar 2008 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Problemstellung 2.1 Modell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Permutation Routing Problem . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 3 Hypercube 4 4 Routing-Algorithmen 4.1 Bit-Fixing-Routing-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 4.2 Two-Phase-Routing-Algorithmus . . . . . . . . . . . . . . . . . . . . . . 6 6 7 5 Analyse 5.1 Analyse der Phase I . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Abschätzung für die Anzahl der aktiven Pakete . . 5.1.2 Abschätzung der gesamten Anzahl von Transitionen 5.2 Analyse der Phase II . . . . . . . . . . . . . . . . . . . . . 5.3 Beseitigung der Annahme . . . . . . . . . . . . . . . . . . . . . . auf . . . . 8 . . . . . . 8 . . . . . . 10 einem Pfad 12 . . . . . . 15 . . . . . . 15 6 Zusammenfassung 15 7 Literatur 16 2 1 Einführung 1 Einführung In den letzten Jahren ist der Bedarf an Rechenleistung sehr stark angestiegen. In der Wirtschaft benötigt man immer höhere Rechenleistungen, um die Optimierung von komplexen Produktionsprozessen voranzutreiben, und im Bereich der virtuellen Realität müssen zur Echtzeit ganze Räume mit darin enthaltenen 3-dimensionalen Objekten bewegt werden. Die Aufzählung ließe sich beliebig fortsetzen und zeigt den immensen Bedarf an Rechenleistung in allen Anwendungsbereichen der Informatik. Diese Leistung kann nur erreicht werden, wenn mehrere Prozessoren gleichzeitig an der Problemlösung arbeiten. Daher muß ein Mechanismus bereitgestellt werden, mit dessen Hilfe die Prozessoren untereinander kommunizieren können. Zum anschaulichen Beispiel diesem dient das fundamentales Problem des parallelen Programmieren - effiziente Kommunikation in den dünnen Kommunikationsnetzwerken. Diese Arbeit wird der Präsentation zweier Algorithmen zum oben geschilderten Thema und ihrer Analyse gewidmet. 2 Problemstellung 2.1 Modell In dieser Arbeit wird ein Kommunikationsnetzwerk als gerichteter Graph mit N Knoten dargestellt. Jedem Knoten des Graphen entspricht ein Prozessor mit seinem lokalen Speicher und jeder Kante ein Kommunikationskanal. Man möchte die Nachrichten von einigen Prozessoren zu den anderen synchron und möglichst effizient verschicken können. Im Modell: Die Knoten sind die Punkte der Route. Jede Kante ist ein Kommunikationskanal, der zwei Punkte der Route verbindet. Die Nachrichten assoziiert man mit mehreren Paketen, die gleichzeitig von ihren Startstationen zu den Endstationen geroutet werden sollen. Außerdem gelten folgende Bedingungen: • eine Kante kann in einem Zeitschritt ein Paket transportieren • ein Paket kann nicht mehr als eine Kante pro Schritt überqueren • jeder Knoten hat einen Buffer, wo die Pakete eine Warteschlange bilden können,bis sie wieder die Möglichkeit haben, ihre weitere Transitionen fortsetzen zu können • jeder Knoten sendet höchsten ein Paket und ist Adresse für höchstens ein Paket Unter diesen Bedingungen möchte man einen Routing-Algorithmus haben, der für jedes Paar von Knoten, mit der Rücksicht auf der gegebenen Netzwerktopologie eine Route (Reihenfolge von Kanten), die diese Knoten verbindet, berechnen lässt. Der Algorithmus kann auch die Anordnung der Pakete in der Warteschlange angeben, wir zum Beispiel 3 3 Hypercube FIFO (First In First Out) oder FTG (Furthest To Go). Die Effizienz des Algorithmus wird durch die Anzahl der Schritte angegeben, die er für die Lösung des so genannten arbitrary Permutation Routing Problem, benötigt. 2.2 Permutation Routing Problem In einem Netzwerk will jeder Prozessor Pi , i ∈ {0, . . . , N − 1}, eine Nachricht zu Prozessor Pπi schicken, wobei π eine Permutation ist. Dieses Problem nennt man arbitrary Permutation Routing Problem. Beim arbitrary Permutation Routing Problem sendet jeder Knoten genau ein Paket und ist Adresse für genau ein Paket. Das Problem könnte idealerweise in einem parallelen Schritt gelöst werden, falls jeder Knoten im Graphen mit jedem verbunden ist, das würde heißen, dass jeder Prozessor im Netzwerk mit jedem direkt verbunden ist. Dieses vollständige Netzwerk ist jedoch nur möglich,wenn ndie Anzahl der Prozessoren klein ist: bei n Prozessoren hat das vollständige Netzwerk 2 = n∗(n−1) 2 (ungerichtete) Verbindungskanten. Für größere n ist dies technisch nicht vernünftig realisierbar. Aus diesem Grund muss man das vollständige Netzwerk ausdünnen, das heißt Kanten weglassen. Man nennt einen Graphen dünn (spase), falls gilt: |E| << |V 2 | (E - Menge der Kanten, V - Menge der Knoten). In diesem Fall kann jeder Knoten nicht mit allen, sondern nur mit wenigen Nachbarn kommunizieren, das heißt, die meisten Pakete müssen einige dazwischenliegende Knoten besuchen, bevor sie ihre Endstationen erreicht haben. Darüber hinaus können beim Routing die Stauungen oder Flaschenhalseffekte auftreten, da eine Kante Teil der Pfade von mehreren Paketen sein kann und nur ein Paket pro Schritt übertragen kann. Auf dieser Art und Weise entsteht ein interessantes kombinatorisches und algorithmisches Problem: Entwurf einer Familie von dünnen Netzwerken zusammen mit einem Routing-Algorithmus, der arbitrary Permutation Routing Problem in der kleinsten Anzahl der parallelen Schritte löst. Im Folgenden wird eine einfache und elegante randomosierte Routing-Technik auf dem Beispiel des Hypercube-Netzwerks, ein Netzwerk mit N Prozessoren und O (N log (N )) Kanten, dargestellt. Dann wird die Chernoff-Schranke angewendet, um diese Technik zu analysieren. 3 Hypercube Der Hypercube gehört zu den leistungsstärksten Verbindungsnetzwerken, die bis heute bekannt sind. Viele andere Netzwerke können von dem Hypercube effizient, d.h. mit konstantem Zeitverlust, simuliert werden. Der Hypercube stellt daher eine vielseitig einsetzbare parallele Maschine dar. In diesem Abschnitt wird der Hypercube und seine wichtigsten Eigenschaften vorgestellt. 4 3 Hypercube Sei: • N = {0 ≤ i ≤ N − 1} die Menge der Prozessoren einer Parallelmaschine • N = 2n für eine ganze Zahl n • x = (x1 . . . xn ) binäre Darstellung einer Nummer aus N Unter der Topologie eines Rechnernetzes versteht man die Struktur der Verbindungen mehrerer Prozessoren untereinander, um einen gemeinsamen Datenaustausch zu gewährleisten. Definition 3.1 (Hypercube der Dimension n). Der n-dimensionale Hypercube ist ein Netzwerk mit N = 2n Knoten (Prozessoren) und folgender Netztopologie: ein Knoten x hat direkte Verbindung zu einem Knoten y genau dann, wenn sich x und y genau in einem Bit unterscheiden. Siehe Abbildungen 1 und 2. Definition 3.2 (Durchmesser eines Graphen). [2] Sei G = (V, E) ein ungerichteter Graph und u, v ∈ V . Bezeichne mit dist (u, v) die Länge des kürzesten Weges von u nach v. Dann ist der Durchmesser d (G) des Graphen G definiert als: d (G) = max {dist (u, v) ; u, v ∈ V } Mit anderen Worten - man kann mit einem Pfad der Länge größer gleich n jede zwei Knothen im Netz verbinden und es gibt Paare der Knoten, die mit einem kürzerem Pfad (Länger kleine n) nicht verbunden werden können. Wichtige Eigenschaften des Hypercube der Dimension n: • er besitzt 2n Knothen und n2n−1 ungerichtete Kanten • sein Durchmesser ist n • seine gesamte Anzahl eingehender und ausgehender Kanten ist 2nN , da jeder Knoten n ausgehende und n eingehende Kanten hat, das heißt, jede gerichtete Kante, deren Anzahl nN ist, wird ein mal als eingehende und ein mal als ausgehende gezählt • er besitzt eine rekursive Struktur, d.h. der Hypercube der Dimension n enthält 2 Kopien des Hypercube der Dimension n − 1 5 4 Routing-Algorithmen Abbildung 1: Hypercube der Dimension 0,1,2 und 3. Abbildung 2: Hypercube der Dimension 4. Die angegebene Topologie des Hypercube erlaubt einen einfachen Bit-Fixing-RoutingAlgorithmus anzuwenden, der im nächsten Kapitel präsentiert wird und dann als Teil eines weiteren Routing-Algorithmen eingesetzt wird. 4 Routing-Algorithmen 4.1 Bit-Fixing-Routing-Algorithmus Als erstes wird der Algorithmus dargestellt, der die Route für ein Paket ausrechnet. Eingabe: • a -Startstation des Paketes mit a = (a1 , . . . an ) • b -Endstation des Paketes mit b = (b1 , . . . , bn ) Idee: Jedes Bit der Startstation und der Endstation wird die Reihen nach verglichen und die nächste Kante wird für die Route genommen, falls es notwendig ist. 6 4 Routing-Algorithmen Bit-Fixing-Routing-Algorithmus für den n-Hypercube 1. for i = 1 to n do 2. 3. if ai 6= bi überquere die Kante (b1 , . . . , bi−1 , ai , . . . , an ) → (b1 , . . . , bi−1 , bi , ai+1 , . . . , an ) Beispiel 4.1 (4-dimensionaler Hypercube). : Seien a = (0000) und b = (1011). Dann läuft der Algorithmus wie folgt ab: i = 1: a1 6= b1 ⇒ (a1 a2 a3 a4 ) → (b1 a2 a3 a4 ) 0 6= 1 ⇒ (0000) → (1000) i = 2: a2 = b2 ⇒ bleiben in (b1 a2 a3 a4 ) = (b1 b2 a3 a4 ) 0 = 0 ⇒ (1000) i = 3: a3 6= b3 ⇒ (b1 b2 a3 a4 ) → (b1 b2 b3 a4 ) 0 6= 1 ⇒ (1000) → (1010) i = 4: a4 6= b4 ⇒ (b1 b2 b3 a4 ) → (b1 b2 b3 b4 ) 0 6= 1 ⇒ (1010) → (1011) Leider genügt dieser Algorithmus noch nicht, um das Permutation Routing Problem immer effizient lösen zu können. Oft führt pure Anwendung des Bit-Fixing-RoutingAlgorithmus für das Routen von N Paketen doch zu Stauungen. Es gibt nur bestimmte Fälle, bei denen das Routing-Problem für N Pakete nur mit Hilfe des Bit-FixingAlgorithmus gelöst werden kann. Im Folgenden wird gezeigt, dass der Algorithmus erfolgreich ist, falls die Endstationen der Pakete zufällig ausgewählt sind. An dieser Stelle kann man eine Ähnlichkeit mit dem Quicksort-Algorithmus erkennen. Es ist bekannt, dass beim aufsteigenden Sortieren eines Arrays, dessen Elemente am Anfang absteigend sortiert sind, Quicksort Ω (n2 ) Vergleichsoperationen braucht. Beim randomisierten Quicksort ist schon die erwartete Anzahl von Vergleichsoperationen O (n log (n)). Mit anderen Worten, die Randomisierung der Daten hilft die ungünstigen Permutationen zu umgehen, was sich auf den Ablauf des Algorithmus positiv auswirkt. Diese Überlegungen liegen der Idee des nächsten Routing-Algorithmus zu Grunde. 4.2 Two-Phase-Routing-Algorithmus Idee: man verschickt jedes Paket von seiner Startstation zuerst zu einer zufällig ausgewählten Zwischenstation und dann von der Zwischenstation zu seiner ursprünglichen Endstation. 7 5 Analyse Eingabe: • a -Startstation des Paket mit a = (a1 , . . . an , ) • b -Endstation des Pakets mit b = (b1 , . . . , bn ) Two-Phase-Routing-Algorithmus für den n-Hypercube 1. Phase I - wähle zufällig eine Zwischenstation x = (x1 , . . . xn , ) für das Paket und sende Paket von a nach x mit Hilfe des Bix-Fixing-Routing-Algorithmus 2. Phase II - sende Paket von x nach b mit Hilfe des Bix-Fixing-Routing-Algorithmus Für die Lösung des arbitrary Permutation Routing Problems wird Two-Phase-RoutingAlgorithmus parallel für alle N Pakete ausgeführt. Die Wahl der Zwischenstationen ist für jedes Paket unabhängig. Im nächsten Kapitel wird eine Analyse der oben dargestellten Algorithmen durchgeführt. Dabei wird Erfüllen der folgenden Bedingung für die Anordnung der Pakete in der Warteschlange verlangt: wenn die Warteschlange in einem Knoten zum Anfang eines Zeitschritts nicht leer ist, wird ein Paket durch eine mit diesem Knoten verbundene Kante während dieses Zeitschritts gesendet. Die Analyse wird zeigen, dass oben geschilderte Routing-Strategie asymptotisch optimale parallele Laufzeit besitzt. 5 Analyse Theorem 5.1. Mit der Wahrscheinlichkeit 1−O (N −1 ) können alle Pakete beim gegebenen arbitrary Permutation Routing Problem nach dem Schema des Two-Phase-RoutingAlgorithmus zu ihren Endstationen auf dem n-Hypercube in O (n) = O (log (N )) parallelen Schritten routet werden. 5.1 Analyse der Phase I Hiermit beginnt der Beweis des Theorems 5.1. Beweis. In diesem Abschnitt wird die Laufzeit der Phase I analysiert. Annahmen: • kein Paket darf mit der Phase II beginnen, bevor alle Pakete die Phase I beendet haben • falls ein Paket zu seiner zufällig ausgewählten Zwischenstation x geroutet wird, wird x = (x1 , . . . , xn ) wie folgt gebildet - jedes xi wird unabhängig auf 0 mit der Wahrscheinlichkeit 12 und auf 1 mit der Wahrscheinlichkeit 12 gesetzt. 8 5 Analyse Definiere: T1 (M ) - die Anzahl der Schritte für die Ausführung der Phase I für ein Paket M ; X1 (e) - die gesamte Anzahl der Pakete, die eine Kante e während der Phase I überqueren. In jedem Schritt der Phase I gilt folgendes für ein Paket M : entweder überquert es eine Kante oder befindet sich in einer Warteschlange, denn ein anderes Paket überquert eine Kante auf seiner Route. Diese Beobachtung setzt die Routing-Zeit für ein Paket M und die gesamte Anzahl Pakettransitionen durch die Kanten auf dem Pfad des Paketes M in Verbindung, was im folgenden Lemma genau ausgedruckt wird. Lemma 5.1. Seien e1 , . . . , em , m ≤ n - Kanten, die ein Paket M in der Phase I überquert. Dann: m X T1 (M ) ≤ X1 (ei ) i=1 Definiere: ein möglicher Paketpfad - ein Pfad P = (e1 , . . . , em ) aus m ≤ n Kanten, der in BitFixing-Algorithmus vorkommen kann, wobei die Knoten v0 , . . . , vm folgendermaßen miteinander verbunden sind ei = (vi−1 , vi ). Man setzte: T1 (P ) = m X X1 (ei ) i=1 Beachte: • die Wahrscheinlichkeit, dass die Phase I für alle Pakete mehr als T Schritte braucht, kann durch die Wahrscheinlichkeit, dass für einen Paketpfad P gilt T1 (P ) ≥ T abgeschätzt werden • es gibt insgesamt 22n mögliche Paketpfade, da es 2n Startstationen und 2n Endstationen gibt Darüber hinaus braucht man eine Abschätzung der Abweichung vom Erwartungswert m P mit hoher Wahrscheinlichkeit für T1 (P ). Da T1 (P ) = X1 (ei ) gilt, könnte man veri=1 suchen, die Chernoff-Schranke anzuwenden, die erlaubt, Wahrscheinlichkeit bestimmter Aussagen über die Summe von unabhängigen Zufallsvariablen abzuschätzen. In vorhandenen Fall trifft aber ein Problem zu - X1 (ei ) sind nicht unabhängig, da ein Paket, die Kante ei überquert, wird als nächste eine seiner Nachbarnkanten bevorzugen. 9 5 Analyse Die Idee für das Umgehen dieses Problems besteht aus folgenden Schritten: 1. es wird mit der Hilfe der Chernoff-Schranke gezeigt, dass nicht mehr als 6n verschiedene Pakete Kanten auf dem Pfad P überqueren 2. unter dieser Bedingung wird die Schranke mit hoher Wahrscheinlichkeit für die gesamte Anzahl der Transitionen,die Pakete auf den Kanten des Pfades P durchführen, gewonnen, wieder mit der Anwendung von Chernoff-Schranke. 5.1.1 Abschätzung für die Anzahl der aktiven Pakete Sei P - ein möglicher Paketpfad aus m Kanten beliebig, aber fest. Definition 5.1 (Aktives Paket in einem Knoten). Ein Paket ist aktiv im Knoten vi−1 auf dem Pfad P , falls es den Knoten vi−1 erreicht hat und die Möglichkeit hat, die Kante ei zu dem Knoten vi zu überqueren. Ein Paket kann im Knoten vi−1 aktiv sein, falls sich die Knoten vi−1 und vi im j. Bit unterscheiden und laut dem Bit-Fixing-Algorithmus der j. Bit konnte vorher noch nicht fixiert werden. Definition 5.2 (Aktives Paket auf dem Pfad). Ein Paket ist aktiv auf dem Pfad P , falls es in einem Knoten des Pfades P aktiv ist. Jetzt kann man das erste Ziel wie folgt definieren - man möchte die gesamte Anzahl der aktiven Pakete auf einem Pfad abschätzen. Man definiere Zufallsvariable Hk , k ∈ {1, . . . , N } mit 1 , f alls P aket, das im Knoten k startet, auf P aktiv ist Hk = 0 , sonst Die Zufallvariablen Hk sind unabhängig, da: • jedes Hk hängt nur von der Wahl der Zwischenstation für das Paket mit dem Start in k ab • die Wahl der Zwischenstationen ist unabhängig für alle Pakete Dann H = N P Hk - die gesamte Anzahl der aktiven Pakete. Um Chernoff-Schranke k=1 anwenden zu können, braucht man eine Abschätzung für E (H). Man nehme an, dass vi−1 = (b1 , . . . , bj−1 , aj , aj+1 , . . . , an ) und vi = (b1 , . . . , bj−1 , bj , aj+1 , . . . , an ) zwei Knoten sind, die sich im j. Bit unterscheiden. 10 5 Analyse Dann gilt Folgendes: 1. Nur die Pakete, die in einer der Adressen (∗, . . . , ∗, aj , . . . , an ) starten, wobei ∗ für 0 oder 1 steht, können den Knoten vi−1 erreichen, bevor ihren j. Bit festgelegt worden ist. Das heißt, es gibt nicht mehr als 2j−1 aktive Pakete im Knoten vi−1 : für jedes ∗ - zwei Möglichkeiten (0/1) und für jedes al , l ∈ {j, . . . , n} entsprechend . . · 1} = 2j−1 Möglichkeiten. eine Möglichkeit, insgesamt - 2| · .{z . . · 2} · |1 · .{z j−1 n−j+1 2. Ein Paket erreicht vi−1 , falls seine Zwischenstation eine der Adressen hat (b1 , . . . , bj−1 , ∗, . . . , ∗). Die Wahrscheinlichkeit, dass ein Paket im vi−1 tatsächlich aktiv ist, beträgt 2−(j−1) : für jedes bl , l ∈ {1, . . . , j − 1} ist die Wahrscheinlichkeit 1 1 1 , insgesamt - · . . . · = 2−(j−1) . 2 |2 {z 2} j−1 3. In diesem Schritt wird die erwartete Anzahl der aktiven Pakete pro Knoten berechnet. Definiere Zufallsvariable X i - Anzahl der aktiven Pakete in vi . Dann kann man Xi als Summe von Zufallsvariablen Xk darstellen, wobei 1 , f alls P aket, das im Knoten k startet, in vi aktiv ist Xk = 0 , sonst Dann gilt für jeden Knoten vi E X i = N −1 X Xk pk k=0 pk ist hier die Wahrscheinlichkeit, dass Paket mit dem Start in k im Knoten vi aktiv ist. In 1) und 2) wurde gezeigt, dass es nicht mehr als 2j−1 aktive Pakete in einem Knoten gibt, jedes mit Wahrscheinlichkeit 2−(j−1) . Dann gilt für jeden Knoten vi : j−1 N 2 X X 1 2j−1 E Xi = X k pk ≤ = =1 2j−1 2j−1 k=1 l=1 Daraus folgt, dass die erwartete Anzahl der aktiven Pakete pro Knoten gleich eins ist. 4. Um die erwartete Anzahl der aktiven Pakete bezüglich eines Pfades zu findet, braucht man nur m Knoten v0 , . . . , vm−1 zu betrachten. Es gilt dann: "m−1 # m−1 X X E [H] = E Xi = E Xi ≤ m · 1 ≤ n i=0 i=0 An dieser Stelle kann man die schon mal erwähnte Chernoff-Schranke für die Summe von Poisson- Versuchen anwenden. 11 5 Analyse Theorem 5.2. Sei X1 , . . . , Xn unabhängige Poisson-Versuche mit P r (Xi ) = pi . Sei n P X= Xi und µ = E [X]. Dann gelten folgende Chernoff-Schranken: i=1 1. für δ > 0, !µ δ P r (X ≥ (1 + δ) µ) < e (1 + δ)(1+δ) 2. für 0 < δ ≤ 1, P r (X ≥ (1 + δ) µ) ≤ e−µδ 2 /3 3. für R ≥ 6µ, P r (X ≥ R) ≤ 2−R Da H die Summe der unabhängigen Zufallsvariablen mit E (H) ≤ n ist, gilt nach dem Theorem 5.2 für R = 6n ≥ 6E [H] P r (H ≥ 6n) ≤ 2−6n Damit wurde gezeigt, dass mit hoher Wahrscheinlichkeit nicht mehr als 6n verschiedene Pakete Kanten auf einem Pfad P überqueren. Diese Abschätzung wird weiter benutzt, um die gesamte Anzahl der Transitionen auf dem P zu bekommen.(Siehe Seite 10) 5.1.2 Abschätzung der gesamten Anzahl von Transitionen auf einem Pfad Die Schranke für die Anzahl der Transitionen auf einem Pfad wird unter der oben genannten Bedingung (P r (H ≥ 6n) ≤ 2−6n ) berechnet. Mit anderen Worten möchte man die gesamte Anzahl der Transitionen auf einem Pfad abschätzen unter der Bedingung, dass es nicht mehr als 6n aktive Pakete für diesen Pfad gibt. Es genügt zu zeigen, dass aktive Pakete nicht mehr, als 30n Transitionen auf dem Pfad durchführen. Die bekannte Formel besagt: P r (A) = P r (A | B) P r (B) + P r A | B P r B ≤ P r (B) + P r A | B | {z } | {z } ≤1 ≤1 Das heißt: 6n P r T1 (P ) ≥ 30n ≤ P r H ≥ 6n + P r T1 (P ) ≥ 30n |H < | {z } | {z } | {z } {z } B B (1) P r (T1 (P ) ≥ 30n) ≤ 2−6n + P r (T1 (P ) ≥ 30n |H < 6n) (2) A A Als nächstes braucht man eine Abschätzung für die bedingte Wahrscheinlichkeit P r (T1 (P ) ≥ 30n |H < 6n). 12 5 Analyse Behauptung 1: P r (T1 (P ) ≥ 30n |H < 6n) ≤ 2−3n−1 (3) Man leite die benötigte Abschätzung schrittweise her: 1. Als erstes soll man sich Folgendes klar machen: falls ein Paket einen Pfad P in der Phase I des Algorithmus verlässt, wird es nie in dieser Phase auf den P zurückkehren. Um dies vorzustellen, nehme man an, dass es ein aktives Paket im Knoten vi gibt und es im nächsten Schritt des Algorithmus zu einem Knoten w 6= vi+1 übergeht. Der kleinste Index des Bits, indem sich vi+1 und w unterscheiden, kann nicht mehr in dieser Phase des Algorithmus bestimmt werden, das heißt, der Pfad P und die Route des Pakets werden sich in dieser Phase nicht mehr treffen. (Siehe Überlegungen 2 auf der Seite 11) 2. Man nehme an, ein Paket ist aktiv im Knoten vi−1 auf dem Pfad P . Wie groß ist die Wahrscheinlichkeit, dass das Paket die Kante ei überquert? Um sie abzuschätzen, stelle man sich vor, dass das Paket die Bits in der binären Darstellung seiner Zwischenstation eins nach dem anderen per unabhängigen zufälligen Münzwurf bestimmt. Die Knoten an der Kante ei unterscheiden sich in ihren binären Darstellungen in einem Bit (sei j. Bit).Um diese Kante zu überqueren, braucht es den geeigneten Wert für das j. Bit zu wählen. Es kann sein, dass das Paket noch andere Kanten überqueren muss, bevor der Wert für das j. Bit bestimmt wird. Darüber hinaus ist die Wahrscheinlichkeit, dass das Paket ei überquert, am höchsten 1/2. 3. Man betrachte jeden Punkt im Algorithmus als Versuch, falls gilt : in einem Knoten vi−1 auf dem Pfad P befindet sich ein aktives Paket M , das die Kante ei überqueren kann. Definiere: erf olgreich , f alls P aket M den P f ad P verlaesst V ersuch ist versagend , sonst Wie schon früher gezeigt wurde, gibt es nicht mehr als 6n aktive Pakete auf einem Pfad. Das heißt, dass es nicht mehr als 6n Erfolge vorkommen können. Jeder Versuch ist erfolgreich unabhängig mit Wahrscheinlichkeit mindestens 1/2. (Siehe 2 auf der Seite 13) Die Anzahl der Versuche ist selbst Zufallsvariable. Sie wird weiter benutzt, um die Abschätzung für die Anzahl der Transitionen zu gewinnen. 4. Behauptung 2: Wahrscheinlichkeit, dass aktive Pakete die Kanten auf einem Pfad mehr als 30n mal überqueren, ist kleiner als die Wahrscheinlichkeit, dass beim 36n-maligen fairen Werfen der Münze Kopf nicht mehr als 6n mal vorkommt. Man stelle sich vor, dass für jeden Versuch eine Münze geworfen wird, dabei Kopf assoziiere man mit Erfolg (Verlassen des Pfades) und Zahl assoziiere man mit Versage (Verbleiben eines Pakets auf dem Pfad). Sei erst Werfen nicht fair, sondern neigend zum Erfolg mit einer Wahrscheinlichkeit mindestens 1/2. Jedes Werfen 13 5 Analyse ist unabhängig. Man hat vorher gezeigt, dass es nicht mehr, als 6n aktive Pakete gibt. Das heißt im Fall mit Münze, dass sobald es 6n Erfolge gegeben hat, darf kein Erfolg mehr vorkommen. Das faire Werfen wird die Wahrscheinlichkeit nur verkleinern. Theorem 5.3. Sei X1 , . . . , Xn unabhängige Poisson-Versuche mit P r (Xi ) = pi . n P Sei X = Xi und µ = E [X]. Dann gilt für 0 < δ < 1: i=1 a) P r (X ≤ (1 − δ) µ) ≤ e−δ !µ (1 − δ)(1−δ) b) P r (X ≤ (1 − δ) µ) ≤ e−µδ 2 /2 Definiere Zufallvariable Z - Anzahl der Köpfe beim 36n-maligen fairen Werfen, die als Summe der Zufallsvariablen Z1 (einmaliges faires Werfen) geschrieben werden 36n P kann: Z = Z1 mit i=1 1 , M uenze zeigt den Kopf Z1 = 0 , sonst und P r (Z1 ) = 21 , dann " 36n # 36n X X 1 E [Z] = E Z1 = E [Z1 ] = · 36n = 18n 2 i=1 i=1 Nach dem Theorem 5.3 mit δ = 23 gilt: 2 −18n( 2 3) 2 P r (Z ≤ 6n) = P r Z ≤ 1 − 18n ≤ e 2 = e−4n ≤ 2−3n−1 3 |{z} µ=E[Z] Daraus folgt: P r (T1 (P ) ≥ 30n |H ≤ 6n ) ≤ P r (Z ≤ 6n) ≤ 2−3n−1 (4) 5. In diesem Schritt setzt man die Abschätzung für P r (T1 (P ) ≥ 30n |H ≤ 6n) in 2 und erhält: 1 1 −3n P r (T1 (P ) ≥ 30n) ≤ 2−6n +2−3n−1 = 2−3n 2−3n + 2−1 = 2−3n + 23n 2 ≤ 2 |{z} ≤1/2 Und damit P r (T1 (P ) ≥ 30n) ≤ 2−3n 14 (5) 6 Zusammenfassung 6. Es gibt maximal 22n mögliche Paketpfade (siehe Seite 9) im Hypercube. Dann ist die Wahrscheinlichkeit, dass die Bedingung T1 (P ) ≥ 30n für jeden möglichen Pfad P erfüllt ist, durch 22n · 2−3n = 2−n = O (N −1 ) begrenzt. Das heißt, mit der Wahrscheinlichkeit 1 − O (N −1 ) braucht kein Paket mehr als 30n Schritte für die Ausführung der Phase I. Damit ist die Analyse der Phase I beendet. 5.2 Analyse der Phase II Man betrachtet erst die Ausführung der Phase II wie vorher (siehe 5.1 auf der Seite 8) unter der Annahme, dass die Phase I komplett beendet ist. Dann kann die Ausführung der Phase II als rückgängige Ausführung der Phase I angesehen werden - Pakete starten jetzt in ihren zufälligen Zwischenstationen und werden nach ihren Endstationen verschickt. Das bedeutet, dass auch für die Ausführung der Phase II mit der Wahrscheinlichkeit 1 − O (N −1 ) kein Paket mehr als 30n Schritte braucht. 5.3 Beseitigung der Annahme Man kann die Annahme, dass Pakete Phase II nur nach der kompletten Ausführung der Phase I beginnen, aus dem Beweis entfernen. Da ein Paket angehalten werden kann nur, falls ein anderes Paket die benötigte Kante überquert, kann man beschließen, dass jedes Paket Phasen I und II mit der Wahrscheinlichkeit 1 − O (N −1 ) nach den höchsten 60n Schritte beendet, unabhängig davon, wie die Phasen aufeinander wirken. Damit ist das Theorem 5.1 bewiesen. 6 Zusammenfassung Der Durchmesser des n-dimensionelen Hypercube ist n. Betrachtet man Bit-FixingAlgorithmus für das Routen eines Pakets, kann man einfach sehen, das die Anzahl der Kanten, die der Algorithmus durchläuft, entspricht der Anzahl der Bits, in denen sich die binäre Darstellungen der Startstation und der Endstation unterscheiden. Damit findet der Algorithmus immer den kürzesten Weg zwischen zwei Knoten und ist optimal. Aus dem Theorem 5.1 folgt, dass der parallele Two-Phase-Routing Algorithmus auch optimal ist. Im Fall der Routing auf Hypercube ist der Netzwerk nicht voll ausgelastet, da 2nN gerichtete Kanten nur für Transportieren von N Paketen benutzt werden. Zu einem Zeitpunkt können nur maximal 1/2n der Kanten belastet werden. Der Bedarf nach der größeren Belastung kann mit anderen Arten der Netzwerke gelöst werden. 15 7 Literatur 7 Literatur [1] Michael Mitzenmacher and Eli Upfal. Probability and Computing. Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, 2005. [2] Prof.Dr.Burkhard Monien. Skript zur vorlesung algorithmen für synchrone rechnernetze, 2006. [3] Prof. Thomas Thierauf. Parallele algorithmen, 2001. 16