Modelli di latenza
Modellazione della latenza
(1)
• Non è semplice stabilire quanto tempo serve per
ricevere un oggetto da un server remoto dopo aver
inviato una richiesta.
• Anche se si conoscono la BW e il round trip time, il
tempo di trasferimento effettivo dipende dal profilo
di perdita e dalla advertised window del
destinatario.
Modelliamo slow start e congestion avoidance
separatamente e poi alterniamo tra i due
in base al profilo di perdita.
Modellazione della latenza
(2)
Se non vi sono perdite vanno considerati due casi.
• Slow Sender (finestra grande)
L’invio è ancora in corso quando torna l’ACK:
- tempo per inviare la finestra > tempo per inviare il primo ACK;
- W*S/R > RTT + S/R
• Fast Sender (finestra piccola)
Aspetta ACK per inviare altri dati:
- tempo per inviare la finestra < tempo per inviare il primo ACK;
- W*S/R < RTT + S/R
• R: bit rate.
• W: segmenti nella finestra di congestione fissa.
• S: MSS (in bit).
Modellazione latenza: finestra statica
O: dimensione oggetto da
trasmettere (in bit)
Numero di finestre:
K = O/WS
Slow Sender
Fast Sender
• Latenza:
• Latenza:
2RTT+ O/R
2RTT+O/R +(K-1)(S/R+RTT-WS/R)
Tempo di attesa dell’ACK tempo per trasmettere la finestra.
Modellazione latenza: slow start
• Ora supponiamo che la finestra cresca secondo lo slow
start (NON slow start + congestion avoidance).
• La latenza per un oggetto di dimensione O è:
P è il numero di volte che TCP si blocca lato mittente per
aspettare che arrivi un ACK e riapra la finestra:
P = min {Q, K - 1}
Q è il numero di volte che il mittente si arresterebbe se
l’oggetto fosse di dimensioni infinite. Di solito vale 0.
K è il numero di finestre necessarie per coprire l’oggetto.
S/R è il tempo per trasmettere un segmento.
RTT+S/R è il tempo per ricevere l’ACK di un segmento.
Esempio
• O/S = 15 segmenti.
• K = 4 finestre.
• Q = 2.
• P = min{K-1,Q} = 2.
• Mittente si blocca P = 2 volte.
(1)
Esempio
(2)
Calcolo della latenza totale
• S/R = tempo per trasmettere un segmento.
• RTT+ S/R = tempo per ricevere l’ACK di un segmento.
• 2k-1(S/R) = tempo per trasmettere la k-esima finestra.
• [RTT+ S/R - 2k-1(S/R)] = tempo di blocco (stallTime)
dopo la k-esima finestra.
• Latenza totale per un oggetto O:
P
O
latency   2 RTT   stallTime p
R
p 1
P
O
S
S
  2 RTT   [  RTT  2 k 1 ]
R
R
k 1 R
O
S
S
  2 RTT  P[ RTT  ]  ( 2 P  1)
R
R
R
(1)
Calcolo della latenza totale
(2)
FINE
Scarica

Modelli di latenza