Title: EECS%20122:%20Introduction%20to%20Computer%20Networks%20Transport%20Analysis
1EECS 122 Introduction to Computer Networks
Transport Analysis
- Computer Science Division
- Department of Electrical Engineering and Computer
Sciences - University of California, Berkeley
- Berkeley, CA 94720-1776
2Outline
- Exponential averaging and its applications
- Retransmission timeout (RTO) computation
- Littles Theorem (revisited)
3Exponential Averaging
- Let X1, X2, , XN be a series of measurements
- Then average value Ai after the i-th measurement
is computed as - Ai a Ai-1 (1 - a ) Xi
- where a is a constant between 0 and 1
- Note that (assuming A0 0)
- Ai a N-1 (1 - a) X1 a N-2 (1 - a) X2 (1
- a) XN - What is the role of a? What does a control?
4Exponential Averaging Example
- X constant A converges to X
X
A
iteration
1
2
3
4
5
6
7
8
9
10
5Exponential Averaging Example
- Maintaining queue size in RED
6Exponential Averaging Example
- RTT estimation in TCP
- Measure RTT for each packet/ACK pair
- Compute average of RTT as
- EstRTT a x EstRTT (1 - a ) x RTT
- a is 0.9 (or 0.8)
7Moving Window Average
- Let X1, X2, , XN be a series of measurements
- Then average value Ai after the i-th measurement
is computed as - Ai (Xi-1 Xi-2 Xi-w)/W
- where W is the window size
- How do exponential averaging and moving window
averaging compare?
8Outline
- Exponential averaging and its applications
- Retransmission timeout (RTO) computation
- Littles Theorem (revisited)
9Retransmission Timeout (RTO) Computation The
Problem
1
1
Timeout
RTT
RTT
1
Timeout
1
Timeout too long ? inefficiency
Timeout too short ? duplicate packets
10RTO Computation Original Algorithm
- Measure RTT for each packet/ACK pair, then
perform - EstRTT a x EstRTT (1 - a ) x RTT, where
a is 0.9 (or 0.8) - RTO 2 x EstRTT
11RTO Computation Jacobson/Karels Algorithm
- Measure RTT for each packet/ACK pair, then
perform - Err RTT - EstRTT
- EstRTT EstRTT (1 a ) x Err
(Note equivalent to
EstRTT a x EstRTT (1 - a ) x RTT) - DevRTT (1 - b ) x DevRTT b x Err
- RTO EstRTT 4 DevRTT
- where a 0.9 and b 1/8
- DevRTT represents the mean of the deviation (like
standard deviation) of the RTT - Why do we need DevRTT?
12RTO Computation Karn/Partridge Algorithm
- Add the following two considerations to
Jacobson/Karels algorithm - EstRTT is updated only when an ACK is received
before the timeout expires. Why? - If a packet timeouts, double EstRTT. Why?
13Outline
- Exponential averaging and its applications
- Retransmission timeout (RTO) computation
- Littles Theorem (revisited)
14Littles Theorem
- Assume a system (e.g., a queue) at which packets
arrive at rate a(t) - Let d(i) be the delay of packet i , i.e., time
packet i spends in the system - What is the average number of packets in the
system?
d(i) delay of packet i
a(t) arrival rate
system
- Intuition
- Assume arrival rate is a 1 packet per second
and the delay of each packet is s 5 seconds - What is the average number of packets in the
system?
15Littles Theorem
1
2
Latest bit seen by time t
Sender
Receiver
time
T
16Littles Theorem
1
2
Latest bit seen by time t
Sender
Receiver
S area
time
T
Average occupancy S/T
17Littles Theorem
1
2
Latest bit seen by time t
Sender
Receiver
S(N)
S area
time
T
S S(1) S(2) S(N) P(d(1) d(2)
d(N))
18Littles Theorem
1
2
Latest bit seen by time t
Sender
Receiver
S(N)
S area
time
T
S/T (P(d(1) d(2) d(N)))/T
((PN)/T) ((d(1) d(2) d(N))/N)
19Littles Theorem
1
2
Latest bit seen by time t
Sender
Receiver
S(N)
a(i)
S(N-1)
d(N-1)
x(t)
S area
time
T
Average occupancy (average arrival rate) x
(average delay)