Vorlesung 8 Z EIT /AUFWAND 2.6. S WITCHING Slide 1 ➜ Routing (Vorl. 7) bestimmt den Nachrichtenübertragungs-Pfad Beim Sender ➜ Switching (diese Vorlesung) bestimmt wie die Übertragung entlang des Pfades stattfindet: Beim Empfänger • ob und wie die Nachricht in Stücke zerlegt wird; • wie der Übertragungspfad alloziert wird; • wann die Nachricht ihren Teil der Übertragungsressourcen (Kanal, Puffer, etc.) bekommt, insb. bei Konflikten (dieser Mechanismus wird auch Flow-Control genannt). N ACHRICHTEN ÜBR TRAGUNG : B EISPIELABLAUF Im Netzwerk Transportlatenz Gesamtzeit Gesamtlatenz Z EITMODELL ➜ Der hier beschriebene Ablauf wird i.d.R. 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 Slide 4 ➜ Schritte zum Empfangen einer Nachricht: Empfängeroverhead 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: • Kopieren aus Hardwareschnittstelle in den Systempuffer • Prüfsumme berecnen/prüfen; OK ⇒ Empfangsbestätigung ➜ 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 Signalverzögerung Übertragungszeit ➜ 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 einer Topologie BY Senderoverhead Ü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 2007 N ACHRICHTEN ÜBER TRAGUNG Slide 3 ➜ Die benutzte Switching-Strategie hat einen großen Einfluß auf die Nachrichten-Übertragungszeit Slide 2 DER ➜ Wie sich die Latenzzeit bei mehreren Zwischenknoten verhält, hängt wesentlich von der Switching-Strategie ab 1 c 2007 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 2 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 5 Slide 7 Quelle 0 Paket D a t e n Header 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 der Ü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, m – Nachrichtengröße in Bytes; 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) ! BY 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, c 2007 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 Slide 6 Datenflit ➜ Jedes Paket besteht aus drei Teilen: Zeit Ziel Prüfdaten 3 c 2007 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 4 PAKET-S WITCHING PAKETBASIER TES S TORE - AND -F ORWARD S WITCHING MIT S TORE - AND -F ORWARD : E IGENSCHAFTEN ➜ + : schnelle Freigabe von Verbindungen, dadurch verringerte Deadlockgefahr ➜ Versendet ein gesamtes Paket über je eine Verbindung ➜ Jeder Zwischenknoten speichert das gesamte Paket (store) bevor es weitergeschickt wird (forward) ➜ – : hoher Speicherbedarf; Latenzzeit hängt von der Pfadlänge ab. ➜ Die Verbindung wird nach der Zwischenspeicherung freigegeben ➜ Zeitaufwand bei Store-and-Forward: Tsf (m, l) = tS + l · (th + tB · m) Slide 9 Slide 11 Knoten H 1 ➜ Für eine Nachricht aus mehreren Paketen: H 2 Ziel • Deterministischer Routingalgorithmus ⇒ Summe der Transportzeiten einzelner Pakete • Adaptiver Routingalgorithmus ⇒ Überlappungen in der Zeit möglich, somit evtl. schneller Zeit ( Aktivität des Knotens ) S TORE - AND -F ORWARD VS . Source C UT-T HROUGH S WITCHING Source Dest PAKET-S WITCHING Dest 0 3 2 1 0 3 2 10 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 Slide 10 3 2 3 0 2 1 0 3 2 3 Slide 12 ➜ Das erste Paket kommt nach der Zeit tS + l · (th + tB · mp ) an, danach in jedem Zeitschritt mp · tB je ein Paket ➜ Zeitaufwand: 3 2 1 0 3 2 1 P IPELINING ➜ Beispiel: Ein derartiger Ansatz wird z.T. in software-realisierten Datenkommunikationen im Internet benutzt 3 2 1 0 1 0 MIT ➜ Wenn alle Pakete einer Nachricht den gleichen Pfad verwenden, dann können die Verbindungen von aufeinanderfolgenden Paketen überlappend genutzt werden 3 2 1 0 3 2 1 0 3 2 1 wobei th – Zeit für die Zwischenspeicherung/Weiterleitung ➜ Normalerweise ist th kleiner als andere Werte, deshalb Tsf (m, l) ≈ tS + l · tB · m Quelle 0 H 0 Tpipe (m, l) = tS + l · (th + tB · mp ) + (m − mp ) · tB ≈ tS + m · tB + (l − 1) · tB · mp 1 0 2 1 0 3 2 1 0 wobei l – Pfadlänge, mp – Paketgröße Time Zwischenspeicherung vs. Weiterleitung ⇒ Zeitunterschied c 2007 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 5 c 2007 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 6 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 Slide 13 ➜ Keine oder sehr kleine Zwischenpuffer in den Knoten (für ein paar Flits) Knoten Quelle 0 H 1 Slide 15 ➜ Ähnlich dem Circuit-Switching auf Paketebene 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 ➜ Bei belegter Verbindung blockieren die flits den Gesamtpfad MIT Zeit + : geringer Speicherbedarf, hohe Geschwindigkeit Übertragung des Paketes – : erhöhte Deadlock-Gefahr 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 wird vom Paket-Header bestimmt B ➜ Zeitaufwand für ein Paket: B B B B Tct (m, l) = tS + l · tB · mH + tB · (m − mH ) Ressourcenbelegung B ➜ Bei Contention (belegte Verbindung) zwei Möglichkeiten: S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 B Paket 3 B B • Partielles Cut-Through: Teile des Pakets werden weiter übertragen, ohne alle Phits aufzusammeln BY B B • Virtuelles Cut-Through: Alle Paket-Phits werden im letzten erreichten Knoten gesammelt und gepuffert – kann so zum Store-and-Forward degenerieren c 2007 Ressourcenanforderung Paket 4 Paket 2 Slide 16 ➜ Wenn mH << m, dann Tct (m, l) ≈ tS + tB · m, d.h. die Kosten sind unabhängig von der Pfadlänge! B Flit-Puffer Weitergabeauswahl B B wobei mH – Größe des Headers Slide 14 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 2007 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 8 8