routing in netzen, seminar Über algorithmen, prof. dr. … · schritt entspricht also dem...

12
ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT, SOMMERSEMESTER 2009 1 Routing in Netzen Matthias Rost I NHALTSVERZEICHNIS I Einleitung 1 I-A Modell ............ 1 I-B Analyse der Algorithmen . . 1 I-C Architekturen ........ 1 I-D Greedy-Algorithmus ..... 2 II Routing in Arrays 2 II-A 1-dimensionale Arrays .... 2 II-B 2-dimensionale Arrays .... 2 II-C Dynamisches Routing .... 6 II-D Randomisierte Algorithmen . 7 II-E Deterministische Algorithmen 7 III Simulationsergebnisse 8 IV Mathematische Sätze 8 Literatur 8 I. EINLEITUNG Parallele Architekturen dienen der Leistungsstei- gerung bei der effektiven Lösung von Problemen. Durch die Verteilung des Problems und / oder des Algorithmus bedarf es insbesonders einer ef- fektiven Kommunikation zwischen den beteiligten Rechnern. A. Modell Als Routing wird der Mechanismus der We- gewahl bezeichnet, so dass Paktete von ihrem Start- zu ihrem jeweiligen Zielprozessoren über- führt werden. Als Paket können hier z.B. Ergeb- nisse von Berechnungen betrachtet werden. Als Routing-Konzept gehen wir nur auf das Store-And- Forward Modell ein. In diesem kann ein Prozessor in jedem Zeitschritt über eine Kante maximal ein Paket erhalten und senden. Es können somit nicht zwei Pakete aus einem Prozessor über ein und dieselbe Kante verschickt werden. Es ist jedoch grundsätzlich möglich, dass in einem Prozessor mehrere Pakete um die Benutzung einer Kante kon- kurrieren. Konkurrieren mehrere Pakete innerhalb eines Prozesors um eine Kante, werden diese in einer Queue (dt. Warteschlange) zwischengespei- chert. Eine Queue definiert dabei eine Ordnung auf den Paketen, in welcher die Pakete in folgen- den Zeitschritten versandt werden sollen. Für jede ausgehende Kante eines Prozessors existiert eine eigene Queue. Desweiteren betrachten wir haupt- sächlich 1:1-Szenarien, d.h. für jeden Prozessor ist maximal ein Paket bestimmt und jeder Prozessor kann maximal ein Paket zu Beginn des Routings enthalten. B. Analyse der Algorithmen Bei der Analyse der Algorithmen werden wir drei wichtige Teilaspekte des Routings betrachten: Laufzeit des Algorithmus, d.h. nach wie vie- len Zeitschritten hat jedes Paket sein Ziel erreicht. Größe der Queues, d.h. wie viele Pakete kön- nen in einem Prozessor vorliegen, so dass alle über die gleiche Kante versendet werden müssen. Die Größe einer Queue gibt insbesondere ei- ne obere Grenze für die Verzögerung eines Pakets in einem Prozessor an. Als Verzöge- rung eines Pakets werden wir die Anzahl an Zeitschritten insgesamt verstehen, die dieses Paket in einer Queue vorliegt und somit nicht (sofort) weitergeleitet werden kann. Die Laufzeit der Algorithmen spielt eine bedeu- tende Rolle, da das Routing oft maßgeblich für die Laufzeit von anderen Algorithmen ist. Die Größe der Warteschlangen betrachten wir, da ei- ne größere Queue grundsätzlich mehr Aufwand für den einzelnen Prozessor bedeutet und nicht beliebig viel Speicherplatz für Pakete vorhanden sein könnte. Wir werden Worst Case und Average Case Analysen der Laufzeit und der Queue-Größen durchführen. C. Architekturen Eine Menge an Prozessoren wird als Netz for- malisiert. Obwohl es verschiedene Netzarchitektu- ren gibt, werden wir hier jedoch nur auf Array (dt. Feld oder Gitter) Architekturen eingehen. Die grundlegenden Ideen der Algorithmen lassen sich jedoch auch auf Hypercube ähnliche Architekturen übertragen.

Upload: others

Post on 24-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 1

Routing in NetzenMatthias Rost

INHALTSVERZEICHNIS

I Einleitung 1I-A Modell . . . . . . . . . . . . 1I-B Analyse der Algorithmen . . 1I-C Architekturen . . . . . . . . 1I-D Greedy-Algorithmus . . . . . 2

II Routing in Arrays 2II-A 1-dimensionale Arrays . . . . 2II-B 2-dimensionale Arrays . . . . 2II-C Dynamisches Routing . . . . 6II-D Randomisierte Algorithmen . 7II-E Deterministische Algorithmen 7

III Simulationsergebnisse 8

IV Mathematische Sätze 8

Literatur 8

I. EINLEITUNG

Parallele Architekturen dienen der Leistungsstei-gerung bei der effektiven Lösung von Problemen.Durch die Verteilung des Problems und / oderdes Algorithmus bedarf es insbesonders einer ef-fektiven Kommunikation zwischen den beteiligtenRechnern.

A. Modell

