Verbindungsnetzwerke,
Einbettungen, Routing- und
Switchingstrategien
Seminar „Parallele Programmierung“
Gunnar Thies
Gliederung
1.
2.
3.
4.
5.
Einleitung
Grundbegriffe
Arten von Verbindungsnetzwerken
Routingtechnik
Fazit
2
1. Einleitung
1. Einleitung
Verwendung paralleler Rechnersysteme beispielsweise bei
komplexen Rechenaufgaben wie:
•
•
•
Wettervorhersagen
Windkanalsimulationen für Fahrzeuge
Filmindustrie
3
1. Einleitung
Vorteil von Einsatz paralleler Rechnersysteme gegenüber
Einzelrechnern:
• Aufteilung der Rechenlast auf mehrere
Verarbeitungseinheiten (Prozessoren)
• Steigerung der Rechen(Speicher-)Kapazität
• Ausfallsicherheit wird gesteigert
• Steigerung der Simulationsgenauigkeit
Nachteile von parallelen Rechnersystemen:
• Deadlockgefahr
• Wartungsaufwand höher (im Vergleich zu Einzelrechnern)
4
2. Grundbegriffe
2.1 Verbindungsnetzwerk
2.2 Einbettung
2.3 Routingtechnik
5
2. Grundbegriffe - Verbindungsnetzwerk
2.1 Verbindungsnetzwerk
• Verbindet einzelne Verarbeitungseinheiten (Knoten) des
Netzwerks miteinander
• Dient der Koordination von Rechenaufgaben
• Haupt-Aufgabe: Übertragung von Nachrichten zwischen
einzelnen Verarbeitungseinheiten
Wichtigster Aspekt:
Fehlerfreie und möglichst schnelle Übertragung der
Nachrichten / Daten durch das Verbindungsnetzwerk
6
2. Grundbegriffe - Verbindungsnetzwerk
Grundaspekte zur Einordnung von Verbindungsnetzwerken:
•
Topologie : Form der Verschachtelung / Verbindung der
Verarbeitungseinheiten (Knoten) im Netzwerk
•
Routingtechnik: Berechnung von Pfaden durchs
Netzwerk und Realisierung der Nachrichtenübertragung
vom Quell- zum Zielknoten
7
2. Grundbegriffe - Einbettung
2.2 Einbettung
•
Die Einbettung ist ein Maß für die Flexibilität des
Verbindungsnetzwerks
Vorgehen:
• Überprüfen der Möglichkeit ein Netzwerk N‘ auf ein
gegebenes Netzwerk N so abzubilden, dass jeder Knoten
des Netzwerks N‘ auf unterschiedlichen Knoten des
Netzwerks N zu liegen kommt.
8
2. Grundbegriffe - Einbettung
Beispiel:
Einbettung eines Ring-Netzwerks mit 8 Knoten in ein Gitter-Netzwerk
mit 12 Knoten:
N‘
1
8
3
4
8
2
7
6
3
4
5
N
7
6
2
1
5
• Dadurch lassen sich (Routing-) Algorithmen des Netzwerks N‘ auch
im Netzwerk N verwenden – N ist mindestens so flexibel wie N‘.
9
2. Grundbegriffe - Einbettung
Ein Merkmal der Einbettung ist der Streckungsgrad:
• bezeichnet die maximale Erhöhung der Distanz zweier
Knoten des Netzwerks N‘ durch die Einbettung in
Netzwerk N
• Grad von 1 bedeutet, dass die Distanz der Knoten in N
dieselbe ist wie in N‘
• Höherer Grad bedeutet Erhöhung der Distanz durch die
Einbettung und dadurch erhöhte Kommunikationslast und
-dauer.
Anm.: Hier werden nur Einbettungen vom Grad 1 betrachtet.
10
2. Grundbegriffe - Einbettung
Einbettung eines Netzwerks N‘ in N mit Streckungsgrad 1:
8
1
N‘
2
3
1
8
6
2
7
6
5
3
4
5
7
4
N
Einbettung eines Netzwerks N‘ in N mit Streckungsgrad 3:
1
1
4
2
N‘
4
2
3
5
11
5
N
3
2. Grundbegriffe - Routingtechnik
2.3 Routingtechnik
• Beschreibt wie und entlang welchen Pfades eine Nachricht
im Netzwerk verschickt wird
• Setzt sich aus zwei Teilen zusammen:
- Routingalgorithmen: bestimmen den Pfad einer
Nachricht durch das Netzwerk
- Switching-Strategien: legen fest, ob und wie eine
Nachricht in Teile zerlegt wird und regeln die
Allokation von Verbindungen
Die Kombination aus Routingalgorithmen, SwitchingStrategien und der Topologie des Netzwerks beeinflussen im
wesentlichen dessen Geschwindigkeit.
12
3. Arten von Verbindungsnetzwerken
3.1 Statische Verbindungsnetzwerke
3.2 Einbettung statischer Verbindungsnetzwerke
3.3 Dynamische Verbindungsnetzwerke
13
3. Arten von Verbindungsnetzwerken – Statische Verbindungsnetzwerke
3.1 Statische Verbindungsnetzwerke
3.1.1 Einordnung statischer Verbindungsnetzwerke
3.1.2 Anforderungen an ein Verbindungsnetzwerk
3.1.3 Topologien statischer Verbindungsnetzwerke
14
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
3.1.1 Einordnung statischer Verbindungsnetzwerke
• Netzwerke mit fest verdrahteten Knoten
(Speichereinheiten, Prozessoren) werden als statische oder
direkte Verbindungsnetzwerke bezeichnet
• Anordnung der Komponenten im ungerichteten
Kommunikationsgraphen G = (V,E)
(mit V = Menge der Knoten und E = Menge der Kanten)
• 4 Bewertungskriterien für die Topologie eines
Verbindungsnetzwerkes: Durchmesser, Grad,
Bisektionsbandbreite, Knotenkonnektivität
15
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Durchmesser
• Beschreibt die maximale Distanz zwischen zwei beliebigen
Knoten des Netzwerks
• Maß der maximalen Dauer für den Transport einer
Nachricht vom Startknoten u zum Zielknoten v
• Formel:
 (G)  maxu,vV {min{k | k ist Längedes Pfades von u nachv}}
