Title: Burstiness Control for High Speed Long Distance TCP
1Burstiness Control for High Speed Long Distance
TCP
- David Wei Sanjay Hedge Steven Low
- Netlab _at_ Caltech
3rd PFLDNet Workshop Lyon, Feb 3, 2005
2Outline
- Observations and motivation
- Burstiness Measurement
- Burstiness Control and Experimental Results
- Open problems
3FAST over Pacific (Caltech-KAIST)
- 622Mbps, RTT360ms Caltech KAIST (Korean),
reproduced in Dummynet alpha500 bottleneck
buffer2000
4Packet loss
- About 70,000 packets are lost
- But Dummynet Router dropped 30,000 packets only!
1000 sec
5Not Only FAST! DataTAG (May 2003)
- RTT 120ms
- Bottleneck 1Gbps (split from 2.5 Gbps by Alcatel
1670) - Max queueing delay 2ms ( 170pkt)
6DataTag (2003)
- DataTAG Max cwnd4000 pkt (383Mbps per flow)
- 2 flows (txqueuelen 10000)
7Not only in Slow Start!
- DataTAG Max cwnd4000 pkt (383Mbps per flow)
- 2 flows (txqueuelen 100)
8High Frequency Monitor
- Goal
- to understand interesting events with microscopic
details - low overhead (event rates 100 per ms)
- easy to use
- TCPs behavior is only determined by the
information it receives in the last RTT. - Implementation
9Burstiness
- Dummynet 800Mbps, 120ms with SysKonnect NIC, 2003
10Burstiness
- Dummynet 800Mbps, 120ms with old SysKonnect NIC
11Packet Transmission in TCP
Packet_in_flight number of packets sent but not
acknowledged
Congestion Window Control send cwnd packets
every RTT
Sending Engine send cwnd-p_i_f packets every
acknowledgment.
12Loop of burstiness
- Sender Ack compression/ Ack loss
- Sender A burst of data packets sent out to the
network - Router Packet loss due to burstiness
- Receiver Delay ack disabled more ack sent back
to the sender - Sender Ack compression
13Burstiness Control?
How to Quantify?
14Burstiness Measurement
- Long term window control guarantees that the
average sending rate over one RTT will not exceed
the bottleneck capacity - Short term bursty traffic causes excessive
queuing delay and loss - Can we use short term excessive queuing delay
as a measurement of burstiness?
15Burstiness Measurement
- Green the long-term trend of queue length,
controlled by window control algorithm - White instantaneous queue length, the effect of
both window control algorithm and
Queue length
time
RTT
RTT
16Burstiness Measurement
- For each packet (packet n) to be sent, at time
t - u is the first packet that is sent but not
acknowledged it is sent 1 RTT before. - tj is the time when packet j is sent.
- Send the packet only when B is smaller than a
threshold.
17Burstiness Measurement
- For each packet (packet n) to be sent (u is
the first unacked packet)
Queue length
m
u
n
time
RTT
18Burstiness Measurement
- For each packet (packet n) to be sent (u is
the first unacked packet)
Queue length
m
u
n
time
RTT
19Burstiness Measurement
Available bandwidth for the connection
- For each packet (packet n) to be sent (u is
the first unacked packet)
Queue length
m
u
n
time
RTT
20Burstiness Measurement
- For each packet (packet n) to be sent (u is
the first unacked packet)
Queue length
m
u
n
time
RTT
21Burstiness Measurement
If ultm
Queue length
m
u
n
time
RTT
22Verification of Burstiness Measurement
Red Measured Queue Length
23Burstiness Control
24Burstiness Control
- Max cwnd4000 pkt (383Mbps per flow)
- 2 flows
25Burstiness Control
- 622Mbps, RTT360ms (Dummynet)
Bandwidth under-estimation by cwnd/RTT leads to
slow convergence
26Summary
- We can control packet transmission rate in two
levels Window control over RTT timescale and
burstiness control over packet timescale.
Burstiness Control
Per RTT
Per Packet
Window Control
27Open Questions
- Shall we do burstiness control in TCP?
- Increase txqueue? - only solves host problem (see
exp) - Simpler fixes? - scalability
- Pacing (in TCP) - overhead
- Buffer-provision in the router - expensive?
- pacing in NIC?
- Is pacing/burstiness control too polite when
competing with unpaced TCP? - How to reduce severe ack-compression?
28Increasing txqueue
Txqueuelen 100 pkt
Txqueuelen 10,000 pkt
29Thank you)
30Backups
31Continuous model
- Translate the discrete definition into a
continuous model
32Congestion Window Control
w/RTT
C
33Congestion Window Control
x(t)
C
34Congestion Window Control
x(t)
C
35Burstiness measurement
- Theorem The queue length is bounded by the sum
of window prediction and burstiness.
36Summary
- We can control packet transmission rate in two
levels Window control over RTT timescale and
burstiness control over packet timescale.
Burstiness Control
Per RTT
Per Packet
Window Control