Als Routing wird der Mechanismus der We-gewahl bezeichnet, so dass Paktete von ihremStart- zu ihrem jeweiligen Zielprozessoren über-führt werden. Als Paket können hier z.B. Ergeb-nisse von Berechnungen betrachtet werden. AlsRouting-Konzept gehen wir nur auf das Store-And-Forward Modell ein. In diesem kann ein Prozessorin jedem Zeitschritt über eine Kante maximal einPaket erhalten und senden. Es können somit nichtzwei Pakete aus einem Prozessor über ein unddieselbe Kante verschickt werden. Es ist jedochgrundsätzlich möglich, dass in einem Prozessormehrere Pakete um die Benutzung einer Kante kon-kurrieren. Konkurrieren mehrere Pakete innerhalbeines Prozesors um eine Kante, werden diese ineiner Queue (dt. Warteschlange) zwischengespei-chert. Eine Queue definiert dabei eine Ordnung

auf den Paketen, in welcher die Pakete in folgen-den Zeitschritten versandt werden sollen. Für jedeausgehende Kante eines Prozessors existiert eineeigene Queue. Desweiteren betrachten wir haupt-sächlich1:1-Szenarien, d.h. für jeden Prozessor istmaximal ein Paket bestimmt und jeder Prozessorkann maximal ein Paket zu Beginn des Routingsenthalten.

B. Analyse der Algorithmen

Bei der Analyse der Algorithmen werden wirdrei wichtige Teilaspekte des Routings betrachten:

• Laufzeit des Algorithmus, d.h. nach wie vie-len Zeitschritten hat jedes Paket sein Zielerreicht.

• Größe der Queues, d.h. wie viele Pakete kön-nen in einem Prozessor vorliegen, so dassalle über die gleiche Kante versendet werdenmüssen.

• Die Größe einer Queue gibt insbesondere ei-ne obere Grenze für die Verzögerung einesPakets in einem Prozessor an. Als Verzöge-rung eines Pakets werden wir die Anzahl anZeitschritten insgesamt verstehen, die diesesPaket in einer Queue vorliegt und somit nicht(sofort) weitergeleitet werden kann.

Die Laufzeit der Algorithmen spielt eine bedeu-tende Rolle, da das Routing oft maßgeblich fürdie Laufzeit von anderen Algorithmen ist. DieGröße der Warteschlangen betrachten wir, da ei-ne größere Queue grundsätzlich mehr Aufwandfür den einzelnen Prozessor bedeutet und nichtbeliebig viel Speicherplatz für Pakete vorhandensein könnte. Wir werden Worst Case und AverageCase Analysen der Laufzeit und der Queue-Größendurchführen.

C. Architekturen

Eine Menge an Prozessoren wird als Netz for-malisiert. Obwohl es verschiedene Netzarchitektu-ren gibt, werden wir hier jedoch nur auf Array(dt. Feld oder Gitter) Architekturen eingehen. Diegrundlegenden Ideen der Algorithmen lassen sichjedoch auch auf Hypercube ähnliche Architekturenübertragen.

Page 2: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 2

,(a) ein 1-dimensionales Array mit Bezeichnungen derProzessoren

,(b) ein 2-dimensionales Array mit Bezeichnungen derProzessoren

D. Greedy-Algorithmus

Die Routing-Algorithmen, die wir betrachten,sind größtenteils Greedy-Algorithmen. Von ei-nem Greedy-Algorithmus spricht man genau dann,wenn Pakete immer entlang eines kürzesten Wegesim Netz versandt werden.

II. ROUTING IN ARRAYS

A. 1-dimensionale Arrays

Wir betrachten ein 1-dimensionales Array wie inAbbildung 1a mit N Prozessoren.

Theorem II.1. Unter der Annahme des 1:1-Szenarios und unter Verwendung des Greedy-Algorithmus erreichen innerhalb vonN − 1 Zeit-schritten alle Pakete ihre Ziele.

Beweis: Gemäß dem Greedy-Algorithmuswird jedes Paket gemäß seiner Zielbestimmungsofort nach rechts oder links weiterleitet. EineVerzögerung von Paketen kann nur dann eintreten,wenn mehrere Pakete innerhalb eines Prozessorsdie gleiche Kante benutzen wollen. Zu Beginndes Routings befindet sich jedoch gemäß des1:1-Szenarios in jedem Prozessor nur ein Paket. DaPakete, die nach rechts geschickt werden, undPakete, welche nach links geschickt werden, niein der gleichen Queue enthalten sind, kann jedesPaket sofort weitergeleitet werden. Pakete könnensomit nicht verzögert werden. Sei d der Abstand

von einem Paket vor dem Routing zu seinem Ziel-prozessor. Das Routing eines Pakets mit Abstandd ist nach genau d Zeitschritten abgeschlossen.Da der maximale Abstand im Netzwerk N-1 ist,beträgt die maximal benötigte Zeit zum Routenaller Pakete N-1 Zeitschritte.

In einem 1-dimensionalem Array mit der An-nahme des1:1-Routings ist die benötigte Laufzeitoptimal und die Größe der Queues ist maximal 1.Sofern wir zu Beginn des Routings mehrere Paketein einem Prozessor zulassen, benötigen wir Queu-es, welche mehr als 1 Paket aufnehmen können.Weiterhin müssen wir nun eine Ordnung auf denPaketen definieren. Als Ordnung verwenden wirdas sogenannte Farthest-First-Protokoll: Konkurrie-ren mehrere Pakete innerhalb eines Prozessors umeine Kante, so erhält dasjenige Paket Vorrang, wel-ches den größten Abstand zu seinem Zielprozessorbesitzt.

Theorem II.2. Seien in einem linearen Array derGröße N maximal N Pakete gegeben, so dassjedes Paket ein eindeutiges Ziel hat. Die Lauf-zeit des Greedy-Algorithmus unter Verwendungdes Farthest-First-Protokolls beträgt maximal N-1Schritte.

