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

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