16
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Beispiel für den Durchmesser eines Netzwerks:
1
2
3
4
5
6
7
48
9
Hier ist die Distanz von
Knoten Nr.1 zu Knoten Nr. 9
maximal 4.
Durchmesser = 4
17
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Grad (eines Netzwerks)
• entspricht dem größten Grad eines Knotens des Netzwerks
• Grad eines Knotens ist zu bestimmen aus den adjazenten
(ein-/ausgehenden) Kanten des Knotens
• Je höher der Grad eines Netzwerks ist, desto komplexer
werden die Berechnungen für die Versendung einer
Nachricht über das Netzwerk.
• Formel: g (G)  max{g (v) | g (v) Grad von v V }
18
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Beispiel für den Grad eines Netzwerks:
1
2
3
4
5
6
7
48
9
Knoten Nr. 5 hat mit vier
Verbindungen den größten
Grad dieses Netzwerks.
Grad des Netzwerks = 4
19
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Bisektionsbandbreite (oder Bisektionsbreite)
• Nennt die minimale Anzahl an Kanten, die entfernt werden
müssen, um das Netzwerk in zwei gleichgroße
Teilnetzwerke zu zerteilen.*
• Drückt das Maß an Belastbarkeit des Netzwerks bei
gleichzeitiger Übertragung von Nachrichten aus
• Formel: B (G ) 
min
U 1  U 2 1
{(u , v)  E | u  U 1 , v  U 2 }
mit U1 ,U 2 Partition von V
* Diese müssen die bis auf 1 identische Anzahl an Knoten aufweisen !
20
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Beispiel für die Bisektionsbandbreite eines Netzwerks:
1
2
3
1
4
5
6
4
5
6
7
48
9
7
48
9
3
2
Durch entfernen von 4 Kanten kann hier das Netzwerk in
zwei Netzwerke geteilt werden.
Bisektionsbandbreite = 4
21
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Knotenkonnektivität
• Beschreibt die Anzahl der Knoten, die entfernt werden
müssen, um das Netzwerk in zwei Teile zu teilen (nicht zwei
gleiche Teile – nur Verbindung unterbrechen!)
• Maß für den Zusammenhang im Netzwerk
• Je höher die Knotenkonnektivität desto höher die
Ausfallsicherheit des Netzwerks
• Formel:
nc(G)  min { M | es existieren u, vV \ M , so dasses in GV \ M keinenPfad von u nach v gibt}
M V
GV \ M bezeichnet den Restgraphen, der nach Löschen der Knoten von M  V und den dazugehörigen
Kanten entsteht
.
22
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke
Beispiel für Knotenkonnektivität:
Entfernen von 2
Knoten...
1
2
3
4
5
6
7
48
9
3
1
7
5
6
48
9
Die Knotenkonnektivität beträgt hier 2, da 2 Knoten aus
dem Netzwerk entfernt werden müssen, um die Verbindungen
vollständig zu trennen. (Hier ist z.B. keine Verbindung
zwischen 1 und dem Rest des Netzwerks mehr möglich.)
23
3. Arten von Verbindungsnetzwerken – Anforderungen an ein V.-Netzwerk
3.1.2 Anforderungen an ein Verbindungsnetzwerk
Ein optimales Verbindungsnetzwerk sollte folgende
Anforderungen erfüllen:
•
•
•
•
geringer Durchmesser  geringe Distanzen für
Nachrichtenversand
kleiner Grad der Knoten  weniger Rechenaufwand
hohe Bisektionsbandbreite + hohe Konnektivität
 großer Datendurchsatz bei hoher Zuverlässigkeit