Beweis: Seien die Prozessoren von links nachrechts mit 1, 2, .., N nummeriert. Wir betrachteno.B.d.A. nur die Pakete, die nach links geschicktwerden und argumentieren wie folgt:

• Das Paket mit dem Ziel i kann maximal (i-1)-Mal verzögert werden, da nur die Pakete mitden Zielen[1, ..., i− 1] höher priorisiert sind.

• Das Paket mit dem Ziel i hat zu Beginn derRouting-Phase einen maximalen Abstand vonN-i zu seine m Zielprozessor.

Aus diesen beiden Punkten ergibt sich für jedesPaket, das nach links geroutet wird, ergibt sichdie maximale Laufzeit als Summe der maximalenVerzögerung und dem maximalen Abstand zumZielprozessor zui − 1 + N − i = N − 1. Somitkann jedes Paket innerhalb von N-1 Schritten zuseinem Ziel geroutet werden.

B. 2-dimensionale Arrays

Fügt man eine zweite Dimension wie in Abbil-dung 1b hinzu, so wird die Analyse komplizierter.Wir sprechen dann von einem Array mit N Prozes-soren bzw. einem

√Nx

√N Array. Der Greedy-

Algorithmus ist definiert als:1) Route Paket in richtige Spalte2) Route Paket in richtige Zeile1) Worst-Case Analyse:

Page 3: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 3

a) Laufzeit: Wie man dem Code entnehmenkann, wird das Paket zuerst innerhalb der jeweili-gen Zeile in die richtige Spalte geroutet. Der ersteSchritt entspricht also dem Greedy-Algorithmus,wie er in dem Theorem II.1 beschrieben ist. JedesPaket wird demnach innerhalb von

√N − 1 vielen

Schritten seine Zielspalte erreichen.Die zweite Phase des Greedy-Algorithmus, in derdie Pakete in ihren richtigen Spalten zu den rich-tigen Zeilen geroutet werden, benötigt gemäß II.2maximal weitere

√N − 1 viele Schritte. Die Lauf-

zeit ergibt sich also insgesamt zu2√

N − 2. Diesist die optimale Laufzeit, da für ein Paket aus demobersten linken Prozessor mindestens2

√N − 2

nötig sind, um dieses in den untersten rechtenProzessor zu routen.

b) Größe der Queues:Während die Laufzeitdes Greedy-Alogrithmus optimal ist, kann dieGröße der Queues inO(

√N) liegen. Um dies

zu sehen, betrachten wir das folgende Szenario:In einem

√Nx

√N Array werden Pakete

mit dem Ziel (2,√

N3 ), (3,

√N3 ), .., (N,

√N3 )

in den Prozessor [1, 2], [1, 3], .., [1,√

N3 ] und

[2, 1], [2, 2], .., [2, 2√

N3 − 1] abgelegt. Für ein9x9

Array ist dieses Szenario in Abbildung 1 skizziert.

Innerhalb von√

(N)

3 − 1 Zeitschritten erreichenalle der

√N − 2 Pakete gemäß des Greedy-

Algorithmus den Prozessor[3,√

N3 ]. Die Ziele

sämtlicher Pakete liegen unterhalb des Prozessors[3,

√N3 ]. Somit wächst die Queue für die Kante

zum Prozessor[4,√

N3 ] in diesem Prozessor auf

(√

N − 2) − (√

N3 − 1) = 2

√N

3 − 1 an.2) Average Case Analyse:Neben dem Worst

Case ist insbesondere auch der Average Case vonInteresse. Wir werden zeigen,

• dass Queues mit großer Wahrscheinlichkeitnicht mehr als 4 Pakete aufnehmen werdenund

• dass der Erwartungswert für die Verzögerungeines Pakets konstant ist.a) Analyse mit Hilfe des Wide-Channel-

Modells: Wir führen das Wide-Channel-Modellein. In diesem ist es möglich, dass beliebig vie-le Pakete innerhalb eines Zeitschritts über eineKante versandt werden. Obwohl unter dieser An-nahme das Greedy-Routing immer optimal ist, er-laubt dieses Modell wichtige Rückschlüsse auf dasStandard-Modell, in dem über eine Kante jeweilsnur ein Paket in einem Zeitschritt versandt werdenkann.

Theorem II.3. Sei e eine Kante in einer Spalte. SeiX die Zufallsvariable, die angibt wie viele Pakete

Abbildung 1: Ein Ausschnit aus einem 9x9 Array.In den runden Prozessoren sind die Pakete mit denBestimmungsorten angegeben. In den rechteckigenProzessoren stehen deren Bezeichnungen.

die Kante e innerhalb von∆ Zeitschritten überque-ren. Die Wahrscheinlichkeit, dass mindestensα∆

2Pakete die Kante e überqueren istP (X ≥ α∆

2 ) =

e(α−1−α ln α)∆2 .

Beweis: Wir betrachten o.B.d.A. die Kantee, welche die Prozessoren[i, j] und [i + 1, j]verbindet. Sei T ein Zeitpunkt, welcher in dem zubeobachtenden Zeitfenstert + 1, t + 2, ..., t + ∆liegt. Ein Paket p kann im Wide-Channel-Modelldie Kante nur zum Zeitpunkt T überqueren, wennder Abstand des Pakets p zu Beginn des Routings Twar. Da es für jede Zeile und jedes T nur maximalzwei solche Pakete geben kann, und da die Paketeoberhalb von der Zeile i entstanden sein müssen,gibt es2i Pakete, welche die Kante zum ZeitpunktT überqueren können. Da wir∆ viele Zeitschrittebetrachten gibt es insgesamt2i∆ Pakete, welchedie Kante im Zeitfenster überqueren könnten.Ein Packet, welches die Kante e überquert, mussfür einen Prozessor unterhalb von i bestimmt sein.Es gibt

