Center for Information Services and High Performance Computing (ZIH)
Theorie und Einsatz von Verbindungseinrichtungen inparallelen Rechnersystemen
Klassifizierung von Verbindungsnetzwerken
26. April 2013
Andy Georgi
INF 1046Nothnitzer Straße 4601187 Dresden
0351 - 463 38783
m
Foliensatz
Verfugbarkeit der Folien
Vorlesungswebseite:http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/
zih/lehre/ss2013/tevpr
2/61
Agenda I
1 Verbindungsart
2 Schnittstellenstruktur
3 Topologische Klassifikationen
4 Operationsmodi
5 Kommunikationsflexibilitat
6 Kontrollstrategie
7 Vermittlungsverfahren
3/61
Statische Verbindungsnetzwerke
DefinitionInnerhalb eines statischen Verbindungsnetzwerks besitzt jedesProzessorelement eine feste Anzahl von Verbindungsleitungen zu benachbartenProzessorelementen, entlang derer Signale unmittelbar von Knotenzu Knoten gesendet werden konnen. Die Vermittlungsfunktion wirddurch die Prozessorelemente selbst ausgeubt, indem die Signale auf denentsprechenden Ausgang gegeben werden. Somit beschrankt sich das Netz aufVerbindungsleitungen.
6/61
Dynamische Verbindungsnetzwerke
DefinitionDynamische Verbindungsnetzwerke fuhren alle Vermittlungsaufgaben mittelsaktiver Koppelelemente eigenstandig aus. Es ist daher haufig ausreichend wennein Prozessorelement lediglich uber einen Ein- und einen Ausgang mit dem Netzverbunden ist. Der Aufbau eines dynamischen Verbindungsnetzwerks erfolgtmittels einer oder mehrerer Stufen von Koppelelementen, mit deren Hilfe dieNachrichten durch das Netz geleitet werden.
7/61
Agenda
2 SchnittstellenstrukturSchnittstellen in statischen NetzenSchnittstellen in dynamischen NetzenKommunikationsprozessoren
8/61
Schnittstellen in statischen Netzen I
PE N-1
Prozessor/Speicher Demux Mux
Prozessor/Speicher Demux Mux
PE 0
Verbindungs-leitungen
… ……
…
Abbildung: Statisches Netz mit Multiplexer-Demultiplexer Schnittstellen
9/61
Schnittstellen in statischen Netzen II
Prozessor/Speicher Router
PE i
Verbindungs-leitungen
…
…
…
…
Abbildung: Statisches Netz mit integriertem Router
10/61
Schnittstellen in dynamischen Netzen
I.d.R. besitzt jedes PE einen bidirektionalen Zugang zum Netz
Keine besonderen Hardwarekomponenten notwendig, daVermittlungsfunktionen vom Netz ausgefuhrt werden
Lediglich die fur die Vermittlung notwendigen Informationen mussenvom PE berechnet und den Nutzdaten hinzugefugt werden
11/61
Kommunikationsprozessoren
Belastung des Prozessors durch Protokollverarbeitung
Auslagerung dieser Aufgaben auf zusatzlich bereitgestellteanwendungsspezifische integrierte Schaltungen
Komplexitat von Kommunikationsprozessoren abhangig vom Umfang derzu ubernehmenden Aufgaben
12/61
Agenda
3 Topologische KlassifikationenTopologieDurchmesser und mittlere WeglangeGrad und RegularitatBisektionsweiteSymmetrieSkalierbarkeitPermutationsmoglichkeitenPartitionierbarkeitPlattbarkeitEinbettung
13/61
Topologie
Reprasentation von Netzen mit Hilfe von endlichen Graphen
Kanten = VerbindungsleitungenKnoten = ProzessorelementeQuelle = SenderSenke = Empfanger
Topologische Charakteristiken konnen zur Beurteilung derLeistungsfahigkeit herangezogen werden
14/61
Durchmesser
DefinitionBesteht ein Verbindungsnetzwerk aus N Knoten, indiziert von 0 bis N − 1und sei dA,B die minimale Anzahl von Schritten, die notwendig ist, um vonKnoten A zu Knoten B zu gelangen, so ist der Durchmesser Φ gegeben durch
Φ = max dA,B 0 ≤ A < N , 0 ≤ B < N
15/61
Mittlere Weglange
Durchmesser entspricht Abschatzung im ungunstigsten Fall
Aussage uber die mittlere Weglange P haufig sinnvoller:
P =1
N(N − 1)
N−1∑j=0
N−1∑k=0
dj ,k ; fur j 6= k
16/61
Grad und Regularitat
GradDer Grad Γ eines Knotens entspricht der Anzahl seiner ein- und ausgehendenVerbindungen. In einem Netz G ist δ(G ) die Mindest- und ∆(G ) dieMaximalzahl von Verbindungsleitungen, welche mit einem Knoten des Netzesverbunden sind.
Regularitat
Ein Netz G wird als n-regular bezeichnet, sobald gilt:
∆(G ) = δ(G ) = n
Demzufolge besitzt in einem n-regularem Netz jeder Knoten den gleichenGrad Γ von n.
17/61
Grad und Regularitat
GradDer Grad Γ eines Knotens entspricht der Anzahl seiner ein- und ausgehendenVerbindungen. In einem Netz G ist δ(G ) die Mindest- und ∆(G ) dieMaximalzahl von Verbindungsleitungen, welche mit einem Knoten des Netzesverbunden sind.
Regularitat
Ein Netz G wird als n-regular bezeichnet, sobald gilt:
∆(G ) = δ(G ) = n
Demzufolge besitzt in einem n-regularem Netz jeder Knoten den gleichenGrad Γ von n.
17/61
Bisektionsweite
DefinitionWerden in einem Netz der Große N zwei Mengen M1 und M2 die Knoten sozugeordnet, dass bN/2c Knoten in M1 und dN/2e Knoten in M2 enthalten sind,so wird die Bisektionsweite Wk(M1,M2) dieser Aufteilung uber die minimaleAnzahl der Verbindungsleitungen zwischen den Knoten in M1 und denen in M2
definiert. Die Bisektionsweite W des gesamten Netzes ergibt sich anschließendaus dem minimalen Wert von Wk fur alle moglichen Verteilungen der Knotenauf die beiden Mengen M1 und M2.
18/61
Symmetrie I
Isomorphismus, Automorphismus
Seien G1 = (V1,E1) und G2 = (V2,E2) endliche ungerichtete Graphen,so heißen G1 und G2 isomorph, wenn eine bijektive Abbildung ϕ : V1 → V2
existiert mit {u, v} ∈ E1 ⇔ {ϕ(u), ϕ(v)} ∈ E2, wobei u, v ∈ V1. In diesemFall heißt ϕ Isomorphismus zwischen G1 und G2. Gilt zusatzlich G1 = G2, soheißt ϕ Automorphismus.
19/61
Symmetrie II
Knotensymmetrie
Sei G = (V ,E ) ein ungerichteter Graph, so heißt G knotensymmetrisch (engl.:vertex-transitive), wenn fur alle u, v ∈ V ein Automorphismus ϕu,v exisitertmit ϕu,v (u) = v .
Kantensymmetrie
Sei G = (V ,E ) ein ungerichteter Graph, so heißt G kantensymmetrisch(engl.: edge-transitive), falls fur je zwei Kanten {u, v}, {u′, v ′} ∈ E einAutomorphismus ϕ exisitert mit ϕ(u) = u′ und ϕ(v) = v ′.
20/61
Symmetrie II
Knotensymmetrie
Sei G = (V ,E ) ein ungerichteter Graph, so heißt G knotensymmetrisch (engl.:vertex-transitive), wenn fur alle u, v ∈ V ein Automorphismus ϕu,v exisitertmit ϕu,v (u) = v .
Kantensymmetrie
Sei G = (V ,E ) ein ungerichteter Graph, so heißt G kantensymmetrisch(engl.: edge-transitive), falls fur je zwei Kanten {u, v}, {u′, v ′} ∈ E einAutomorphismus ϕ exisitert mit ϕ(u) = u′ und ϕ(v) = v ′.
20/61
Skalierbarkeit
Erweiterbarkeit massiv paralleler Systeme von essentieller Bedeutung
Dabei werden folgende Randbedingungen angestrebt:
Weitestgehende Beibehaltung der TopologieNutzung bestehender VerbindungsleitungenKeine negative Beeinflussung der LeistungsfahigkeitEingeschrankte Zunahme der Netzkomplexitat
23/61
Permutationsmoglichkeiten I
Permutation
Sei S 6= ∅ eine beliebige endliche Menge und sei n die Anzahl derElemente in S , so entspricht eine n-stellige Permutation einer bijektivenAbbildung σ : Sn → Sn.
24/61
Permutationsmoglichkeiten II
Blockierendes NetzEin Netz wird als blockierend bezeichnet, wenn es eine Untermenge PS allermoglichen Permutationen PM unterstutzt – Permutationen aus der MengePM − PS hingegen zu Konflikten innerhalb des Netzes fuhren.
25/61
Permutationsmoglichkeiten III
Rearrangierbares Netz
Ein rearrangierbares Netz erlaubt alle Permutationen PM , allerdings mussenbei Anderungen der aktuellen Permutationen unter Umstanden bestehendeVerbindungen rekonfiguriert werden.
26/61
Permutationsmoglichkeiten IV
Streng blockierungsfreies Netz
Streng blockierungsfreie Netze erlauben alle Permutationen PM , ohne dasAuftreten von Blockierungen oder die Rekonfiguration bereits bestehenderVerbindungen.
27/61
Partitionierbarkeit
DefinitionEin Netz der Große N heißt partitionierbar, wenn es in K sich einander nichtbeeinflussende Subnetze der Große Ni < N, 0 ≤ i < K aufgeteilt werden kann,wobei die so entstandenen Subnetze alle Eigenschaften des Netzes besitzen,welches in der Große N konstruiert wurde.
28/61
Plattbarkeit
DefinitionEin Graph G wird als plattbar oder planar bezeichnet, insofern es moglich ist,den Graphen G innerhalb einer Ebene so zu zeichnen, dass sich die Kanten vonG nicht uberschneiden. Somit durfen sich die Kanten von G ausschließlich inden Knoten beruhren.
29/61
Einbettung I
Definition
Fur zwei endliche ungerichtete Graphen G = (VG ,EG ) und H = (VH ,EH)heißt eine Abbildung der Knotenmengen, ϕ : VG → VH Einbettung von Gin H. Dabei wird G als Gast- und H als Wirtsgraph bezeichnet.
30/61
Einbettung II
DilatationUnter der Dilatation einer Grapheneinbettung wird die maximale Knotendistanzder Bilder von benachbarten Knoten aus G in H verstanden:
dilation(ϕ′(EG )) = max |ϕ′(u, u′)| mit (u, u′) ∈ EG
31/61
Einbettung III
Kongestion
Die Kongestion einer Grapheneinbettung ist die maximale Anzahl von Kanten,deren Wege hinsichtlich der Wegewahl ϕ′(EG ) eine einzelne Kante aus Hbenutzen:
cong(ϕ′(EG )) = max |{(u, u′) ∈ EG |(v , v ′) ∈ ϕ′(u, u′)}| mit (v , v ′) ∈ EH
32/61
Einbettung IV
ReduktionDie Reduktion einer Grapheneinbettung entspricht der maximalen Anzahl vonKnoten des Gastgraphen, welche einem einzelnen Knoten des Wirtsgraphenzugeordnet werden:
load(ϕ) = max |{u ∈ VG |ϕ(u) = v}| mit v ∈ VH
33/61
Einbettung V
Expansion
Die Expansion einer Grapheneinbettung ist das Verhaltnis zwischen denKardinalitaten der gesamten Knotenmenge des Wirtsgraphen und der durchdie Einbettung bestimmten Bildmenge von Knoten des Gastgraphen:
expansion(ϕ) =|VH ||ϕ(VG )|
34/61
Synchron
Verbindungsaufbau: Alle Prozesse eines Kommunikators forderngleichzeitig eine Verbindung an
Datenubertragung: Signale werden im festen Verhaltnis zu einemzentralen Takt gesendet bzw. empfangen
36/61
Asynchron
Verbindungsaufbau: Anforderung von Verbindungen kann zu beliebigenZeitpunkten erfolgen
Datenubertragung: Nutzung von Handshake-Protokollen odermitgefuhrten lokalen Takten
37/61
Kommunikationsflexibilitat
Unicast (1-to-1)
In einem Unicast-Netz sind ausschließlich Einzelverbindungen moglich, beidenen eine Quelle zeitgleich nur mit einer Senke kommuniziert.
Multicast (1-to-N)
Ein Netz ist Multicast-fahig sobald eine Quelle zeitgleich mit einerUntermenge aller verfugbaren Senken kommunizieren kann.
Broadcast (1-to-all)
Ein Netz mit Broadcast-Moglichkeiten unterstutzt Kommunikation zwischeneiner Quelle und allen verfugbaren Senken. Somit ist der Broadcast einSpezialfall des Multicast.
39/61
Kommunikationsflexibilitat
Unicast (1-to-1)
In einem Unicast-Netz sind ausschließlich Einzelverbindungen moglich, beidenen eine Quelle zeitgleich nur mit einer Senke kommuniziert.
Multicast (1-to-N)
Ein Netz ist Multicast-fahig sobald eine Quelle zeitgleich mit einerUntermenge aller verfugbaren Senken kommunizieren kann.
Broadcast (1-to-all)
Ein Netz mit Broadcast-Moglichkeiten unterstutzt Kommunikation zwischeneiner Quelle und allen verfugbaren Senken. Somit ist der Broadcast einSpezialfall des Multicast.
39/61
Kommunikationsflexibilitat
Unicast (1-to-1)
In einem Unicast-Netz sind ausschließlich Einzelverbindungen moglich, beidenen eine Quelle zeitgleich nur mit einer Senke kommuniziert.
Multicast (1-to-N)
Ein Netz ist Multicast-fahig sobald eine Quelle zeitgleich mit einerUntermenge aller verfugbaren Senken kommunizieren kann.
Broadcast (1-to-all)
Ein Netz mit Broadcast-Moglichkeiten unterstutzt Kommunikation zwischeneiner Quelle und allen verfugbaren Senken. Somit ist der Broadcast einSpezialfall des Multicast.
39/61
Zentral
Steuerung der Netzwerkkomponenten uber eine gemeinsam genutztezentrale Instanz
Pro: Effektive Nutzung aller verfugbaren Ressourcen moglich
Contra: Hoher Aufwand bei Rekonfiguration
41/61
Dezentral
Individuelle und selbstandige Steuerung der Koppelelemente durch dieNetzwerkkomponenten selbst
Pro: Vereinfachung des Rekonfigurationsprozesses
Contra: Lokale Sicht auf das Netz
42/61
Leitungsvermittlung
Aufbau einer vollstandigen, durchgangigen Verbindung zwischen Quelleund Senke
Reihenfolgengetreue Ubertragung des Bitdatenstroms
Kommunikationsweg bleibt wahrend der gesamten Informations-ubertragung bestehen
44/61
Paketvermittlung
Verteilung einer Nachricht auf mehrere Dateneinheiten (Pakete)
Vermittlung erfolgt aufgrund von Steuerinformationen innerhalb derDateneinheiten
Teilstrecken sind nur wahrend der Ubertragung einer Dateneinheitblockiert
45/61
Nachrichtenvermittlung
Vermittlungseinheiten entsprechen anwendungsorientiertenGesichtspunkten
I.d.R. erfolgt dennoch eine Unterteilung in mehrere Dateneinheiten
Freigabe einer Teilstrecke erfolgt nach Ubertragung einer vollstandigenNachricht
46/61
Verbindungsorientierte Kommunikation
Etablierung einer Verbindung zwischen Quelle und Senke, welche fur diegesamte Dauer der Datenubertragung genutzt wird
Verbindung kann physikalisch auf eine feste Leitung abgebildet werden(Leitungsvermittlung) oder lediglich virtuell existieren (Paketvermittlung)
47/61
Verbindungslose Kommunikation
Ausschließlich in paketvermittelnden Systemen moglich
Auswahl des Wegs erfolgt an allen Zwischenstationen fur jedes Paketeinzeln anhand definierter Metriken
48/61
Store-and-Forward
Weiterleitung einer Dateneinheit an einer Vermittlungsstation erfolgt erstnach vollstandiger Zwischenspeicherung
Speicherstrategien:
Input BufferingOutput BufferingCommon Buffering
49/61
Wormhole-Routing
Aufteilung des Headers in kleinere Einheiten (sog. Flits)
Ein Flit enthalt Schaltungsinformation fur jeweils eine Vermittlungsstelle
Mit Hilfe der Flits wird der Weg zwischen Quelle und Senke etabliert
Die Freigabe erfolgt uber eine Kennung am Ende der Dateneinheit
Im Falle einer Blockierung wird das Senden unterbrochen bis dieBlockierung aufgehoben ist
50/61
Virtual-Cut-Through-Routing
Ablauf einer Kommunikation identisch zum Wormhole-Routing
Im Falle einer Blockierung kann ein Paket allerdings zwischengespeichertwerden
51/61
Konflikttypen
PE 1 PE 2 PE 3
AusgangskonfliktInterner Konflikt
Abbildung: Mogliche Netzkonflikte
53/61
Konfliktbehandlung bei Leitungsvermittlung
Block:
Verbindungsaufbau schreitet bis zur Blockierung fortAufgebaute Verbindungen bleiben bestehen, bis zur Auflosung desKonflikts
Drop:
Abbruch des Verbindungsaufbaus im Falle einer Blockierung
Modified Drop:
Verbindungsaufbau wird nach einer definierten Wartezeit abgebrochen,wenn eine Blockierung auftritt
54/61
Konfliktbehandlung bei Paketvermittlung
Block:
Zwischenspeicherung der eintreffenden Pakete im Falle einer BlockierungSignalisierung an vorhergehende Stufen, bei Erschopfung der verfugbarenRessourcen
Drop:
Ablauf identisch zum Block-Verfahren, allerdings erfolgt keineSignalisierung bei einem PufferuberlaufPaketverluste sind moglich
Modified Drop:
Signalisierung der vorhergehenden Stufe erfolgt bereits bei einerdefinierten Auslastung des verfugbaren SpeichersKommt es dennoch zu einem Pufferuberlauf, werden die Pakete verworfen
55/61
Fehlersichere Systeme
DefinitionIn einem fehlersicheren System wird ein auftretender Fehler erkannt und dasSystem in einen sicheren Zustand uberfuhrt. Dabei ist keine Rekonfigurationder Hard- oder Software notwendig.
57/61
Fehlertolerante Systeme
Fehlerkompensierendes System
In einem fehlerkompensierendem System ist das Auftreten eines Fehlerstransparent fur den Anwender. Das System bleibt im Fehlerfall unverandert,allerdings werden die Auswirkungen des Fehlers unterdruckt, so dass dasErgebnis dennoch korrekt ist.
Fehlerbehebendes System
Bei einer Fehlerbehebung wird das System im Fehlerfall durch Rekonfigurationder Hard- oder Software in einen fehlerfreien Zustand uberfuhrt. DieseUmstrukturierung ist i.d.R. mit Einschrankungen der Leistungsfahigkeitverbunden und somit fur den Nutzer nicht mehr transparent.
58/61
Fehlertolerante Systeme
Fehlerkompensierendes System
In einem fehlerkompensierendem System ist das Auftreten eines Fehlerstransparent fur den Anwender. Das System bleibt im Fehlerfall unverandert,allerdings werden die Auswirkungen des Fehlers unterdruckt, so dass dasErgebnis dennoch korrekt ist.
Fehlerbehebendes System
Bei einer Fehlerbehebung wird das System im Fehlerfall durch Rekonfigurationder Hard- oder Software in einen fehlerfreien Zustand uberfuhrt. DieseUmstrukturierung ist i.d.R. mit Einschrankungen der Leistungsfahigkeitverbunden und somit fur den Nutzer nicht mehr transparent.
58/61
Literaturverzeichnis I
[Gil91] Giloi, Wolfgang K.Rechnerarchitektur, Springer-Verlag 1991.ISBN: 3-540-56355-5
[Cul99] D. E. Culler, J. P. SinghParallel Computer Architecture, Morgan Kaufmann Publishers 1999.ISBN: 1-55860-343-3
[SchJ96] Th. Schwederski, M. JurczykVerbindungsnetze, B. G. Teubner Stuttgart 1996.ISBN: 3-519-02134-X
[TanGoo99] A. S. Tanenbaum, J. GoodmanComputerarchitektur, Prentice Hall 1999.ISBN: 3-8272-9573-4
60/61
Literaturverzeichnis II
[Vert] Weisstein, Eric W.Vertex-Transitive Graph, 2010.http://mathworld.wolfram.com/Vertex-TransitiveGraph.html
[Edge] Weisstein, Eric W.Edge-Transitive Graph, 2010.http://mathworld.wolfram.com/Edge-TransitiveGraph.html
61/61