Skalierbarkeit  leichte Erweiterung um weitere Knoten
24
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
3.1.3 Topologien statischer Verbindungsnetzwerke
Folgende statische Verbindungsnetzwerke werden vorgestellt:
•
•
•
•
•
vollständiger Graph
Ring
d-dimensionales Gitter
k-dimensionaler Würfel
vollständiger binärer Baum
25
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Vollständiger Graph
• Alle Knoten sind direkt miteinander verbunden
• Jedes Netzwerk lässt sich hierin einbetten
• Durch hohen Knoten und Kantengrad nur für wenige
Prozessoren zu realisieren
26
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Durchmesser:  (G )  1
Grad: g (G)  n  1
Konnektivität: nc(G)  n  1
n2
Bisektionsbreite: B(G ) 
(für gerade n)
4
27
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Ring
• Sequentielle Anordnung der Knoten mit je genau einem
Nachfolger und einem Vorgänger
• der letzte Knoten ist mit dem ersten Knoten verbunden,
somit ist der Ring geschlossen
• bei kleiner Prozessorzahl auch heute noch in Verwendung
28
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
n
Durchmesser:  (G )   
2
Grad: g (G)  2
Konnektivität: nc(G)  2
Bisektionsbreite: B(G)  2
29
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
d-dimensionales Gitter / Feld
• Besteht aus n  n1  n2  ... nd Knoten, die ein ddimensionales Feld aufspannen
• nd bezeichnet die Ausdehnung des Feldes in der
Dimension d
30
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Durchmesser:  (G)  d  (d n 1)
Grad: g (G )  2d
Konnektivität: nc(G )  d
Abbildung: 2-dimensionales Gitter
31
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
k-dimensionaler Hyperwürfel
• besteht aus n  2 Knoten
• rekursiver Aufbau aus Würfeln tieferer Dimensionen
• jedem Knoten wird ein Bitwort der Länge k zugeordnet,
um Distanzen zwischen Knoten einfach zu bestimmen
• die Benennung der Knoten folgt dabei dem gespiegelten
Gray-Code-Verfahren
k
32
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Gespiegeltes Gray Code Verfahren:
• Bei einem Dimensionssprung im Würfel verdoppeln sich die Knoten
im Netzwerk
• Bit-Wörter von vorhandenen Knoten bekommen eine ‚0‘ vorangestellt
• Die neu hinzugekommenen Knoten erhalten die Bitwörter der schon
vorhandenen Knoten, aber mit einer zusätzlichen ‚1‘ vorangestellt
• Direkt miteinander verbundene Knoten unterscheiden sich nur in
einem Bit ihres Namens
• Einfache Berechnung der Distanzen zwischen Knoten (Unterschiede in
Bitstellen zweier gleichlanger Bitworte = „Hamming-Distanz“)
33
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Beispiel für gespiegeltes Gray-Code-Verfahren bei der
Benennung der Knoten eines Hyperwürfels:
3-dimensionaler Hyperwürfel
1-dimensionaler Hyperwürfel
2-dimensionaler Hyperwürfel
110
10
11
010
0
111
1
011
100
00
101
01
000
Durch Dimensionssprung hinzugekommene Knoten:
Durch Dimensionssprung vorangestelltes Bit: 0 oder 1
34
001
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
Durchmesser:  (G)  k
Grad: g (G)  k
Konnektivität: nc(G)  k
110
111
010
011
100
101
001
000
35
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
vollständiger binärer Baum
• Besteht aus n  2 k  1 Knoten
• Darstellung einer kompletten binären Baumstruktur
• Jeder Knoten (bis auf die Endknoten auf unterster Stufe)
ist mit zwei Kindknoten verbunden
36
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke
n 1
Durchmesser:  (G )  2 log
2
Grad: g (G )  3
Konnektivität: nc(G)  1
37
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
3.2 Einbettung statischer Verbindungsnetzwerke
• Eingebettet werden meist Ring- und Gitternetzwerk in 2dimensionale Gitter oder k-dimensionale Hyperwürfel
• Eine höhere Belastung des Zielnetzwerkes wird durch den
Streckungsgrad von 1 vermieden
• Da Einbettung eines Rings oder Gitters in ein
gleichdimensionales Netzwerk einfach ist (Beispiel), wird
hier die Einbettung in einen Hyperwürfel vorgestellt
38
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
Einbettung eines Rings in einen k-dimensionalen Würfel
• Um einen Ring mit n  2 Knoten in einen kdimensionalen Hyperwürfel einzubetten, müssen alle
Knoten des Rings V '  {1,...,n} auf die Knotenmenge
V  {0,1}k abgebildet werden
• Die Kanten (i, j )  E ' des Rings sollen dabei auf den
Kanten E des Würfels liegen
• Die Benennung der Knoten im Hyperwürfel folgt dem
Gray-Code-Verfahren, im Ring einer Zahlenfolge von 1 bis
n, daher kann die Einbettung durch folgende Abbildung
ausgedrückt werden:
k
 : {1,...,n}  {0,1}k mit  (i) : RGCk (i)
( RGCk (i) meint das i-te Element der Gray-Code-Folge RGCk (i) ).
39
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
Beispiel: Einbettung eines Rings in einen k-dimensionalen
Würfel
110
100
101
111
010
110
000
001
011
111
011
100
000
010
101
001
3-d. Hyperwürfel
Ring mit 8 Knoten
40
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
Einbettung eines 2-dimensionalen Gitters in einen kdimensionalen Würfel
• Um ein Gitter mit n  n1  n2 Knoten in einen kk
dimensionalen Hyperwürfel mit n  2 Knoten
einzubetten, wird die Knotenmenge des Gitters in zwei
k
k
Teilmengen aufgeteilt: n1  2 1 und n2  2 2
• dabei gilt k als Dimension des Würfels mit: k  k1  k 2
• Für jede dieser Mengen wird eine Gray-Code-Folge
erstellt: RGCk1  (a1 ,...,an1 ) und RGCk  (b1 ,...,bn )
2
41
2
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
• Aus den beiden Gray-Code-Folgen wird eine n1  n2
Matrix M nach folgendem Schema erstellt:
 a1b1
a b
2 1

M 
 

a n1 b1
a1b2


a n1 b2
a1bn2 
 
 

 a n1 bn2 