√N − i viele solcher Prozessoren. Da die

Page 4: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 4

Zielprozessoren zufällig gewählt sind, beträgt dieWahrscheinlichkeit, dass ein Paket einen solchenZielort hat

√N−iN

.Wir verwenden den Satz IV.1:

P (X ≥ β · PΣ) ≤ e(1− 1β−ln β)β·PΣ . (1)

Mit jedem der 2i∆ Pakete, welche die Kanteüberqueren könnte, wird eine ZufallsvariableXk

assoziiert. Diese Bernoulli-Variable beschreibt, obdas Paket die Kante e überquert oder nicht. DieZufallsvariableX = ΣXk ist somit die Anzahlan Paketen, welche diese insgesamt überqueren.Die Wahrscheinlichkeit, die Kante zu überqueren,ist für jedes PaketPk =

√N−iN

. Es ist somit

PΣ = ΣPk = PΣ = 2i∆√

N−iN

= 2i(√

N−1)∆N

.Wir wählenβ = αN

4i(√

N−i).

Da

β · PΣ =αN

4i(√

N − i)·2i(

√N − 1)∆

N

=α∆

2

erhalten wir durch Einsetzen dieser Werte in 1

P (X ≥ βPΣ) ≤ e(1− 1β−lnβ)βPΣ

⇔ P (X ≥α∆

2) ≤ e(1− 1

β−ln β) α∆

2 .

Weiterhin gilt, dassβ ≥ α, da β · 4i(√

N−i)N

= α

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

i

y

Abbildung 2: Der Term4·i(√

N−i)N

in Abhängigkeitvon i im Bereich[0,

√N ].

und 4i(√

N−i)N

≥ 1. Dies kann mittels Funktions-analysis gezeigt werden (siehe 2). Da der Term1 − 1

β− lnβ für kleinereβ zunimmt, ergibt sich

letztlich durch Substitution vonα durch β dasErgebnis

P (X ≥α∆

2) = e(α−1−α−lnα)∆

2 .

0

2

4

6

8

10

02

46

810

0

0.2

0.4

0.6

0.8

1

alphadelta

P

Abbildung 3: Visualierierung des Satzes II.3. DieP-Achse gibt die Wahrscheinlichkeit an, dass in-nerhalb von delta Zeitschritten mehr alsdelta·alpha

2Pakete eine Kante benutzen.

Gemäß Satz II.3 können wir nun abschätzen wieviele Pakete in dem Wide-Channel-Modell einevertikale Kante überqueren. In Abbildung 3 istder 3D-Plot dieser Funktion skizziert. Die Wahr-scheinlichkeit, dass zum Beispiel mehr als3·∆4Pakete innerhalb von∆ Zeitschritten eine Kanteüberqueren iste−0.054·∆.

b) Übertragung der Ergebnisse für das Wide-Channel-Modell auf das Standard-Modell:

Theorem II.4. Für alle T, ∆, x > 0 gilt, dasswenn x Pakete eine Kante e in dem Zeitfenster[T + 1, T + ∆] mit der Größe∆ im Standard-Modell überqueren, so gibt es eint ≥ 0, so dassmindestensx+ t Pakete die Kante e im Zeitfenster[T + 1 − t, T + ∆] des Wide-Channel-Modellsüberqueren.

Beweis: Sei t ≥ 0 und seiT − t der letzteZeitpunkt vorT , so dass im Standard-Modell keinPaket die Kante e benutzt. Dat minimal ist, ist dieKante e während[T −t+1, T ] im Standard-Modellausgenutzt. Folglich überqueren in dem Zeitraum[T − t + 1, T ] genau t Pakete die Kante e. Da indem Zeitraum[T + 1, T + ∆] x Pakete die Kantebenutzen, folgt, dassx + t Pakete diese Kante indem Zeitraum[T − t + 1, T + ∆] benutzen.Betrachten wir nun das Routing für das Wide-Channel-Modell:

• Da zum ZeitpunktT − t im Standard-Modellkein Paket über die Kante e versandt wur-de, wird auch im Wide-Channel-Modell zumZeitpunktT − t kein Paket über diese Kanteversandt. Dies ergibt sich, da Pakete gemäßdem Farthest-First-Protokoll nur durch Pa-

Page 5: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 5

kete verzögert werden können, welche einegrößere Entfernung haben. Wenn ein Paketim Standard-Modell also so verzögert wordenwäre, dass es die Kante e zum ZeitpunktT −t

nicht überqueren konnte, so müsste es einanderes, höher priorisiertes Paket gegeben ha-ben, so dass dieses die Kante e zum ZeitpunktT − t überquert hätte. Da es dieses nicht gibt,wird die Kante auch im Wide-Channel-Modellnicht benutzt.

• Alle Pakete, die im Standard-Modell nachdem ZeitpunktT − t über die Kante übertra-gen werden, werden auch im Wide-Channel-Modell nach dem ZeitpunktT − t übertragen.Dies wird aus dem vorherigen Punkt ersicht-lich. Würde ein Paket, welches im Standard-Modell erst nachT − t die Kante überquert,diese im Wide-Channel-Modell vorT − t

