1.02k likes | 1.28k Views
Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien. Seminar „Parallele Programmierung“ Gunnar Thies. Einleitung Grundbegriffe Arten von Verbindungsnetzwerken Routingtechnik Fazit. Gliederung. 1. Einleitung. Einleitung
E N D
Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien Seminar „Parallele Programmierung“ Gunnar Thies
Einleitung • Grundbegriffe • Arten von Verbindungsnetzwerken • Routingtechnik • Fazit Gliederung
1. Einleitung • Einleitung Verwendung paralleler Rechnersysteme beispielsweise bei komplexen Rechenaufgaben wie: • Wettervorhersagen • Windkanalsimulationen für Fahrzeuge • Filmindustrie
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)
2. Grundbegriffe 2.1 Verbindungsnetzwerk 2.2 Einbettung 2.3 Routingtechnik
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
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
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.
2. Grundbegriffe - Einbettung 8 7 6 5 4 3 2 1 8 7 1 6 2 5 3 4 4 Beispiel: Einbettung eines Ring-Netzwerks mit 8 Knoten in ein Gitter-Netzwerk mit 12 Knoten: N N‘ • Dadurch lassen sich (Routing-) Algorithmen des Netzwerks N‘ auch im Netzwerk N verwenden – N ist mindestens so flexibel wie N‘.
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.
2. Grundbegriffe - Einbettung 1 8 7 2 6 3 5 4 1 1 4 4 5 2 2 3 5 3 Einbettung eines Netzwerks N‘ in N mit Streckungsgrad 1: 8 1 7 N‘ N 2 6 3 5 4 4 Einbettung eines Netzwerks N‘ in N mit Streckungsgrad 3: N N‘
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, Switching- Strategien und der Topologie des Netzwerks beeinflussen im wesentlichen dessen Geschwindigkeit.
3. Arten von Verbindungsnetzwerken 3.1 Statische Verbindungsnetzwerke 3.2 Einbettung statischer Verbindungsnetzwerke 3.3 Dynamische Verbindungsnetzwerke
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
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
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:
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke 2 3 1 6 4 5 9 7 8 4 Beispiel für den Durchmesser eines Netzwerks: Hier ist die Distanz von Knoten Nr.1 zu Knoten Nr. 9 maximal 4. Durchmesser = 4
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:
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke 2 3 1 6 4 5 9 7 8 4 Beispiel für den Grad eines Netzwerks: Knoten Nr. 5 hat mit vier Verbindungen den größten Grad dieses Netzwerks. Grad des Netzwerks = 4
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: * Diese müssen die bis auf 1 identische Anzahl an Knoten aufweisen !
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke 2 3 1 2 3 1 6 4 5 6 5 4 9 7 8 4 8 9 7 4 Beispiel für die Bisektionsbandbreite eines Netzwerks: Durch entfernen von 4 Kanten kann hier das Netzwerk in zwei Netzwerke geteilt werden. Bisektionsbandbreite = 4
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: bezeichnet den Restgraphen, der nach Löschen der Knoten von und den dazugehörigen Kanten entsteht.
3. Arten von Verbindungsnetzwerken–Einordnung statischer V.-Netzwerke 2 3 1 3 1 6 4 5 6 5 9 7 8 4 9 7 8 4 Beispiel für Knotenkonnektivität: Entfernen von 2 Knoten... 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.)
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
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
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
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Bisektionsbreite: (für gerade n)
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
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Bisektionsbreite:
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke d-dimensionales Gitter / Feld • Besteht aus Knoten, die ein d-dimensionales Feld aufspannen • bezeichnet die Ausdehnung des Feldes in der Dimension d
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Abbildung: 2-dimensionales Gitter
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke k-dimensionaler Hyperwürfel • besteht aus 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
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“)
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke 110 111 10 11 010 011 0 1 100 101 00 01 001 000 Beispiel für gespiegeltes Gray-Code-Verfahren bei der Benennung der Knoten eines Hyperwürfels: 3-dimensionaler Hyperwürfel 2-dimensionaler Hyperwürfel 1-dimensionaler Hyperwürfel Durch Dimensionssprung hinzugekommene Knoten: Durch Dimensionssprung vorangestelltes Bit: 0 oder 1
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke 110 111 010 011 100 101 001 000 Durchmesser: Grad: Konnektivität:
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke vollständiger binärer Baum • Besteht aus Knoten • Darstellung einer kompletten binären Baumstruktur • Jeder Knoten (bis auf die Endknoten auf unterster Stufe) ist mit zwei Kindknoten verbunden
3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität:
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke 3.2 Einbettung statischer Verbindungsnetzwerke • Eingebettet werden meist Ring- und Gitternetzwerk in 2-dimensionale 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
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke Einbettung eines Rings in einen k-dimensionalen Würfel • Um einen Ring mit Knoten in einen k-dimensionalen Hyperwürfel einzubetten, müssen alle Knoten des Rings auf die Knotenmenge abgebildet werden • Die Kanten 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: ( meint das i-te Element der Gray-Code-Folge ).
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke 110 111 101 100 111 010 011 100 101 110 000 000 001 010 001 011 Beispiel: Einbettung eines Rings in einen k-dimensionalen Würfel 3-d. Hyperwürfel Ring mit 8 Knoten
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke Einbettung eines 2-dimensionalen Gitters in einen k-dimensionalen Würfel • Um ein Gitter mit Knoten in einen k-dimensionalen Hyperwürfel mit Knoten einzubetten, wird die Knotenmenge des Gitters in zwei Teilmengen aufgeteilt: und • dabei gilt k als Dimension des Würfels mit: • Für jede dieser Mengen wird eine Gray-Code-Folge erstellt: und
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke • Aus den beiden Gray-Code-Folgen wird eine Matrix M nach folgendem Schema erstellt: • 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
3. Arten von Verbindungsnetzwerken - Einbettung statischer V.-Netzwerke 110 111 111 101 100 110 010 011 100 101 001 011 000 010 000 001 • folgende Formel beschreibt die Einbettung mathematisch: • Als Beispiel: 2x4 Gitter in 3-dimensionalen Würfel
3. Arten von Verbindungsnetzwerken – Dynamische V.-Netzwerke 3.3 Dynamische Verbindungsnetzwerke 3.3.1 Einordnung dynamischer Verbindungsnetzwerke 3.3.3 Topologien dynamischer Verbindungsnetzwerke
3. Arten von Verbindungsnetzwerken–Einordnung dynamische V.-Netzw. 3.3.1 Einordnung dynamischer Verbindungsnetzwerke • Im Gegensatz zu statischen Netzwerken keine feste Punkt-zu-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
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
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw. „Crossbar“-Netzwerk • Höchste Verbindungskapazität zwischen Knoten • Ein „Crossbar“-Netzwerk besitzt n Eingänge (P), m Ausgänge (M) und 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
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw. P 1 P 2 Schalter wird auf umleiten gesetzt ! P n M M M 1 m 2 Nachricht von P2 nach M2: n x m „Crossbar“-Netzwerk
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 sinddamit möglich: lower broadcast straight crossover upper broadcast
3. Arten von Verbindungsnetzwerken–Topologien dynamische V.-Netzw. „ Omega“-Netzwerk • Ein „Omega“-Netzwerk besteht aus 2x2-“Crossbar“-Schaltern, die in Stufen angeordnet sind • Je Stufe Schalter mit einem 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