Vorlesung 5 Slide 2 • Topologie - Parallele und verteilte Systeme

Werbung
Vorlesung 5
2.5. V ERBINDUNGSNETZWERKE
T OPOLOGIE :
Kommunikation zwischen den einzelnen Komponenten eines
Parallelrechners wird i.d.R. über ein Netzwerk organisiert.
Topologie ist ein (physikalischer) Graph mit Prozessoren bzw.
Speichermodulen als Knoten und Verbindungsleitungen als Kanten.
Dabei unterscheidet man zwei Klassen der Rechner:
U NTERSCHIEDLICHE V ER WENDUNGSAR TEN :
➜ Multicomputersysteme: Kommunikation zwischen den einzelnen
Prozessoren/Verarbeitungseinheiten
Slide 1
Slide 3
➜ Multiprozessorsysteme (mit gemeinsamem Speicher):
Kommunikation zwischen Prozessoren und Speicher
➜ Statisch: direkt, Punkt-zu-Punkt, im wesentlichen in Rechnern mit
verteiltem Speicher, Verbindungen ändern sich nicht im Betrieb
➜ Dynamisch: indirekt, auf Rechnern mit gemeinsamem oder
auch verteiltem Speicher, konkrete Verbindung wird erst zur
Kommunikationszeit zwischen zwei Knoten geschaltet
➜ Hybrid: Kombination aus statisch und dynamisch, heutzutage
sehr verbreitet in Parallelrechnern
Netzwerk
Wir werden zuerst statische Topologien betrachten
G ESTALTUNGSKRITERIEN
DER
N ETZWERKE
T OPOLOGIE
(werden in nachfolgenden Vorlesungen detailliert besprochen)
➜ V Menge der Knoten (Prozessoren des Systems),
➜ E Menge der Kanten,
dann ist:
• Routing: Welcher Pfad in der Topologie wird von einer
Nachricht genommen?
Slide 4
• Switching: Wie wird eine Nachricht entlang des
gewählten Pfades übertragen?
P RAXIS : Die Charakteristika von Verbindungsnetzen werden oft zur
A NNAHME : Topologien werden i.d.R. als ungerichtete
Graphen betrachtet, d.h. alle Kanten sind bidirektional.
Hypercube-Topologie und Cut-Through-Switching”
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
➜ (u, v) ∈ E, wenn es eine direkte Verbindung zwischen den
Prozessoren u ∈ V und v ∈ V gibt.
➜ Distanz: ist der kürzeste Pfad zwischen zwei Knoten
mit der Klassifikation von Flynn: “ein MIMD-Rechner mit der
BY
➜ G ungerichtet, gdw. Verbindungsnetz bidirektional
➜ Pfad der Länge k zwischen den Knoten v0 und vk : ist eine
Folge von Knoten (v0 , . . . , vk ), wobei (vi , vi+1 ) ∈ E für 0 ≤ i < k
weiteren Klassifikation von Architekturen verwendet, z.B. zusammen
c
2006
G RAPH
D EFINITIONEN : Sei G = (V, E) ein Graph mit:
• Topologie: Wie sieht das Netzwerk geometrisch
(als Graph) aus?
Slide 2
ALS
1
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
2
C HARAKTERISTIKA
Slide 5
STATISCHER T OPOLOGIEN
AUSWIRKUNGEN
EINZELNER
C HARAKTERISTIKA ( WICHTIG !)
• Größe: Anzahl von Knoten und/oder Kanten
• kleiner Durchmesser ⇒ kleine Distanzen
• Knotengrad: maximale Anzahl Kanten eines Knotens
• kleiner Knotengrad ⇒ billiger
• Durchmesser: maximale Distanz zwischen zwei
beliebigen Knoten (d.h. das Maximum von minimalen
Pfaden zwischen allen Knotenpaaren)
• konstanter Knotengrad ⇒ bessere Skalierbarkeit
• hohe Bisektionsbreite ⇒ hoher Durchsatz
Slide 7
• Bisektionsbreite: minimale Anzahl Kanten, die entfernt
werden müssen, um das Netzwerk in zwei gleich große
(evtl. bis auf einen Knoten), getrennte Teile zu zerlegen
K LASSIFIZIERUNG : Die in der Praxis verwendeten statischen
Verbindungsnetzwerke haben eine regelmäßige Struktur,
weswegen Sie in Klassen zusammengefaßt werden
• Knoten- und Kantenkonnektivität: minimale Anzahl
Knoten(Kanten), die entfernt werden müssen, um das
Netzwerk in zwei getrennte Teile zu zerlegen.
U NSERE VORGEHENSWEISE : Die wesentlichen Topologieklassen
vorstellen und ihre Charakteristika sowie Relationen zwischen
den Klassen kennenlernen
“Konnektivität” steht im Folgenden für Kantenkonnektivität.
B EISPIEL : C HARAKTERISTIKA
• hohe Konnektivität ⇒ hohe Zuverlässigkeit
EINER T OPOLOGIE
VOLLST ÄNDIGER G RAPH
Jeder der n Knoten ist mit jedem anderen verbunden
2
1
3
Slide 6
Slide 8
C HARAKTERISTIKA :
5
4
• Größe: 11 Knoten, 20 Kanten
➜ Durchmesser: 1
• Knotengrad: 4
➜ Knotengrad: n − 1
• Bisektionsbreite: 2
➜ Konnektivität: n − 1
➜ Bisektionsbreite: ⌊n2 /4⌋
• Durchmesser: 4
➜ Praxis: physikalisch nur für sehr kleine n realisierbar, in einigen
Programmiermodellen wird vollständiger Graph vorausgesetzt
• Knotenkonnektivität: 1, Kantenkonnektivität: 2
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
3
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
4
M EHRDIMENSIONALES (d- DIMENSIONALES ) G ITTER (Mesh)
L INEARES F ELD (K ETTE )
Das wahrscheinlich einfachste aller Netzwerke:
1
2
4
3
5
Slide 11
Slide 9
• Durchmesser: n − 1
( 1, 1 )
( 1, 2 )
( 1, 3 )
( 2, 1 )
( 2, 2 )
( 2, 3 )
( 3, 1 )
( 3, 2 )
( 3, 3 )
➜ Knotenanzahl: n = n1 · n2 · . . . · nd
➜ Durchmesser:
Pd
i=1
(ni − 1)
➜ Knotengrad: 2d (unabhängig von n)
• Knotengrad: 2
➜ Konnektivität: d
d−1
√
d
n
, wenn Gitter quadrat. und n gerade
• Konnektivität: 1
➜ Bisektionsbreite:
• Bisektionsbreite: 1
➜ Praxis: 2D- und 3D-Mesh werden häufig eingesetzt, da gut
skalierbar und bessere Bisektionsbreite und Durchmesser
als z.B. bei Ring. Beispiele: Intel Paragon, MasPar, Parsytec.
R ING
M EHRDIMENSIONALER T ORUS
Ähnlich dem Gitter, die Ränder sind durch
zusätliche Kanten verbunden:
Die geschlossene Kette
2
( 1, 1 )
( 1, 2 )
( 1, 3 )
( 2, 1 )
( 2, 2 )
( 2, 3 )
( 3, 1 )
( 3, 2 )
( 3, 3 )
1
3
Slide 10
Slide 12
5
4
➜ Durchmesser: ⌊n/2⌋
➜ Knotengrad: 2
C HARAKTERISTIKA DES d- DIMENSIONALEN T ORUS ’ ( S . Ü BUNG ):
➜ Konnektivität: 2
➜ Vorteile gegenüber dem Gitter:
➜ Bisektionsbreite: 2
• Halber Durchmesser
• Doppelte Konnektivität und Bisektionsbreite
➜ In der Praxis: Bei kleiner Prozessoranzahl oder als Teil eines
komplexeren Netzwerkes, z.B. sog. SCI-Cluster
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
➜ Praxis: häufig verwendet, z.B. Cray T3D, Cray T3E
5
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
6
VOLLST ÄNDIGER B IN ÄRBAUM
H YPERCUBE (H YPERW ÜRFEL )
H YPERCUBES WERDEN REKURSIV DEFINIER T / AUFGEBAUT :
1
d = 3:
d = 0:
2
3
0
d = 1:
110
1
4
Slide 13
5
6
7
11
00
01
101
100
d = 2:
Slide 15
➜ Knotenanzahl: n = 2k −1 für Baum mit k Ebenen
➜ Knotengrad: 3
10
111
011
010
001
000
➀ Ein Knoten ist ein Hypercube der Dimension 0.
Dieser Knoten wird nicht beschriftet.
➁ Ein Hypercube der Dimension d + 1 erhält man, indem man zwei
Hypercubes (“blau” und “grün”) der Dimension d nimmt und die
gleich beschrifteten Knoten miteinander durch eine Kante
verbindet. Allen Knotenbeschriftungen des einen Hypercubes
wird eine 0 vorangestellt, denen des anderen eine 1.
➜ Durchmesser: 2(k − 1)
➜ Konnektivität: 1
➜ Bisektionsbreite: 1
Vor- und Nachteile: Relativ kleiner Durchmesser,
gute Skalierbarkeit, aber kleine Bisektionsbreite
P YRAMIDE
0100
1100
0000
1000
0101
Ebene 0
Ebene 1
1101
1001
0001
Ein 4-dim.
Hypercube
0110
1110
0010
1010
0111
0011
Slide 14
Slide 16
Ein Versuch, die Vorteile von Baum- und Gitter-Topologien zu
kombinieren. Details später in der Übung.
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
B ESCHRIFTUNG UND D ISTANZ :
➜ Die Beschriftungen der Hypercubeknoten können als Binärzahlen angesehen werden (Anzahl Bits = Dimension)
➜ Hamming-Distanz: Anzahl Bits, in denen sich zwei gleich lange
Binärworte unterscheiden
➜ Zwei Knoten im Hypercube sind verbunden, gdw. die
Hamming-Distanz ihrer Beschriftungen gleich 1 ist
➜ Pfadlänge zwischen zwei Knoten im Hypercube ist die
Hamming-Distanz zwischen diesen Knoten
Ebene 2
c
2006
1111
1011
7
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
8
H YPERCUBE : C HARAKTERISTIKA
C UBE -C ONNECTED C YCLES : C HARAKTERISTIKA
• Knotenanzahl: n = 2d im d-dimensionalen Hypercube
• Beschriftung : (a, b), wobei b die im Hypercube übliche
Binärzahl und 1 ≤ a ≤ d die Position im Ring ist
• Durchmesser: log n = d
• Knotengrad: log n = d
• Verbindung : Knoten (a, b) und (a, b′) sind verbunden,
falls sich b und b′ nur im a-ten Bit unterscheiden
• Konnektivität: log n = d, Beweis in [Rauber&Rünger]
Slide 17
• Bisektionsbreite: n/2 = 2d−1
Slide 19
• Beispiele: Intel iPSC/860, SGI Origin 2000, Beowulf Cluster
• Knotenzahl: n = d · 2d
• Knotengrad: 3 (konstant, somit gut skalierbar)
• Vor- und Nachteile: Sehr gute Performancewerte
(Durchmesser, Bisektionsbreite), aber relativ aufwendig in
der Hardware, nicht beliebig skalierbar
• Konnektivität: 3
• Durchmesser: 2d − 1 + ⌊ d2 ⌋, Beweis in [Rauber, Ruenger]
• Wichtig: Hypercube wird nicht nur als physische Topologie,
• Bisektionsbreite: n/2d = 2d−1
sondern oft auch als logische Struktur in vielen parallelen und
verteilten Algorithmen benutzt
CCC-N ETZWERK (C UBE C ONNECTED C YLES )
P24
WAS
P14
P36
P12
P34
P30
P22
P20
➜ Topologien stellt man als bidirektionale Graphen dar
P32
P35
P31
P11
Slide 20
P33
P15
➜ Wichtige Charakteristika statischer Topologien sind:
Knotengrad, Durchmesser, Bisektionsbreite, Konnektivität
P37
P27
P25
Slide 18
➜ Topologie des Netzwerkes ist, neben dem Routing- und
Switching-Verfahren, ein wichtiges Architekturmerkmal
eines parallelen oder verteilten Systems
P16
P10
P17
• Mehrdimensionales Gitter und Torus
P23
• Binärbaum und Pyramide
➜ Hypercubeähnliches Netzwerk, mit konstantem (!) Knotengrad
➜ Jeder Knoten eines d-dimensionalen Hypercubes wird durch
einen Ring der Länge d ersetzt.
➜ Jeder Ringknoten übernimmt genau eine Verbindung zu einem
“Hypercube-Nachbarn”
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
➜ Konkrete praxisrelevante statische Topologien:
• Lineares Feld und Ring
P13
P 21
HABEN WIR HEUTE GELERNT
P26
• Hypercube
• Cube-Connected Cycles
➜ Unser nächstes Thema werden Topologien-Einbettungen
und dynamische Netzwerke sein
9
c
2006
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5
10
Herunterladen