überqueren, so hätte dieses Paket im Standard-Modell durch ein anderes Paket verzögertwerden müssen. Da zum ZeitpunktT − t

jedoch kein Paket im Standard-Modell dieKante überquert, gibt es offenbar kein solchesPaket und das Paket kann auch im Wide-Channel-Modell die Kante e erst nach demZeitpunktT − t überqueren.

Wir haben somit gezeigt, dass wenn x Pakete imStandard-Modell die Kante e im Zeitraum[T +1, T +∆] überqueren, im Wide-Channel-Modell imZeitraum[T −t+1, T +∆] mindestensx+t Paketediese Kante benutzen.

Theorem II.5. Die Wahrscheinlichkeit, dassα∆2

oder mehr Pakete eine Spalten Kante e in einemZeitfenster der Größe∆ überqueren, beträgt imStandard-Modell unter Verwendung des Greedy-AlgorithmusO(eα−1−α ln α)∆

2 ) für 1.5 ≤ α ≤ 2.

Beweis: Wir benutzen den Satz II.4 unddefinieren die Zufallsvariable wieder als dieAnzahl an Paketen, welche die zu beobachtendeKante e überqueren. Durch diesen wissen wir,dass mehr alsα∆

2 Pakete eine Kante im Standard-Modell im Zeitraum[T + 1, T + ∆] nur benutzen,wenn es eint ≥ 0 gibt, so dass im Wide-Channel-Modell im Zeitraum von[T − t + 1, T + ∆] mehrals α∆

2 + t Pakete über die beobachetete Kanteversendet werden. Um diese Wahrscheinlichkeitzu berechnen, benutzen wir erneut den Satz IV.1.Für diesen wählen wir die Parameter wie folgt:

n = 2i(∆ + t)

Pk =

√N − i

N

PΣ =2i(∆ + t)(

√N − i)

N

β =(α∆

2 + t)N

2i(∆ + t)(√

N − i)

PΣ · β =α · ∆

2+ t.

Wir setzen diese Werte in 1 ein:

P (X ≥α∆

2+ t) ≤

t≥0

e(1− 1β−lnβ)( α·∆

2+t)

≤ e(1− 1β−ln β)( α∆

2) · Σt≥0e

(1− 1β−ln β)t

≤e(1− 1

β−lnβ)( α∆

2)

1 − e(1− 1β−ln β)

.

Da wiederumα ≤ β für α ≤ 2, erhalten wir:

