Multiprozessor Aufgaben
Verbindungsnetzwerk
End-to-end latency model
Annahmen:
- Ein Paket hat auf dem Weg von der Quelle zum Ziel $L$ Schaltelemente zu passieren
- Paket umfasst $N$ Phits
- Die Routing-Entscheidung ($R_{OH}$) in einem Schaltelement benötigt $R$ Netzwerkzyklen
- Sender OH und Receiver OH sind fest
End-to-end packet latency = Sender OH + Time of flight (incl. switching time) + Transmission time + Routing time + Receiver OH
Sender OH: fest gegeben
Time of Flight:
- Circuit Switching: $L \cdot T_{\text{cycle}}$
- Packet Switching
- Store-and-forward: $L \cdot N \cdot T_{\text{cycle}}$
- Cut-through: $L \cdot T_{\text{cycle}}$
Transmission time: $(N-1)\cdot T_{\text{cycle}}$
Das 1.Phit ist während Time-of-Flight schon gesendet. Daher gibt es noch restlich $N-1$ zu sendende Phits.
Routing time:
- Circuit switching: $\text{Time of Flight} + L \cdot R_{\text{OH}}$
- Packet Switching
- Store-and-forward: $L \cdot R_{\text{OH}}$
- Cut-through: $L \cdot R_{\text{OH}}$
Receiver OH: fest gegeben
Time of Flight (in Zyklus) | Transmission time (in Zyklus) | Routing time (in Zyklus) | |
---|---|---|---|
Circuit Switching | $L$ | $N-1$ | Insgesamt: $L + L \times R$ |
Packet Switching (Store-and-forward)![]() | $(L-1) \times N + 1$ | $N-1$ | $L \times R$ |
Packet Switching (cut-through)![]() | $L$ | $N-1$ | $L \times R$ |
Achtung:
Die Einheit der Maße in der obigen Tabelle ist Zyklus. Um die Ausführungszeit zu berechnen, müssen sie noch mit Zykluszeit $T_C$ multiplizieren!