• Alle Elemente der Matrix sind Bitwörter der Länge k und
unterscheiden sich jeweils in nur einem Bit voneinander
• Alle Knotennamen eines k-dimensionalen Hyperwürfels
sind in dieser Matrix vorhanden
42
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke
• folgende Formel beschreibt die Einbettung mathematisch:
 : {1,...,n1}{1,...,n2}  {0,1}k mit  ((i, j))  M (i, j)
• Als Beispiel: 2x4 Gitter in 3-dimensionalen Würfel
110
110
111
101
111
100
010
011
100
010
011
001
000
000
43
101
001
3. Arten von Verbindungsnetzwerken – Dynamische V.-Netzwerke
3.3 Dynamische Verbindungsnetzwerke
3.3.1 Einordnung dynamischer Verbindungsnetzwerke
3.3.3 Topologien dynamischer Verbindungsnetzwerke
44
3. Arten von Verbindungsnetzwerken–Einordnung dynamische V.-Netzw.
3.3.1 Einordnung dynamischer Verbindungsnetzwerke
•
•
•
•
•
•
•
Im Gegensatz zu statischen Netzwerken keine feste Punktzu-Punkt-Verbindung
Aufgebaut aus physikalischen Leitern und
dazwischenliegenden Schaltern
Verbindung einzelner Knoten bei Bedarf
Deshalb auch Bezeichnung: indirekte
Verbindungsnetzwerke
Verwendung meist in Systemen mit gemeinsam genutzten
Speicher
Zur Einordnung: heranziehen topologischer Merkmale
Je komplexer ein Netzwerk ist, desto höher sind die
Hardwarekosten aber auch die Leistung des Netzwerks
45
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
3.3.2 Topologien dynamischer Verbindungsnetzwerke
Folgende dynamische Verbindungsnetzwerke werden
vorgestellt:
•
•
•
•
„Crossbar“-Netzwerk
„Omega“-Netwerk
„Butterfly“(„Banyan“)-Netzwerk
„Benes“-Netzwerk
46
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
„Crossbar“-Netzwerk
• Höchste Verbindungskapazität zwischen Knoten
• Ein n m „Crossbar“-Netzwerk besitzt n Eingänge (P), m
Ausgänge (M) und n m Schalter
• Die Schalter können eine Nachricht entweder geradeaus
oder nach unten weiterleiten
• Höchstens ein Schalter pro Spalte darf auf Umleiten
gesetzt werden, da sonst nicht der kürzeste Weg durchs
Netzwerk gewählt wird
• Mögliche Schalterstellungen:
Nicht umleiten
Umleiten
47
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
P
P
1
Nachricht von P2 nach M2:
2
Schalter wird auf umleiten
gesetzt !
P
n
M M
1
M
m
2
n x m „Crossbar“-Netzwerk
48
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
2x2 „Crossbar“-Schalter
• Die weiteren dynamischen Netzwerke, die häufig in der
Praxis verwendet werden, sind aus Knoten und
dazwischenliegenden 2x2 „Crossbar“-Schaltern aufgebaut
• Folgende vier Schalterstellungen sind damit möglich:
straight
lower broadcast
crossover
upper broadcast
49
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
„ Omega“-Netzwerk
• Ein n n „Omega“-Netzwerk besteht aus 2x2“Crossbar“-Schaltern, die in log n Stufen angeordnet sind
n
• Je Stufe 2 Schalter mit einem (logn  1) Bitwort  und
der Stufenzahl  bezeichnet
• Beispiel: ein 2-dimensionales „Omega“-Netzwerk hat dann
je 4 Schalter pro Stufe: bei 3 Stufen  insgesamt 12
Schalter
• Dimension k des Netzwerks: Stufenanzahl - 1
50
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
• Die festen Verbindungen im Netzwerk zwischen den
einzelnen Stufen folgen einer Regel:
Es gibt eine Kante von Schalter (  ,i) in Stufe i zu den
beiden Schaltern (  ,i+1) in Stufe i+1, die dadurch
definiert sind, dass
- entweder  durch einen zyklischen Linksshift aus
 hervorgeht oder
-  dadurch entsteht, dass nach einem zyklischen
Linksshift von  das letzte Bit invertiert wird.
51
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
Ein 2-dimensionales „Omega“-Netzwerk:
Stufe 0
Stufe 1
Stufe 2
...
- entweder  durch einen zyklischen
Linksshift aus  hervorgeht oder
00
-  dadurch entsteht, dass nach einem
zyklischen Linksshift von  das letzte
Bit invertiert wird.
01
10
11
52
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
„ Butterfly“(„Banyan“)-Netzwerk
• Die Anzahl an Kanten, Schaltern und Knoten unterscheidet
sich nicht von einem „Omega“-Netzwerk
• Nur die Bildungsregel für die festen Verbindungen
unterscheidet sich:
Es gibt eine Kante von Schalter (  ,i) in Stufe i zu den
beiden Schaltern (  ,i+1) in Stufe i+1, die dadurch
definiert sind, dass
-  und  identisch sind (straight edge - direkte
Kante)
-  und  sich nur im (i+1)-ten Bit von links
unterscheiden (cross edge – Kreuzkante)
53
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
Ein 2-dimensionales „Butterfly“-Netzwerk:
Stufe 0
Stufe 1
Stufe 2
...
-  und  identisch sind (straight
edge - direkte Kante)
00
01
-
10
11
54
 und 
