Slide 1 Vorlesung 8 Slide 2 1 Beim Empfänger Beim Sender Im

Werbung
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
Herunterladen