≤e(α−1−α ln α)(∆

2

1 − e(1− 1α−ln α)

Da 1.5 ≤ α ≤ 2 und 1 − e(1− 1α−lnα) in

1.5 1.6 1.7 1.8 1.9 20.06

0.08

0.1

0.12

0.14

0.16

0.18

alpha

y

Abbildung 4: Die Funktion y =1−e(1− 1α−ln α) im

Bereich von[1.5, 2]

diesem Bereich streng monoton steigend ist (siehe4), minimieren wir den Nenner mitα = 1.5.

≤e(α−1−α ln α)∆

2

1 − e(1− 11.5

−ln 1.5)

<e(α−1−α ln α)∆

2

0.069

= O(e(α−1−α ln α)∆2 )

Theorem II.6. Die Wahrscheinlichkeit, dass mehrals c · lnN Pakete in aufeinanderfolgenden Zeit-schritten eine Kante e überqueren, beträgtO( 1

N)

für c < 13 .

Page 6: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 6

Beweis: Wir benutzen Satz II.5. Da wir nuraufeinanderfolgende Pakete betrachten möchten,setzen wirα = 2. Dadurch ist die Anzahl an Pake-ten gleich der Größe des Zeitrahmens∆. Weiterhinsetzen wir∆ = c · lnN mit c = 5

2 ln 2−1 < 13.Durch Einsetzen in II.5 erhalten wir:

P (X ≥ c lnN) = O(e(1−2 ln 2)5

2 ln 2−1ln N

2 )

= O(e−5 ln N

2 )

= O(N− 52 )

Da es nurO(N) viele Kanten und nurO(√

N)viele zu betrachtende Zeitfenster gibt, liegt dieWahrscheinlichkeit, dass auf einer beliebigen Kan-te in einem beliebigen Zeitfenster mehr alsc lnN

Pakete hintereinander eine Kante überqueren, inO( 1

N).

Theorem II.7. Die Wahrscheinlichkeit, dass einebeliebige Queue auf maximal 4 Pakete anwächstliegt in 1 − O( ln4 N√

N).

Beweis: Wir betrachten die Queue der SpaltenKante e welche die Prozessoren[i, j], [i + 1, j]verbindet. Gemäß dem Satz II.6 wissen wir, dassmit Wahrscheinlichkeit1 − O( 1

N) nicht mehr als

c lnN Pakete eine beliebige Kante aufeinanderfol-gend überqueren. Jede Queue ist somit mit Wahr-scheinlichkeit1 − O( 1

N) alle c lnN Zeitschritte

leer. Damit die Größe einer Queue auf mindestens4 Pakete anwachsen kann, müssen innerhalb einessolchen Zeitfensters der Größec lnN mindestens4 Pakete aus der Zeilei, welche eine Zielzeile> i und die Zielspalte j haben, den Prozessor[i, j] erreichen. Für jedes dieser 4 Pakete gibt eshöchstensc lnN viele Zeitpunkte, zu denen dieseden Prozessor erreichen könnten. Weiterhin ist dieWahrscheinlichkeit, dass diese 4 Pakete als Zielgenau einen Prozessor unterhalb[i, j] haben, je-weils höchstens 1√

N. Die Wahrscheinlichkeit, dass

4 Pakete in dem Zeitfenster den Prozessor[i, j]

erreichen beträgt somitO( ln4 NN2 ). Da esO(N) vie-

le zu betrachtende Queues gibt undO(√

N) vieleZeitfenster betrachtet werden müssen, ist die Wahr-scheinlichkeit, dass eine beliebige Queue jemalsmindestens 4 Pakete aufnehmen wirdO( ln4 N√

N).

Theorem II.8. Die Wahrscheinlichkeit, dass einPaket mindestensδ Zeitschritte verzögert wird, liegtin O(e−

δ6 ). Die erwartete Verzögerung für ein

beliebiges Paket ist somit konstant.

Beweis: Wir betrachten nur Pakete, welcheinnerhalb einer Spalte geroutet werden, da die Ver-zögerung für ein Paket innerhalb einer Zeile gemäß

des Greedy-Algorithmus immer 0 ist. SeiT derZeitpunkt im Wide-Channel-Modell, zu dem einPaket seinen Zielprozessor erreicht. Im Standard-Modell erreiche dieses Paket seinen Zielprozessorerst zum ZeitpunktT +δ, so dass eine Verzögerungvon δ Zeitschritten vorliegt.

Gemäß der Argumentation aus dem Beweis vonSatz II.4 müssen mindestensδ Pakete mit höhererPriorisierung die Kante unmittelbar vor dem Ziel-prozessor überquert haben. Insgesamt haben somitδ + 1 Pakete die Kante innerhalb des Zeitraums[T, T + δ] überquert. Wir können nun Satz II.5verwenden. Durch Einsetzen vonα = 2, da wirnur konsekutive Pakete betrachten wollen, und∆ = δ + 1 erhalten wir:

P (X ≥α∆

2) = O(e(α−1−α ln α)∆

2 )

⇔ P (X ≥ δ + 1) = O(e(1−2 ln 2) δ+1

2 )

= O(e−0.194(δ+1))

= O(e−δ6 ).

Die Wahrscheinlichkeit, dass ein Paketδ Schritteverzögert wird, liegt somit inO(e

δ6 ). Der Erwar-

tungswert, für die Verzögerung ergibt sich zu:

E(O(eδ6 )) ≤ E(ce−

δ6 ) =

δ≥0

δ(ce−δ6 )

= c∑

δ≥0

δ(16√

e)δ

Es gilt∑∞

k=0 kqk = q

(q−1)2 für 0 < q < 1. Wirsetzen in unserem Fallq = 1

6√

e< 1 und erhalten

E(ce−δ6 ) = c

q

(q − 1)2< 36c = O(1).

Die erwartete Verzögerung für ein Paket ist somitkonstant.

C. Dynamisches Routing

In dem klassischen1:1-Szenario liegen zu Be-ginn Pakete in Prozessoren vor, welche daraufhinzu ihrer Zielbestimmung geroutet werden. Beimdynamischen Routing werden hingegen kontinuier-lich neue Pakete in den Prozessoren erzeugt. Injedem Zeitschritt wird mit einer Wahrscheinlichkeitλ in jedem Prozessor ein neues Paket mit einemzufällig gewählten Ziel erstellt. Der Parameterλ

darf hierbei nicht zu groß gewählt werden. In 2-dimensionalen Arrays muss z.B.λ < 4√

Ngelten.

Dies ergibt sich, da in jedem Zeitschritt innerhalbder rechten Hälfte des ArraysN2 · 1

2 · λ vielePakete erzeugt werden, welche ein Ziel innerhalbder linken Hälfte des Arrays haben. Wäreλ > 4√

N,

Page 7: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 7

so würde diese Anzahl größer als√

N sein und eswürden sich beliebig große Queues beim Übergangder rechten zur linken Hälfte bilden.

Theorem II.9 (Beweis siehe [1]). Sofernλ < 4√N

und ein Zeitraum von T Zeitschritten im dynami-schen Routing betrachtet wird, so ist die Verzöge-rung für ein Paket mit hoher WahrscheinlichkeitO(e−cλ), wobei c unabhängig von der Anzahl derbetrachteten Zeitschritte und unabhängig von N ist.Mit großer Wahrscheinlichkeit wächst keine Queueauf mehr alsO(1 + log T

log N) an.

D. Randomisierte Algorithmen

Die Ergebnisse für den Greedy-Algorithmus aufeinem

√Nx

√N Array gelten nur für eine zufällige

Verteilung der Pakete auf die Prozessoren. DerGreedy-Algorithmus funktioniert also sehr gut imDurchschnitt, während grundsätzlich Worst CaseSzenarien möglich sind. Eine Möglichkeit um dasProblem der Worst Case Fälle zu beheben, istdie Einführung von Randomisierung. Der Vorteilist hierbei, dass die erwartete Laufzeit und dieGröße der Queues nicht von der Eingabe abhängensondern von der Güte des Zufallszahlengenerators.Wir führen einen einfachen randomisiertenRouting-Algorithmus ein, welcher nach folgendemSchema funktioniert:

1) Unterteile jede Spalte inlog N Intervalle derGröße

√N

log N

2) Route jedes Paket innerhalb seines Spalten-intervalls zu einem beliebigen Prozessor