sich nur im (i+1)-ten Bit
von links unterscheiden (cross edge –
Kreuzkante)
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
„ Benes“-Netzwerk
• Ein k-dimensionales „Benes“-Netzwerk setzt sich aus zwei
k-dimensionalen „Butterfly“-Netzwerken zusammen
• Die ersten k+1 Stufen bilden ein reguläres „Butterfly“Netzwerk
• Die letzten k+1 Stufen ein umgekehrtes „Butterfly“Netzwerk
• Die letzte Stufe des regulären und die erste Stufe des
umgedrehten Netzwerks fallen aufeinander
55
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw.
Ein 2-dimensionales „Benes“-Netzwerk:
Stufe 0
Stufe 1
Stufe 2
00
01
10
11
56
Stufe 3
Stufe 4
4. Routingtechnik
4.1 Routingalgorithmen
4.2 Switching-Strategien
57
4. Routingtechnik – Routingalgorithmen
4.1 Routingalgorithmen
4.1.1 Einordnung von Routingalgorithmen
4.1.2 Deterministische Routingalgorithmen
4.1.3 Adaptive Routingalgorithmen
58
4. Routingtechnik – Einordnung von Routingalgorithmen
4.1.1 Einordnung von Routingalgorithmen
Drei Punkte sind bei der Pfadbestimmung im Netzwerk im
Besonderen zu beachten:
• Topologie: Verbindungswege von Knoten a zu Knoten b
hängen vom Aufbau des Netzwerk ab
• Contention (=Auseinandersetzung): zwei oder mehr
Nachrichten sollen über dieselbe Kante verschickt werden
 Wartezeiten
• Congestion (=Stau): viele Nachrichten sollen über dieselbe
Kante verschickt werden; der Puffer wird voll 
Nachrichten werden verworfen
59
4. Routingtechnik – Einordnung von Routingalgorithmen
Im schlimmsten Fall kommt es in einem Netzwerk zu einem
„Deadlock“: Dieser tritt auf wenn jede Verbindungskante, die
von einer Nachricht aus einer Menge von Nachrichten genutzt
werden soll, schon von einer Nachricht derselben Menge
benutzt wird. Somit lässt sich keine Nachricht dieser Menge
weiterschicken, und der Verkehr im Netzwerk steht still.
60
4. Routingtechnik – Einordnung von Routingalgorithmen
4.1.1 Einordnung von Routingalgorithmen
Ziel eines Routingalgorithmus:
• Vermeiden von Wartezeiten, Staus
• Deadlockfreiheit
(lässt sich durch Kanalabhängigkeitsgraphen darstellen und beweisen:
Diese werden hier jedoch aufgrund der Komplexität, auch schon für kleine Netzwerke,
nicht näher erläutert.)
61
4. Routingtechnik – Einordnung von Routingalgorithmen
Routingalgorithmen lassen sich in zwei Klassen einteilen:
• Deterministischer Ansatz: Wahl des Pfades nur Abhängig
von Start- und Zielknoten der Nachricht
• Adaptiver Ansatz: mehrere Pfade werden unter
Berücksichtigung der Auslastung des Netzwerks berechnet
Bei beiden Ansätzen gibt es zwei Varianten:
• minimale Algorithmen: wählen immer den kürzesten Weg
• nichtminimale Algorithmen: erlauben auch Umwege, um
Staus zu vermeiden
62
4. Routingtechnik – Deterministische Routingalgorithmen
4.1.2 Deterministische Routingalgorithmen
Dimensionsgeordnetes Routing
• XY-Routing (im 2-dimensionalen Gitter)
• E-Cube-Routing (im k-dimensionalen Hyperwürfel)
63
4. Routingtechnik – Deterministische Routingalgorithmen
XY-Routing (im 2-dimensionalen Gitter)
• Knoten werden mit XY-Koordinaten beschrieben
• Nachricht von Knoten A zu Knoten B läuft erst nach links
oder rechts in horizontaler (x)-Richtung und dann hoch
oder runter in vertikaler (y)-Richtung bis zum Zielknoten
• Deadlockfreiheit durch Kanalabhängigkeitsgraph
beweisbar, da keine Zyklen auftreten
64
4. Routingtechnik – Deterministische Routingalgorithmen
Beispiel für XY-Routing:
Pfad von Knoten A mit Position (x:1,y:2) zu Knoten B mit Position (x:4,y:1)
y:3
x:1,y:2
A
x:4,y:2
y:2
B
y:1
Y-Achse
x:2
x:1
x:3
X-Achse
65
x:4
x:4,y:1
x:5
4. Routingtechnik – Deterministische Routingalgorithmen
E-Cube-Routing (im k-dimensionalen Hyperwürfel)
• Knoten haben k-Bitworte als Bezeichnung
• Durch Invertieren jedes einzelnen Bits eines solchen
Bitwortes können alle direkt miteinander verbundenen
Knoten gefunden werden
• Eine Nachricht von Knoten A mit Bitnamen    ... k 1
soll an Knoten B mit Bitnamen    0 ... k 1 verschickt
werden, wobei Ai mit Bitdarstellung    0 ... k 1 ein
Knoten auf dem Weg von A nach B ist
66
4. Routingtechnik – Deterministische Routingalgorithmen
Bei jedem Knoten Ai auf dem Weg wird dies berechnet:
• Ai berechnet das k-Bitwort   
(bitweise ausschließendes ODER)
• und schickt die Nachricht in Richtung der Dimension d
(d ist die am weitesten rechts liegende Position von   
mit dem Wert 1)
• Den zugehörigen Knoten Ai 1 erhält man durch die
Invertierung des d-ten Bits
Auch für E-Cube-Routing lässt sich Deadlockfreiheit
beweisen.
67
4. Routingtechnik – Deterministische Routingalgorithmen
Beispiel für E-Cube-Routing:
Pfad von Knoten A (110) nach Knoten B (001)


