Seminar Network Design Routing auf dem Hypercube

Werbung
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
Herunterladen