Verbindungsnetzwerk
Ein Verbindungsnetzwerk beschreibt eine technische Einrichtung, die die Aufgabe hat, eine statische oder dynamische Verbindung zwischen einem Sender und einem Empfänger über ein entsprechendes Leitungsmedium herzustellen, um eine Informationsübertragung zu ermöglichen.
Dabei sind Sender und Empfänger Sende- und Empfangsstationen im weiteren Sinne, das heißt, es handelt sich hier um Knoten, die Kommunikation betreiben, zum Beispiel Prozessoren, Arbeitsplatzrechner, Telekommunikationseinheiten, zusammengekoppelte Rechnernetze usw.
Parameter
Verbindungsnetzwerke haben zahlreiche Parameter, die einerseits deren Leistungsfähigkeit bzw. zentrale Eigenschaften widerspiegeln und andererseits zur Unterteilung bzw. Klassifizierung der Netze dienen.
Topologie
Die Topologie ist der wesentlichste Parameter eines Verbindungsnetzwerkes. Sie ist wesentlich verantwortlich für die fundamentalen Merkmale und Begrenzungen des Verbindungsnetzwerkes.Näheres dazu siehe Topologie (Rechnernetz).
Verbindungsart
Die Verbindungsart ist das primäre Merkmal zur Unterteilung der Verbindungsnetzwerke. Verbindungen sind entweder statisch oder dynamisch.
Statische Verbindungsnetzwerke
Statische Verbindungsnetzwerke sind fest verdrahtet. Jeder Knoten besitzt eine feste Anzahl von Nachbarn nebst entsprechenden direkten Verbindungen (Links) zu ihnen. Das Netzwerk selbst besteht nur aus den Leitungen, besitzt also keinerlei Vermittlungsfunktion. Diese wird indirekt über die beteiligten Knoten ausgeführt. Netze dieser Art sind einmal aufgebaut nicht rekonfigurierbar. Beispiele für statische Verbindungsnetzwerke sind Gitter oder Ringe, Bäume und Hypercubes (siehe Topologie (Rechnernetz))
Dynamische Verbindungsnetzwerke
Dynamische Verbindungsnetzwerke zeichnen sich dadurch aus, dass die Verbindungen zwischen den Knoten über zum Netz gehörende Koppelelemente realisiert werden. Dabei können diese Koppelelemente in mehreren Stufen hintereinander angeordnet sein, weshalb man diese Art der Verbindungsnetzwerke nochmals in einstufige und mehrstufige Netze unterteilt. Eine Stufe enthält dabei eine gewisse Anzahl Koppelelemente. Genauer gesagt sorgt das Netz dafür, dass Senderknoten mittels einer Permutationsfunktion auf Empfängerknoten geschaltet werden. Dabei können entweder alle n! Permutationen geschaltet werden, oder nur einige.
Einstufige dynamische Verbindungsnetzwerke
Diese Verbindungsnetzwerke bestehen aus nur einer so genannten Stufe von Schaltzellen beziehungsweise nur aus der Schaltzelle selbst. Die Zellen sind in der Regel eine mehr oder weniger komplexe Form eines Kreuzschienenverteilers (Crossbar), der selbst schon ein einstufiges dynamisches Verbindungsnetzwerk darstellt. Die einfachste Form ist die so genannte Betazelle, eine 2×2-Crossbar, die die Schalterstellungen "straight" und "crossed" beherrscht. Einstufige dynamische Verbindungsnetzwerke sind streng blockierungsfrei, da sie jede beliebige Permutation schalten können.
Mehrstufige dynamische Verbindungsnetzwerke
Diese Verbindungsnetzwerke zeichnen sich dadurch aus, dass mehrere Stufen von Schaltzellen hintereinander geschaltet werden. Zwischen den Stufen besteht eine feste Verdrahtung, die meistens – aber nicht immer – einer der Grundpermutationen entspricht. Dies sind vor allem die Perfect Shuffle Permutation und die Butterfly Permutation.
- Perfect Shuffle: Senderkennung(binär): in,in-1,...,i1 → Empfängerkennung(binär): in-1,...,i1,in (zyklische Linksverschiebung)
- Butterfly: Senderkennung(binär): in,in-1,...,i1 → Empfängerkennung(binär): i1,in-1,...,in (Vertauschung von LSB und MSB)
Des Weiteren unterteilt man diese Netze in sog. Netze und NICHT Netze. Netze haben bei N Knoten, Stufen und N/2 Schaltelemente pro Stufe. Sie sind verglichen mit ihren Leistungsdaten relativ minimal, sind aber in der Regel nicht blockierungsfrei. Beispiele hierfür sind das Omega-Netz, das Banyan-Netz oder auch das Flip-Netz. Nicht-log-N-Netze haben diese Eigenschaften nicht (vor allem sind sie nicht minimal), sind aber dafür des Öfteren blockierungsfrei, wie etwa das Clos-Netz.
Datenstromart
Nach der Art und Weise, wie Daten im Netzwerk fließen, unterscheidet man leitungsvermittelte und paketvermittelte Verbindungsnetzwerke. Leitungsvermittelte Netze bauen bei Kommunikationsbeginn zunächst die Verbindung auf. Alle Daten fließen dann über die aufgebaute Verbindung, nehmen also denselben Weg, weshalb hier auch kein Routingalgorithmus zur Anwendung kommt. Paketvermittelte Netze teilen die zu übertragenden Daten in mehrere Pakete, die dann unabhängig voneinander den Weg durch das Netzwerk zum Ziel finden. Hierfür ist ein Routingalgorithmus notwendig.
Blockierungs- und Verklemmungsverhalten
Hierbei betrachtet man, ob und wie Blockierungen (Knoten können Daten temporär nicht weiter leiten, weil sie bereits andere Daten übertragen) und Verklemmungen (Deadlocks) auftreten können und ob bzw. wie diese behoben werden. Hier spielt vor allem der verwendete Routingalgorithmus eine entscheidende Rolle. Er entscheidet, ob im Falle von Blockierungen Umwege gegangen werden oder wie überhaupt um die Blockierung herum geroutet wird. Das Erkennen und Auflösen von Verklemmungen gestaltet sich je nach Topologie und Routing schwierig bis unmöglich, weshalb man in der Regel versucht sie zu vermeiden.
Übertragungsrate
siehe Übertragungsrate
Fehlertoleranz
Die Fehlertoleranz beschreibt ob und wie ein Verbindungsnetzwerk auf Fehler wie Link- oder Knotenausfälle reagiert oder wie kritisch der Ausfall einiger oder bestimmter Knoten beziehungsweise Links ist. Entscheidend hierbei ist die Topologie und der Routingalgorithmus des Netzwerkes.
Erweiterbarkeit
Die Erweiterbarkeit oder Skalierbarkeit beschreibt, ob und in welchem Maße ein Verbindungsnetzwerk erweiterbar ist, das heißt um zusätzliche Knoten erweitert werden kann, ohne, dass dabei signifikante Merkmale des Verbindungsnetzwerkes verloren gehen. Dies ist vor allem von der verwendeten Topologie abhängig. Wichtig bei der Erweiterbarkeit ist nicht nur die prinzipielle Machbarkeit, sondern auch die dabei entstehenden Kosten.
Kosten
Die Kosten quantifizieren den (nicht nur monetären) Aufwand, den man zum Aufbau und Betrieb eines Verbindungsnetzwerkes betreiben muss. Hier spielen Dinge wie der Grad der Topologie, das verwendete Übertragungsmedium, Übertragungsrate, Routingalgorithmus, nötige Intelligenz der Hardware sowie verwendete Protokolle eine Rolle.
Bedeutung in Parallelrechnersystemen
Das Verbindungsnetzwerk ist hauptsächlich – aber nicht ausschließlich – in parallelen Rechnersystemen für die erreichbare Gesamtleistung hauptverantwortlich, da sich die Arbeitsabläufe in autonome Parallelphasen und Kommunikationsphasen aufteilt, wobei das Verbindungsnetzwerk hier zum Flaschenhals der Kommunikation werden kann, wenn es um mehrere Größenordnungen langsamer ist, als die vernetzten Rechenknoten.
Literatur
- W. Giloi: Rechnerarchitektur. Springer, Berlin 2001, ISBN 3540624368
- Th. Ungerer: Innovative Rechnerarchitekturen. McGraw-Hill, Hamburg 1989, ISBN 3890281508
- Th. Schwederski, M. Jurczy: Verbindungsnetzwerke. Teubner, Stuttgart 1996, ISBN 351902134X
- H. Richter: Verbindungsnetzwerke für parallele und verteilte Systeme. Spektrum, Heidelberg 1997, ISBN 3827401879
- A. S. Tanenbaum: Computerarchitektur. Strukturen – Konzepte – Grundlagen. 5. veränderte Auflage. Pearson Studium, München 2005, ISBN 3827371511
- Th. Warschko: Effiziente Kommunikation in Parallelrechnerarchitekturen. In: VDI-Berichte. Reihe 10, Nr. 525
- M. Sampels: Algebraische Konstruktion effizienter Verbindungsnetzwerke. Dissertation Uni Oldenburg, 1998, ISBN 3897220512
- Andrew S. Tanenbaum: Computernetzwerke. 5., aktualisierte Auflage, Pearson Studium, München 2012, ISBN 978-3-8689-4137-1
- R. Buyya (Hrsg.): High Performance Cluster Computing. Band 1 und 2. Prentice Hall, Upper Saddle River/NJ 1999, ISBN 0-13-013785-5