3) Route jedes Paket innerhalb der Zeile zurrichtigen Spalte

4) Route jedes Paket innerhalb der Spalte zurrichtigen Zeile

Die einzelnen Routing-Schritte des Algorithmuswerden hierbei - entgegen der Vorgehensweisebeim Greedy-Algorithmus - erst ausgeführt, wennsämtliche Pakete die vorherige Phase des Algo-rithmus abgeschlossen haben. Weiterhin gehen wirdavon aus, dass die Queues im 3. Schritt, dem Rou-ting der Pakete in die richtige Spalte, jeweils zuerstalle ankommenden Pakete weitergeleitet werdenund falls es kein ankommendes Paket gibt, einbeliebiges aus der jeweiligen Queue versandt wird.

Theorem II.10. (Beweis siehe [2]) Die Lauf-zeit des in Abschnitt II-E definierten randomisier-ten Routing Algorithmus liegt im Falle des 1:1-Routings mit hoher Wahrscheinlichkeit in2

√N +

o(√

N) und verwendet dabei mit großer Wahr-scheinlichkeit nur Queues der GrößeO(log N).

E. Deterministische Algorithmen

Abschließend stellen wir noch einen determinis-tischen Routing-Algorithmus vor, welcher in einem1:1-Szenario innerhalb alle Pakete innerhalb von6√

N + o(√

N) Schritten ohne die Verwendungvon Queues routet. Der Algorithmus basiert auf derSortierung der Pakete in spaltenweiser Ordnung:

1) Sortiere Pakete gemäß ihrem Ziel in spalten-weiser Ordnung.

2) Führe den Greedy-Algorithmus aus.

,(a) Ein 4x4 Array mit Paketen innerhalb derrunden Prozessoren vor dem Sortieren

,(b) Das 4x4 Array nach dem Sortieren mitspaltenweiser Ordnung

Abbildung 5: Nach dem Sortieren befinden sichkeine 2 Pakete mehr in einer Zeile mit der gleichenZielspalte.

Ein Beispiel ist in Abbildung 5 gegeben. Wenndie Pakete gemäß ihren Zielen in spaltenweiserOrdnung angegeben sind, so benötigt der Greedy-Algorithmus keine Queues. Dies ist der Fall, dain keiner Zeile zwei Pakete mit gleicher Ziel-spalte auftreten können. Das Sortieren von Pa-keten gemäß der spaltenweisen Ordnung kann in4√

N + o(√

N) Schritten ohne die Verwendungvon Queues erfolgen. Da der Greedy-Algorithmus

Page 8: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 8

eine Worst Case Laufzeit von2√

N − 2 hat under keine Queues benutzt, folgt die Laufzeit von6√

N + o(√

N) für den deterministischen Algo-rithmus.

III. S IMULATIONSERGEBNISSE

Die stochastische Analyse von Routing-Algorithmen ist geprägt von Abschätzungen undder Verwendung der O-Notation. Mit Hilfe vonSimulationen ist es möglich, Parameter realistischabzuschätzen und die stochastischen Ergebnissezu überprüfen. Aus diesem Grunde haben wireine Simulation auf Basis des diskreten EreignisSimulationsframeworks OMNeT++ 4.0 (siehe [3])erstellt.

• Die Simulation kann beliebige√

Nx√

N Ar-rays simulieren.

• Es werden das1:1-Szenario sowie das dyna-mische Routing unterstützt.

• Ein Szenario kann beliebig oft - mit anderenZufallszahlen - ausgeführt werden um aussa-gekräftige statistische Werte zu mitteln.

• Die Simulation unterstützt verschiedenarti-ge statistische Auswertungen der Größe derQueues sowie der Verzögerung für Pakete.

Die Bilder sind gemäß folgenden Parametern be-schriftet.

• S - Die Größe des Netzwerks beträgtSxS.• P - Die Wahrscheinlichkeit, dass innerhalb

eines Zeitschrittes ein Paket erzeugt wird.• T - Die Anzahl an aufeinanderfolgenden Zeit-

schritten, in denen neue Pakete mit Wahr-scheinlichkeit P erzeugt werden.

• R - Die Anzahl an ’Runs’ der Simulation.Ist R > 1 so sind entweder alle Ergebnisseabgebildet oder die Ergebnisse sind über alleWiederholungen gemittelt.

Ist T = 1 und P = 1 so handelt es sich um das1:1-Szenario. IstT > 1 undP < 1 handelt es sichum dynamisches Routing.

IV. M ATHEMATISCHE SÄTZE

Theorem IV.1. Sei eine Menge an n unabhängi-gen Bernoulli ZufallsvariablenX1, X2, ..., Xn ge-geben, wobeiP (Xk = 1) ≤ Pk für 1 ≤ k ≤ n,XΣ =

∑n

i=1 Xi, PΣ =∑n

i=1 Pi und β > 1, dannist

P (X ≥ β · PΣ) ≤ e(1− 1β−lnβ)β·PΣ .

Beweis: Für alleλ > 0 gilt:

E(eλXk ) = P (Xk = 1)eλ·1 + P (Xk = 0)eλ·0

= P (Xk = 1)eλ·1 + P (Xk = 0)e0

= P (Xk = 1)eλ·1 + (1 − P (Xk = 1))

= 1 + P (Xk = 1)(eλ − 1)

Da eλ > 1 für λ > 0 und da1 + x ≤ ex für allex > 0, können wir die obige Formel umformen zu

E(eλ·Xk) ≤ ePk(eλ−1). (2)

