1 / 99

Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien

Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien. Seminar „Parallele Programmierung“ Gunnar Thies. Einleitung Grundbegriffe Arten von Verbindungsnetzwerken Routingtechnik Fazit. Gliederung. 1. Einleitung. Einleitung

aelwen
Télécharger la présentation

Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Verbindungsnetzwerke, Einbettungen, Routing- und Switchingstrategien Seminar „Parallele Programmierung“ Gunnar Thies

  2. Einleitung • Grundbegriffe • Arten von Verbindungsnetzwerken • Routingtechnik • Fazit Gliederung

  3. 1. Einleitung • Einleitung Verwendung paralleler Rechnersysteme beispielsweise bei komplexen Rechenaufgaben wie: • Wettervorhersagen • Windkanalsimulationen für Fahrzeuge • Filmindustrie

  4. 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)

  5. 2. Grundbegriffe 2.1 Verbindungsnetzwerk 2.2 Einbettung 2.3 Routingtechnik

  6. 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

  7. 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

  8. 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.

  9. 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‘.

  10. 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.

  11. 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‘

  12. 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.

  13. 3. Arten von Verbindungsnetzwerken 3.1 Statische Verbindungsnetzwerke 3.2 Einbettung statischer Verbindungsnetzwerke 3.3 Dynamische Verbindungsnetzwerke

  14. 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

  15. 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

  16. 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:

  17. 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

  18. 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:

  19. 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

  20. 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 !

  21. 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

  22. 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.

  23. 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.)

  24. 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

  25. 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

  26. 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

  27. 3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Bisektionsbreite: (für gerade n)

  28. 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

  29. 3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Bisektionsbreite:

  30. 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

  31. 3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität: Abbildung: 2-dimensionales Gitter

  32. 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

  33. 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“)

  34. 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

  35. 3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke 110 111 010 011 100 101 001 000 Durchmesser: Grad: Konnektivität:

  36. 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

  37. 3. Arten von Verbindungsnetzwerken–Topologien statischer V.-Netzwerke Durchmesser: Grad: Konnektivität:

  38. 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

  39. 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 ).

  40. 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

  41. 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

  42. 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

  43. 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

  44. 3. Arten von Verbindungsnetzwerken – Dynamische V.-Netzwerke 3.3 Dynamische Verbindungsnetzwerke 3.3.1 Einordnung dynamischer Verbindungsnetzwerke 3.3.3 Topologien dynamischer Verbindungsnetzwerke

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

  50. 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

More Related