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: U NTERSCHIEDLICHE V ER WENDUNGSAR TEN : ➜ Multicomputersysteme: Kommunikation zwischen den einzelnen Prozessoren/Verarbeitungseinheiten 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) ➜ V Menge der Knoten (Prozessoren des Systems), 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 ➜ E Menge der Kanten, • 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 2004 ➜ Statisch: direkt, Punkt-zu-Punkt, im wesentlichen in Rechnern mit verteiltem Speicher, Verbindungen ändern sich nicht im Betrieb 1 c 2004 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 : 5 4 • Größe: 11 Knoten, 20 Kanten ➜ Durchmesser: 1 • Knotengrad: 4 ➜ Knotengrad: n − 1 • Bisektionsbreite: 2 ➜ Konnektivität: n − 1 ➜ Bisektionsbreite: bn2 /4c • 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 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 3 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 4 M EHRDIMENSIONALES G ITTER (Mesh) L INEARES F ELD (K ETTE ) Das wahrscheinlich einfachste aller Netzwerke: 1 2 4 3 5 de 9 Slide 11 • 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 • Konnektivität: 1 ➜ Bisektionsbreite: d−1 √ d n , wenn Gitter quadrat. und n gerade ➜ 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: bn/2c ➜ Knotengrad: 2 C HARAKTERISTIKA DES d- DIMENSIONALEN T ORUS ’: ➜ 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. SCI-Cluster c 2004 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 2004 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 Slide 15 ➜ Knotenanzahl: n = 2k −1 für Baum mit k Ebenen ➜ Knotengrad: 3 10 11 00 01 ➜ Bisektionsbreite: 1 Vor- und Nachteile: Relativ kleiner Durchmesser, gute Skalierbarkeit, aber kleine Bisektionsbreite P YRAMIDE 001 000 0100 0000 1000 0110 0010 1110 0111 1010 0011 e 14 Slide 16 1111 1011 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 Ein Versuch, die Vorteile von Baum- und Gitter-Topologien zu kombinieren. Details in der Übung. S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 1101 1001 0001 Ein 4-dim. Hypercube Ebene 1 1100 0101 Ebene 0 BY 101 100 d = 2: ➀ 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 c 2004 111 011 7 c 2004 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, b0) sind verbunden, falls sich b und b0 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 skalierbar) • Vor- und Nachteile: Sehr gute Performancewerte (Durchmesser, Bisektionsbreite), aber relativ aufwendig in der Hardware, nicht beliebig skalierbar • Konnektivität: 3 • Durchmesser: 2d − 1 + b d2 c (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 ➜ Topologie des Netzwerkes ist, neben dem Routing- und Switching-Verfahren, ein wichtiges Architekturmerkmal eines parallelen oder verteilten Systems P14 P16 P10 P36 P12 P34 P30 ➜ Statische Topologien stellt man als bidirektionale Graphen dar P22 P20 P32 P35 P31 P11 P15 ➜ Wichtige Charakteristika statischer Topologien sind: Knotengrad, Durchmesser, Bisektionsbreite, Konnektivität P37 P27 P25 e 18 Slide 20 P33 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 2004 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 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 5 10