001 110
111
101
 
d
111
110
100
1
2
3
Ai
111
101
001
A:110
111
011
010
100
000
68
101
B:001
4. Routingtechnik – Deterministische Routingalgorithmen
Quellenbasiertes Routing
• Sender wählt den kompletten Pfad selbst aus und hängt die
nacheinander auszuwählenden Ausgabekanäle als Header
an die Nachricht an
• Bei jedem Knoten wird der Header überprüft, und der
gerade passierte Ausgabekanal aus dem Header entfernt
• Die Nachricht wird über den nächsten Ausgabekanal
weiterverschickt
69
4. Routingtechnik – Deterministische Routingalgorithmen
Tabellenorientiertes Routing
• jeder Knoten des Netzwerks beinhaltet eine Tabelle mit
Routinginformationen
• zu jeder Zieladresse ist der zu wählende Pfad eingetragen
70
4. Routingtechnik – Deterministische Routingalgorithmen
Routing nach dem Turn-Modell
• Durch geschickt vorgegebene Richtungswechsel sollen
Deadlocks vermieden werden
• Es werden einfach bestimmte Richtungswechsel verboten
• (z.B. ist beim XY-Routing nur ein einziger
Richtungswechsel erlaubt!)
• Ein solches Modell für 2-dimensionale Gitter ist das WestFirst Routing
71
4. Routingtechnik – Deterministische Routingalgorithmen
West-First Routing
• Von 8 möglichen Richtungswechseln in einem 2dimensionalen Gitter ist der Richtungswechsel nach
Westen nicht erlaubt
• Zuerst wird daher immer in Richtung Westen versendet,
bis die nötige x-Koordinate erreicht ist
• Danach in die anderen möglichen Richtungen (Nord, Süd,
Ost)
• Mögliche Richtungswechsel beim West-First Routing:
N
Erlaubte Richtungswechsel
W
Nicht erlaubte Richtungswechsel
O
S
72
4. Routingtechnik – Deterministische Routingalgorithmen
Beispiel für West-First Routing: von Knoten A zu Knoten B und zurück
W
von B nach A
N
O
S
A
B
blockierte Verbindungen
73
4. Routingtechnik – Adaptive Routingalgorithmen
4.1.3 Adaptive Routingalgorithmen
Hier werden zwei Konzepte herausgegriffen und vorgestellt:
• Virtuelle Kanäle (z.B. der minimal adaptive
Routingalgortihmus) und
• Routing im „Omega-Netzwerk“
74
4. Routingtechnik – Adaptive Routingalgorithmen
Virtuelle Kanäle
• Mehrere virtuelle Verbindungen zwischen zwei
benachbarten Knoten werden bereitgestellt
• Dazu wird eine vorhandene Verbindungskante in mehrere
gleichberechtigte Kanäle unterteilt
• Jeder Kanal besitzt einen Pufferspeicher, um Nachrichten
zwischenzuspeichern (bis er an der Reihe ist)
• Ein Beispiel für das Konzept der virtuellen Kanäle ist der
minimal adaptive Routingalgorithmus
75
4. Routingtechnik – Adaptive Routingalgorithmen
•
•
•
•
•
Minimal adaptiver Routingalgorithmus
Teilt das gegebene Netzwerk in zwei logische
Teilnetzwerke X- und X+ ein, die sich nur in den
vertikalen Verbindungen unterscheiden
X+ enthält nur positive vertikale Verbindungen (nach
rechst führende)
X- enthält nur negative vertikale Verbindungen (nach links
führende)
So kann je nach Auslastung des Netzwerks und Richtung
des Pfades eines der beiden Teilnetze verwendet werden
(für 2-dimensionale Gitter deadlockfrei)
76
4. Routingtechnik – Adaptive Routingalgorithmen
Beispiel für minimal adaptiven Routingalgorithmus:
Aufteilung in virtuelle Kanäle
„X+“-Teilnetz
„X-“-Teilnetz
77
4. Routingtechnik – Adaptive Routingalgorithmen
Routing im „Omega“-Netzwerk
• Nachrichten werden anhand eines verteilten
Kontrollschemas weitergeleitet
• Hierzu kann jeder Schalter ohne Koordination mit anderen
Schaltern eine Nachricht weiterleiten
• Die n Ein- und Ausgabekanäle haben Bitnamen der Länge
log n wobei der Eingangskanal den Bitnamen  und der
Ausgangskanal den Bitnamen  trägt
• Bei Weiterleitung muss nun der Schalter auf Stufe k mit
k  0,...,log n  1 das k-te Bit  k (von links) des
Ausgangskanals  untersuchen und folgende Schritte
unternehmen:
78
4. Routingtechnik – Adaptive Routingalgorithmen
• Ist das k-te Bit  k  0 , so wird die Nachricht auf den
oberen Ausgang des Schalters gelegt
• Ist das k-te Bit  k  1 , so wird die Nachricht auf den
unteren Ausgang des Schalters gelegt
n
2
Nur n Nachrichten können gleichzeitig ohne Blockierung
gesendet werden (Außer im nicht-blockierenden „Benes“Netzwerk).
79
4. Routingtechnik – Adaptive Routingalgorithmen
Beispiel für Routing im „Omega“-Netzwerk: von 010 nach 110

