de 1 de 2 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: ➜ Multicomputersysteme: Kommunikation zwischen den einzelnen Prozessoren/Verarbeitungseinheiten U NTERSCHIEDLICHE V ER WENDUNGSAR TEN : Slide 3 ➜ Multiprozessorsysteme: Kommunikation zwischen Prozessoren und Speicher ➜ 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 G ESTALTUNGSKRITERIEN DER N ETZWERKE T OPOLOGIE (werden in nachfolgenden Vorlesungen detailliert besprochen) ➜ E Menge der Kanten, dann ist: Slide 4 • Switching: Wie wird eine Nachricht entlang des gewählten Pfades übertragen? ➜ G ungerichtet, gdw. Verbindungsnetz bidirektional ➜ (u, v) ∈ E, wenn es eine direkte Verbindung zwischen den Prozessoren u ∈ V und v ∈ V gibt. ➜ 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 P RAXIS : Verbindungsnetze werden oft zur weiteren Klassifikation ➜ Distanz: ist der kürzeste Pfad zwischen zwei Knoten von Architekturen verwendet, z.B. zusammen mit der Klassifikation A NNAHME : Topologien werden i.d.R. als ungerichtete Graphen betrachtet, d.h. alle Kanten sind bidirektional. von Flynn: “ein MIMD-Rechner mit der Hypercube-Topologie und Cut-Through-Switching” S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 G RAPH ➜ V Menge der Knoten (Prozessoren des Systems), • Routing: Welcher Pfad in der Topologie wird von einer Nachricht genommen? BY ALS D EFINITIONEN : Sei G = (V, E) ein Graph mit: • Topologie: Wie sieht das Netzwerk geometrisch (als Graph) aus? c 2006 ➜ Statisch: direkt, Punkt-zu-Punkt, im wesentlichen in Rechnern mit verteiltem Speicher, Verbindungen ändern sich nicht im Betrieb 1 c 2006 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 2 de 5 de 6 C HARAKTERISTIKA DER 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 8 C HARAKTERISTIKA : 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 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 de 9 ( 1, 1 ) ( 1, 2 ) ( 1, 3 ) ( 2, 1 ) ( 2, 2 ) ( 2, 3 ) ( 3, 1 ) ( 3, 2 ) ( 3, 3 ) ➜ Knotenanzahl: n = n1 · n2 · . . . · nd ➜ Durchmesser: ∑di=1 (ni − 1) ➜ Knotengrad: 2d (unabhängig von n) • Durchmesser: n − 1 • Knotengrad: 2 ➜ Konnektivität: d √ ➜ Bisektionsbreite: ( d n)d−1 , wenn Gitter quadrat. und n gerade • Konnektivität: 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. • Bisektionsbreite: 1 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 e 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 010 4 e 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 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 e 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 e 17 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]) • 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 physikalische 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 P22 P20 ➜ Topologien stellt man als bidirektionale Graphen dar P32 P35 P11 Slide 20 P33 P15 ➜ Wichtige Charakteristika statischer Topologien sind: Knotengrad, Durchmesser, Bisektionsbreite, Konnektivität P37 P27 P25 P31 P36 P12 P34 P30 e 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