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