Stufe 1
Stufe 2
Stufe 3

000
001
000
001
010
011
010
011
100
101
100
101
110
111
110
111
80
4. Routingtechnik – Switching-Strategien
4.2 Switching-Strategien
4.2.1 Einordnung von Switching-Strategien
4.2.2 Arten von Switching-Strategien
81
4. Routingtechnik – Einordnung von Switching-Strategien
4.2.1 Einordnung von Switching-Strategien
• Die Übertragung von Nachrichten zwischen benachbarten
Prozessoren wird durch die Software des Prozessors
(einem Protokoll folgend: ähnlich TCP/IP) übernommen
• Um die Schritte auszuführen wird eine gewisse Zeitspanne
benötigt
• Diese Zeitspanne die der Prozessor zur Bearbeitung
benötigt zuzüglich der Zeitspanne, die die Nachricht
unterwegs ist, nennt man Latenzzeit
• Zur Beschreibung der Latenz und damit der Effizienz einer
Switching-Strategie werden folgende Merkmale
unterschieden:
82
4. Routingtechnik – Einordnung von Switching-Strategien
• Bandbreite: maximale Frequenz der Datenübertragung in
(Bytes/Sekunde)
• Bytetransferzeit: benötigte Zeit um ein Byte zu
1
verschicken  Bytetransf erzeit  Bandbreite
• Übertragungszeit: benötigte Zeit um eine komplette
ngröße
Nachricht zu verschickenÜbertragun gszeit  Nachrichte
Bandbreite
• Signalverzögerungszeit: Zeitspanne zwischen Abschicken
und Ankommen des ersten Bits beim Empfänger
• Transportlatenz: Verweildauer der Nachricht im
Netzwerk  Transportlatenz  Signalverzögerungszeit  Übertragunszeit
• Senderoverhead oder Startupzeit: benötigte Zeit, um
Nachricht auf das Senden vorzubereiten
• Empfängeroverhead: benötigte Zeit um Nachricht zu
empfangen
• Durchsatz: Netzwerkbandbreite bei einer Anwendung
83
4. Routingtechnik – Einordnung von Switching-Strategien
Die gesamte Latenz setzt sich somit aus vier Komponenten
zusammen:
Latenz  Senderover head  Signalverz ögerung 
Nachrichte ngröße
 Empfängero verhead
