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

**Dynamische Verbindungsnetzwerke**

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

**Dynamische Verbindungsnetzwerke**

**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): $i_n,i_{n-1},...,i_1$ → Empfängerkennung(binär): $i_{n-1},...,i_1,i_n$ (zyklische Linksverschiebung)
* Butterfly: Senderkennung(binär): $i_n,i_{n-1},...,i_1$ → Empfängerkennung(binär): $i_1,i_{n-1},...,i_n$ (Vertauschung von LSB und MSB)

Des Weiteren unterteilt man diese Netze in sog. $\log N$ Netze und NICHT $\log N$ Netze. $\log N$ Netze haben bei N Knoten, $\operatorname {ld} N$ 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.

