de 1 de 2 Vorlesung 8 Z EIT /AUFWAND 2.6. S WITCHING Beim Sender ➜ Routing (Vorl. 7) bestimmt den Nachrichtenübertragungs-Pfad ➜ Switching (diese Vorlesung) bestimmt wie die Übertragung entlang des Pfades stattfindet: Slide 3 ➜ Die benutzte Switching-Strategie hat einen großen Einfluß auf die Nachrichten-Übertragungszeit N ACHRICHTEN ÜBR TRAGUNG : B EISPIELABLAUF Transportlatenz Gesamtzeit Gesamtlatenz Z EITMODELL ➜ Als Kommunikationsprotokoll des Betriebssystems implementiert ➜ Programmschritte zum Senden einer Nachricht: • Kopieren der Nachricht in den Systempuffer • Prüfsumme berechnen, Header anfügen, Timer starten • Senden der Nachricht zur Netzwerkschnittstelle, hardwaremäßige Übertragung veranlassen ➜ Schritte zum Empfangen einer Nachricht: Slide 4 • Kopieren aus Hardwareschnittstelle in den Systempuffer • Prüfsumme berecnen und vergleichen; wenn korrekt – Empfangsbestätigung F ÜR EINE N ACHRICHTEN ÜBER TRAGUNG ➜ Bandbreite (Bytes/Sec): max. Geschwindigkeit der Datenübertragung über eine Leitung ➜ Bytetransferzeit (Sec/Byte): Zeit, die benötigt wird, um ein Byte über die Leitung zu schicken: Bytetransferzeit = 1/Bandbreite ➜ Signalverzögerungszeit (sec): Zeit, bis das erste Bit einer Nachricht beim Empfänger ankommt ➜ Overhead = Senderoverhead + Signalverzögerung + Empfängeroverhead ➜ Gesamtlatenz = Overhead + Bytetransferzeit × Nachrichtengröße ➜ Allgemeine Schreibweise: ➜ Weitere Schritte beim Sender: T (m) = tS + tB · m wobei tS – Startupzeit/Overhead, tB – Bytetransferzeit, m – Nachrichtengröße in Bytes. • Bestätigung erhalten ⇒ Systempuffer freigeben • Time-out ohne Bestätigung erreicht (Timer!) ⇒ erneut senden ➜ Mögliche Zusatz-Aspekte im Protokoll: Umkehrung von Bytes beim Versenden zwischen verschiedenartigen Knoten, etc. S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 Im Netzwerk Empfängeroverhead ➜ Zeit der Schritte des Protokolls (Overhead): • Senderoverhead: Vorbereitung einer Nachricht im Sender • Empfängeroverhead: Nachricht-Bearbeitung im Empfänger ➜ Einfachster Fall zu Beginn: Nachrichtübertragung über eine Leitung zwischen zwei Nachbarknoten BY Signalverzögerung Übertragungszeit Latenzzeit = Die Zeit einer Nachrichtenübertragung besteht aus: ➜ Transportlatenz, d.h. Übertragungszeit + Netzverzögerung ➜ Die Performance-Modellierung für verschiedene Arten der Übertragung ist ein Schwerpunkt dieses Kapitels c 2004 N ACHRICHTEN ÜBER TRAGUNG Senderoverhead Übertragungszeit Beim Empfänger • ob und wie die Nachricht in Stücke zerlegt wird; • wie der Übertragungspfad allokiert wird; • wann die Nachricht ihren Teil der Übertragungsressourcen (Leitung, Puffer, etc.) bekommt, insb. bei Konflikten (dieser Mechanismus wird auch Flow-Control genannt). DER ➜ Wie sich die Latenzzeit bei mehreren Zwischenknoten verh ält, hängt wesentlich von der Switching-Strategie ab 1 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 2 de 5 de 6 S WITCHING : Z WEI G RUNDFORMEN PAKET-S WITCHING ➜ Unterteilung der Nachricht in Pakete ➜ Pakete werden in flits = flow control units zerlegt. Flit: minimale logische Informationseinheit, die akzeptiert/abgelehnt werden kann Grundformen: Circuit-Switching und Paket-Switching C IRCUIT-S WITCHING – DIE I DEE : ➜ gesamter Pfad wird aufgebaut, durch Versenden einer Kontrollnachricht (probe) Nachricht Knoten Slide 7 Quelle 0 Paket D a t e Header n 1 Flit 2 3 Aufbau des Pfades C IRCUIT-S WITCHING – F OR TSETZUNG PAKET-S WITCHING : F OR TSETZUNG ➜ Jedes Paket wird separat gesendet, bei adaptivem Routing evtl. über verschiedene Pfade ➜ Freigabe des gesamten Pfades erst nach Übertragung ➜ Evtl. Unterteilung der Nachricht in phits = physical units: Phit – kleinste physikalische Einheit, die zusammenhängend (in einem Takt) übertragen wird ➜ Die Kanäle bzw. Puffer werden jeweils nur von einem Paket belegt ➜ Ein Phit = 1 bis 64 Bits, abhängig von Kanalbreite Slide 8 ➜ Zeitaufwand bei Circuit-Switching: • Pipelining • Cut-Through wobei l – Pfadlänge; tc = tB · mc – Übertragungszeit der Kontrollnachricht ➜ Beachte: In der Literatur wird von “Store-and-Forward Routing” und “Cut-Through Routing” gesprochen, obwohl es sich dabei nicht um die Bestimmung des Pfades handelt! ➜ Wenn mc << m, dann Tcs (m, l) ≈ tS + tB · m, d.h. linear in m und unabhängig von l (Pfadlänge) ! S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 ➜ Das Paket-Switching kann in verschiedenen Ausprägungen realisiert werden: • Store-and-Forward Tcs (m, l) = tS + tc · l + tB · m, BY Routingflit • Header mit der Routing- und Kontrollinformation • Daten • Trailer mit der Prüfsumme Gesamter Pfad ist für die Nachrichtenübertragung aktiv ➜ Der Pfad wird einer Nachricht exklusiv zugeordnet c 2004 Datenflit ➜ Jedes Paket besteht aus drei Teilen: Zeit Ziel Prüfdaten 3 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 4 S TORE - AND -F ORWARD Source C UT-T HROUGH S WITCHING Dest Source 3 2 1 0 PAKET-S WITCHING 3 2 1 0 3 2 1 0 3 2 10 Dest 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 3 0 ➜ Zeitaufwand bei Store-and-Forward: 3 2 1 0 1 0 Slide 11 3 2 1 0 3 2 3 Tsf (m, l) = tS + l · (th + tB · m) wobei th – Zeit für die Zwischenspeicherung/Weiterleitung ➜ Normalerweise ist th kleiner als andere Werte, deshalb Tsf (m, l) ≈ tS + l · tB · m 2 1 0 3 2 1 S TORE - AND -F ORWARD : E IGENSCHAFTEN ➜ – : hoher Speicherbedarf; Latenzzeit hängt von der Pfadlänge ab. 3 2 1 3 2 1 0 MIT ➜ + : schnelle Freigabe von Verbindungen, dadurch verringerte Deadlockgefahr 3 2 1 0 de 9 e 10 VS . ➜ Für eine Nachricht aus mehreren Paketen: 0 1 0 • Deterministischer Routingalgorithmus ⇒ Summe der Transportzeiten einzelner Pakete • Adaptiver Routingalgorithmus ⇒ Überlappungen in der Zeit möglich, somit evtl. schneller 2 1 0 3 2 1 0 Time Zwischenspeicherung vs. Weiterleitung ⇒ Zeitunterschied PAKETBASIER TES S TORE - AND -F ORWARD S WITCHING PAKET-S WITCHING ➜ Versendet ein gesamtes Paket über je eine Verbindung ➜ Jeder Zwischenknoten speichert das gesamte Paket (store) bevor es weitergeschickt wird (forward) ➜ Die Verbindungen werden von aufeinanderfolgenden Paketen überlappend genutzt ➜ Beispiel: software-realisierte Datenkommunikation im Internet Slide 12 Knoten ➜ Das erste Paket kommt nach der Zeit tS + l · (th + tB · mp ) an, danach in jedem Zeitschritt mp · tB je ein Paket ➜ Zeitaufwand: Quelle 0 H 2 Ziel P IPELINING ➜ Alle Pakete einer Nachricht verwenden den gleichen Pfad ➜ Die Verbindung wird nach der Zwischenspeicherung freigegeben 1 MIT Tpipe (m, l) H H = tS + l · (th + tB · mp ) + (m − mp ) · tB ≈ tS + m · tB + (l − 1) · tB · mp wobei l – Pfadlänge, mp – Paketgröße Zeit ( Aktivität des Knotens ) c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 5 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 6 e 13 e 14 PAKETBASIER TES C UT-T HROUGH S WITCHING PAKETBASIER TES W ORMHOLE S WITCHING ➜ Weiterentwicklung des Pipeline-Ansatzes ➜ Wird in Hardware unterstützt, auch hardware-switching genannt ➜ Jedes einzelne Paket pipelineartig durch Netzwerk schicken ➜ Pakete werden in Flits = Flow Control Units zerlegt ➜ Die phits sind pipelineartig auf dem Pfad verteilt ➜ Flit bei wormhole = 1 – 8 Bytes ➜ Keine oder sehr kleine Zwischenpuffer in den Knoten (für ein paar Flits) Knoten Quelle 0 H 1 Slide 15 H ➜ Beachte: In der Literatur wird oft von “Wormhole Routing” gesprochen; dabei wird der Begriff “Routing” im Sinne von Switching benutzt bzw. mißbraucht H 2 H 3 Ziel Übertragung des Headers PAKET-S WITCHING MIT ➜ Bei belegter Verbindung blockieren die flits den Gesamtpfad ➜ Ähnlich dem Circuit-Switching auf Paketebene + : geringer Speicherbedarf, hohe Geschwindigkeit Zeit – : erhöhte Deadlock-Gefahr Übertragung des Paketes W ORMHOLE S WITCHING : G EFAHR C UT-T HROUGH : E IGENSCHAFTEN EINES D EADLOCKS ➜ Verschiedene Pfade für verschiedene Pakete möglich ➜ Der Verbindungspfad vom Paket-Header bestimmt B ➜ Zeitaufwand für ein Paket: B B B B Tct (m, l) = tS + l · tB · mH + tB · (m − mH ) wobei mH – Größe des Headers Slide 16 Ressourcenbelegung B • Virtuelles Cut-Through: Alle Paket-Phits werden im letzten erreichten Knoten gesammelt und gepuffert – kann so zum Store-and-Forward degenerieren B Paket 3 B B • Partielles Cut-Through: Teile des Pakets werden weiter übertragen, ohne alle Phits aufzusammeln S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 B B ➜ Bei Contention (belegte Verbindung) zwei Möglichkeiten: BY Ressourcenanforderung Paket 4 Paket 2 B Flit-Puffer Weitergabeauswahl B B ➜ Wenn mH << m, dann Tct (m, l) ≈ tS + tB · m, d.h. die Kosten sind unabhängig von der Pfadlänge! c 2004 B Paket 1 B B Deadlocks werden durch geeignete Routing-Algorithmen, z.B. XY-Routing, oder Virtuelle Kanäle (siehe Vorlesung 7) vermieden 7 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 8 17 Nächste Vorlesung: am 24.05.2004 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 9