Bandbreite
Unter Voraussetzung eines konstanten Overheads und einer
Punkt-zu-Punkt-Verbindung zwischen zwei Prozessoren, lässt
sich folgende Laufzeitformel für die Latenz herleiten:
T (m)  t S  t B  m
mit t S  Startupzeit , t B  Bytetransferzeit und m  Nachrichtengröße
Wird eine Nachricht über mehrere Verbindungsleitungen
verschickt, kann dies durch folgende Switching-Strategien
erfolgen.
84
4. Routingtechnik – Einordnung von Switching-Strategien
Zeit:
Beim Sender
Senderoverhead
Übertragungszeit
Signalverzögerung
Beim Empfänger
Übertragungszeit
Empfängeroverhead
Transportlatenz
Im Netzwerk
Gesamtlatenz
Gesamtzeit
Illustration aus Rauber, T. und G. Rünger: Parallele und verteilte Programmierung. Springer 1998.
85
4. Routingtechnik – Arten von Switching-Strategien
4.2.2 Arten von Switching-Strategien
Zwei Grundformen der Switching-Strategien werden
erläutert:
• Das Circuit-Switching und
• das Paket-Switching in zwei Varianten: dem „Store-andForward-Routing“ und dem „Cut-Through-Routing“
86
4. Routingtechnik – Arten von Switching-Strategien
•
•
•
•
Circuit-Switching
Der gesamte Pfad vom Quell- zum Zielknoten wird der
Nachrichtenübertragung zur Verfügung gestellt und erst
wieder freigegeben, wenn die Nachricht vollständig
übertragen wurde
Intern wird die Nachricht in Teilstücke (phits: physical
units) eingeteilt
Ein „phit“ bezeichnet die Datenmenge, die pro Takt über
eine Verbindungsleitung geschickt werden kann (1-64 bits)
Zuerst wird eine kurze Nachricht („probe“) zum Aufbau
der Verbindung verschickt; danach alle „phits“ der
Nachricht und zum Schluss gegebenenfalls eine
Empfangsbestätigung (zum Freigeben des Pfades)
87
4. Routingtechnik – Arten von Switching-Strategien
Kosten des Circuit-Switching:
• Kosten der Kontrollnachricht („probe“) zum Aufbau des
Pfades der Länge l beträgt: t C  l
• wobei t C  t B  mC die Kosten zum Versenden der
Kontrollnachricht je Verbindung bezeichnet
( mC : Größe des Kontrollpakets, t B : Bytetransferzeit )
• Die Gesamtkosten zum Versenden der eigentlichen
Nachricht der Größe m betragen somit:
TCS (m, l )  t S  tC  l  t B  m
Startupzeit
Reine Kosten des
Sendens der Nachricht
Kosten der Kontrollnachricht
88
4. Routingtechnik – Arten von Switching-Strategien
Aktivitäten und Latenzzeit bei einer Einzeltransferoperation über einen
Pfad der Länge l = 4 unter Verwendung von Circuit-Switching:
Quelle 0
1
2
3
Ziel
Knoten
Quelle 0
1
2
3
Aufbau des Pfades
(„probes“)
Gesamter Pfad ist für die
Nachrichtenübertragung aktiv
Zeit
(Aktivität des Knotens)
Illustration aus Rauber, T. und G. Rünger: Parallele und verteilte Programmierung. Springer 1998.
89
4. Routingtechnik – Arten von Switching-Strategien
Paket-Switching
• die Nachricht wird in Teilstücke „Pakete“ unterteilt, die
unabhängig voneinander über das Netzwerk zum Ziel
geschickt werden
(auch die einzelnen Pakete sind wieder in „phits“
aufgeteilt)
• Bei Verwendung von adaptiven Routingalgorithmen
werden somit unterschiedliche Pfade zum Versenden
benutzt
• Jedes Paket besteht aus 3 Teilen: dem Header (mit
Routing- und Kontrollinformationen), dem reinen
Datenteil und dem Endstück mit Fehlerkontrollcodes
90
4. Routingtechnik – Arten von Switching-Strategien
Eine Variante des Paket-Switching ist das
„Store-and-Forward-Routing“
• In jedem Knoten (auf dem Pfad) wird das Paket
vollständig zwischengespeichert, bevor es weitergeschickt
wird
• Dadurch kann die gerade benutzte Kante schnell
freigegeben werden
• Nachteil: hohe Speicherkapazität im Knoten erforderlich
• Vorteil: geringere Deadlock-Gefahr
91
4. Routingtechnik – Arten von Switching-Strategien
Kosten des „Store-and-Forward-Routing“ (bzw. des
Versendens eines Paketes):
• Konstante Zeit in jedem Knoten, zum Kontrollieren des
Headers und wählen des Ausgabekanals: t h
• Zeit zur Versendung des Pakets der Größe m zum nächsten
Knoten: tB  m
• Die Gesamtkosten zur Versendung eines Paketes auf einem
Pfad der Länge betragen
somit:
l
TSF (m, l )  t S  l (t h  t B  m)
Zeit pro Knoten (Headerkontrolle)
+ Versendung zum nächsten Knoten
* Pfadlänge
Startupzeit
92
4. Routingtechnik – Arten von Switching-Strategien
Aktivitäten und Latenzzeit bei einer Einzeltransferoperation über einen
Pfad der Länge l = 4 unter Verwendung von
Store-and-Forward-Routing:
Quelle 0
1
2
3
Ziel
Knoten
Quelle 0
H
1
H
2
H
3
H
Übertragung über
erste Verbindung
Übertragung über
zweite Verbindung
Übertragung über
dritte Verbindung
Übertragung über
vierte Verbindung
Zeit
(Aktivität des Knotens)
Illustration aus Rauber, T. und G. Rünger: Parallele und verteilte Programmierung. Springer 1998.
93
4. Routingtechnik – Arten von Switching-Strategien
Eine zweite Variante des Paket-Switching ist das
„Cut-Through-Routing“
• Auch hier Einteilung in Pakete und „phits“ wie bei Storeand-Forward-Routing
• Im Unterschied zu SFR wird, sobald der Header im
nächsten Knoten angekommen ist, eine neue Verbindung
zum nächsten Knoten aufgebaut, bevor(!) alle „phits“ des
Paketes übertragen wurden
• Alle „phits“ werden auf dem selben Pfad dem Header
hinterhergeschickt
• Die Verbindungskante wird erst freigegeben, sobald alle
„phits“ eines Paketes übertragen wurden (wie bei SFR)
94
4. Routingtechnik – Arten von Switching-Strategien
Kosten des „Cut-Through-Routing“ (bzw. des Versendens
eines Paketes):
• Zeit für Übertragung des Headers: t H  t B  mH
(mit mH= Größe des Headers)
• Gesamtkosten für Übertragung eines Paketes bei
Pfadlänge l :
TCT (m, l )  t S  l  t H  t B  (m  mH )
Startupzeit
Kosten für Headerübetragung
über die Pfadlänge
95
Kosten für Übertragung der
restlichen Nachricht
(nur einmal, da immer
gleich hinterhergeschickt! Siehe
Grafik nächste Folie)
4. Routingtechnik – Arten von Switching-Strategien
Aktivitäten und Latenzzeit bei einer Einzeltransferoperation über einen
Pfad der Länge l = 4 unter Verwendung von
Cut-Through-Routing:
Quelle 0
1
2
3
Ziel
Knoten
Quelle 0 H
1
2
3
H
H
H
Übertragung des
Headers
Zeit
(Aktivität des Knotens)
Übertragung des Paketes
Illustration aus Rauber, T. und G. Rünger: Parallele und verteilte Programmierung. Springer 1998.
96
5. Fazit
Dies sollte vermittelt werden:
• Grundlagen der existierenden Verbindungsnetzwerke
• Grundlagen der Einbettung von Verbindungsnetzwerken
• Einige spezielle Routing-Algorithmen und SwitchingStrategien
97
Fragen ?
98
Einbettung eines Netzwerks N‘ in N mit Streckungsgrad 1:
1
N‘
8
2
3
4
1
8
6
2
7
6
5
3
4
5
7
N
Zurück
99

Thies