Weiterhin gilt durch die Unabhängigkeit derVariablen, dass

E(eλXΣ) = E(Πni=1e

λXi)

= Πni=1E(eλXi)

Mit (2) folgt

E(eλXΣ) ≤ Πni=1e

Pi(eλ−1) (3)

= ePΣ(eλ−1). (4)

Durch Markows Ungleichung wissen wir, dass

P (eλXΣ ≥ eλβPΣ) ≤E(eλXΣ)

eλβPΣ. (5)

In (5) setzen wir (4) ein und erhalten:

P (eλXΣ ≤ eλβPΣ) ≤ ePΣ(eλ−1)−λβPΣ .

Es gilt

P (XΣ ≥ βPΣ) = P (eλ·XΣ ≥ eλ·β·PΣ).

Folglich ist

P (XΣ ≥ βPΣ) = P (eλXΣ ≥ eλβPΣ) (6)

≤ ePΣ(eλ−1)−λβPΣ . (7)

Die Formel (7) wird fürλ = lnβ minimiert, sodass wir durch Einsetzen die gewünschte Aussage

P (X ≥ β · PΣ) ≤ e(1− 1β−lnβ)β·PΣ

erhalten.

L ITERATUR

[1] F. T. Leighton, Introduction to parallel algorithms andarchitectures: array, trees, hypercubes. San Francisco, CA,USA: Morgan Kaufmann Publishers Inc., 1992.

[2] D. Krizanc, S. Rajasekaran, and T. Tsantilas, “Optimalrouting algorithms for mesh-connected processor arrays,”VLSI Algorithms and Architectures, pp. 411–422, 1988.

[3] [Online]. Available: www.omnetpp.org

Page 9: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 9

Abbildung 6: S = 5, T = 1, P = 1, R = 100 Die über alle 100 Simulationen gemittelten Maximal-,Mittel- und Standardabweichungswerte für die Verzögerungbzw. die Größe der Queues.

Abbildung 7: S = 5, T = 1, P = 1, R = 100 Die gemittelte Anzahl an Verzögerungen. Für jedenProzessor ist jeweils links die Häufigkeit der Verzögerung ’0’ angegeben. Die Verteilung entspricht denErgebnissen aus Satz II.8.

Abbildung 8:S = 5, T = 1, P = 1, R = 1 Die absolute Anzahl an Verzögerungen für eine Simulation.Für jeden Prozessor ist jeweils links die Häufigkeit der Verzögerung ’0’ angegeben. Die Verteilungentspricht den Ergebnissen aus Satz II.8.

Page 10: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 10

Abbildung 9: S = 5, T = 1, P = 1, R = 100 Alle Größen der Queues der 100 Simulationen imÜberblick. Offensichtlich wächst keine Queue auf mehr als 2Pakete an. Dies entspricht den Ergebnissenaus Satz II.7.

Abbildung 10:S = 5, T = 1, P = 1, R = 100 Alle Größen der Queues einer Simulation. Die Queueswachsen nicht auf mehr als 1 Element an.

Abbildung 11:S = 20, T = 1, P = 1, R = 15 Die über alle 15 Simulationen gemittelten Maximal-,Mittel- und Standardabweichungswerte für die Verzögerungbzw. die Größe der Queues.

Page 11: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 11

Abbildung 12:S = 20, T = 1, P = 1, R = 1 Alle Größen der Queues einer Simulation. Die Queueswachsen nicht auf mehr als 2 Element an.

Abbildung 13:S = 10, T = 1000, P = 0.3, R = 1 Ein dynamisches Routing-Szenario, in dem über1000 Zeitschritte mit Wahrscheinlichkeit 0.3 Pakete erzeugt werden. Während die maximale Verzögerungund die maximale Größe der Queues stark zugenommen haben, sind deren Mittelwerte bzw. dieStandardabweichungen recht gering.

Abbildung 14: S = 10, T = 1000, P = 0.3, R = 1 Die absolute Anzahl an Verzögerungen füreine dynamische Simulation. Für jeden Prozessor ist jeweils links die Häufigkeit der Verzögerung ’0’angegeben.

Page 12: ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. … · Schritt entspricht also dem Greedy-Algorithmus, wie er in dem Theorem II.1 beschrieben ist. Jedes Paket wird demnach

ROUTING IN NETZEN, SEMINAR ÜBER ALGORITHMEN, PROF. DR. ALT,SOMMERSEMESTER 2009 12

Abbildung 15: S = 10, T = 1000, P = 0.3, R = 1 Alle Größen der Queues einer dynamischenSimulation. Die Queues wachsen nur vereinzelt auf mehr als 7Elemente an.

Abbildung 16: S = 10, T = 1000, P = 0.5, R = 1 Ein dynamisches Routing-Szenario in dem dieAnzahl der in jedem Zeitschritt erzeugten Pakete die zulässige Obergrenze von

√N4 übersteigt. Die

Verzögerungen wachsen linear mit der Simulationszeit: DasMittel der Verzögerungen ist ungefähr dieHälfte des Maximums. Der gleiche Zusammenhang gilt für die Größe der Queues.

Abbildung 17:S = 10, T = 1000, P = 0.5, R = 1 Alle Größen der Queues im überlasteten dynamischenRouting-Szenario. Während die zentralen Queues zu Beginn stark anwachsen, wachsen die Queues deräußeren Prozessoren erst gegen Ende auf1

3 der insgesamt 1000 erzeugten Pakete.