Title: 4CP: Competitive and Considerate Congestion Control
14CP Competitive and Considerate Congestion
Control
- Shao Liu (UIUC)
- Milan Vojnovic (Microsoft Research)
- Dinan Gunawardena (Microsoft Research)
- Work preformed in part while an intern with
Microsoft Research Cambridge
2Outline
- Motivation
- Objective of 4CP
- 4CP Protocol
- 4CP Configuration
- 4CP Properties
- Simulations and Internet Experiments
3Motivation Service Differentiation
Bulk Data transfer (FTP, P2P) Background traffic
(Windows update)
Less throughput greedy, Time insensitive, ? Low
priority traffic
Home broadband Internet connection
Real time media
Throughput greedy, Time sensitive, ? High
priority traffic
Web surfing
E-Trade
- Internet carries traffic of different types
high/low priority - Service differentiation needed, but not
implemented at routers - DiffServ, but not enabled generally
- TCP supports no service differentiation, and no
QoS. - Practical solution High/normal priority (TCP) vs
low priority
4Service differentiation at senders
- Prior work strict low priority transport
protocol - Completely back-off when there exists (even 1)
standard TCP - Ex background transport service BITS (used by
windows update), TCP-LP (Dr. Kuzmanovic) ,
TCP-Nice - Only for throughput non-greedy (background)
services - Motivation low priority protocol for bulk data
transfer - Time insensitive and allow sporadic throughput
degradation - Need a decent/fair long term average throughput
- No incentive to use strict low priority protocols
? use TCP now - Non-strict low priority
- Benefit normal priority (TCP), but get decent
bandwidth share - Both considerate and competitive
- Ex App P2P file sharing, FTP download
4
5Bandwidth Sharing Objective Traditional Low
Priority (TCP-LP)
Average bandwidth
Normal priority (TCP)
Bottleneck capacity
File transfer (TCP-LP)
c
c
TCP-LP
silent
TCP
TCP
c/4
c/2
c/4
c/4
c/2
silent
c/4
silent
TCP-LP
TCP-LP
- TCP-LP takes all bandwidth if no competing TCP
- TCP-LP is inactive/silent if there exists any
competing TCP
6Bandwidth Sharing Objective Non-strict Low
Priority (4CP)
Bulk file transfer (4CP)
target bandwidth
Bottleneck capacity
Normal priority (TCP)
x
c
4CP
x
c/4
x
c/4
c/4
silent
c/4
4xgtc
- Guarantee target window size / target rate for
each standard TCP whenever possible (enough
bandwidth to meet the guarantee) - Remaining bandwidth beyond the guarantee shared
by 4CP users - If bandwidth not enough to meet the guarantee,
4CP stops sending
7Non-Strict Low Priority
Rate offered to normal priority flows, if feasible
Rate offered to low priority flows, if feasible
(nxgtc)
- Former strict/absolute low priority
- Ok for background traffic, but no incentive for
bulk data transfers - New non-strict low priority (4CP)
- 4CP benefits TCP when congestion is heavy (low
priority) - 4CP gets compensation when congestion is light
- For long time average, X4CP and Xtcp are
comparable - Competitive and Considerate Congestion Control
(4CP)
8Key Ideas
- Standard TCP Wsqrt(3/2p)
- p is the loss event rate.
- Guaranteeing Wtar is equivalent to guaranteeing
ptar3/(2(wtar)2) - 4CP window adaptation law
- If pgtptar, W?, if pltptar, W?
- If W hits zero, but pgtptar still, then
insufficient bandwidth to meet the guarantee, 4CP
is silent - Challenge 1 we do not know the current p?
- Use Additive Increase Inverse Multiplicative
Decrease (AI-IMD) - No need to estimate the exact p value
- Challenge 2 Once in inactive phase, how to
detect the transition to active phase? - Use virtual window size V as detector
8
94CP congestion avoidance
Congestion window
Virtual window
Target loss event rate
of packets acked per ACK Constant, 1 or 2
10Summary in one picture
W V, for V gt Wmin
V
1 / (ptar W)
Wmin
0
time
high congestion
low congestion
Bad phase detector
W Wmin, for V lt Wmin
-Vm
If feasible, balance loss rate p and ptar
Else, it is bad phase 4CP is inactive
11Compare with TCP
- 4CP V increase by 1/W per ack / decrease by
1/(ptarW) per loss - Drift EV(tRTT) - EV(t) 1-p/ptar
- If pltptar, W inc ? p inc if pgtptar, W dec ? p
dec or WWmin - At equilibrium pptar
(good phase) - or WWmin and pgtptar
(bad phase) - TCP w inc/dec such that wf(p) in average
Window
high congestion
Time
12How to pick -Vm
- AI-IMD of V equalizes p to ptar
- V is also a good or bad phase detector
- VgtWmin2 good/active phase, else bad/inactive
phase - -Vm lower bounds V
- -Vm is necessary, otherwise V?-infinity if bad
phase lasts very long - Two conflicting goals in setting -Vm
- Quick detection need a small Vm
- Low false positive (Vgt2 while pgtptar) need a
large Vm - Sol Pick smallest Vm s.t. false positive lt
threshold
12
13False positives probability
- Modelling assumptions
- Loss events Poisson (l), l Wmin p
- In bad phase p / ptar ? gt 1
- Main result
- False positive probability exp (- a ?? (Wmin
Vm)) - solution of 1 a exp(- a ?)
- Configuration guideline
Max allowed detection time
Max allowed false positive probability
13
14Support from simulations
Fix C, vary ptar, N (? varying p), make sure ptar
lt p For each ptar, N combination, vary Vm, for
each Vm, find false positive probability
false positive probability vs Vm
False positive probability Measurement vs Exp
law estimation
Vm
14
15How to pick Wtar fixed Wtar Vs automatic
- Fixed wtar mode ptar is fixed, and guaranteed
rate for normal traffic (x) is fixed. - High ptar smaller x, favors 4CP
- Low ptar larger x, favors TCP
- ptar balances competitive and cooperative
- Automatic mode. Goal fairness between TCP and
4CP - ptar ? ptar a(f(ptar)-W)/W, 0ltaltlt1
- ptar adaptation much slower than V adaptation.
- Eqm f(ptar)W for 4CP
- f() can be arbitrary function to achieve
arbitrary fairness between TCP and 4CP in a
long time scale. - Let f(p) ßsqrt(3/2p), ß 1 ? W4cp ß Wtar
15
16Combining fix and auto
- May not be practical. Optional for future usage
- By default, 4CP uses auto mode
- Let f(p) ß sqrt(3/2p), 0lt ß lt1
- 4CP accepts signals from other application users
- If an app needs an guaranteed rate x, it passes x
to 4CP - 4CP chooses min(fixed in x, auto in ß)
- If an app wishes to get more priority, it passes
ß to 4CP ? 4CP resets its ß value
16
174CP Properties
- Fairness
- 4CP fixed achieves the bandwidth sharing
objective - 4CP auto is a implementation of the Farsighted
Algorithms Key-Massoulie-Vojnovic, Infocom 05 - Myopic users TCPs utility is function of
instantaneous rate - Farsighted users 4CPs utility is function of
long time average rate - Stability
- Globally stable w/o delay (time scale separation)
- Locally stable w delay, same condition as TCP
18Simulation Bandwidth Allocation TCP vs 4CP
4CP
Internet
TCP
TCP
Rate (Mb/s)
Time
Number of TCP connections
19Responsiveness phase length influence
We vary the phase length for the pyramid
scenario, and see that the convergence is fast
as phase length gt1 min, the performance is good
20Benefit to short-run faster response time
short file transfers
Bottleneck capacity c
Long-run bulk data transfer TCP or 4CP
- Short-run not too short. Takes tens of RTTs for
transfer - If too quick, slow-start phase, no convergence at
all - Long-run bulk data transfer, use either TCP or
4CP - Long-run uses 4CP ? faster short-file transfer
time - If ß 1 (f(p) sqrt(3/2p) ), the benefit can be
2 times faster - A smaller ß brings more benefit
- ß balances competiveness and considerateness
20
21Response time Analysis Vs Simulation
Throughput of long-run flows and average response
time of small size files Small size files arrive
in batches, idle time between batches Left
analytical prediction Vs
Right measurement Long run
throughput TCP gt 4CPgt strict low prority, ex
TCP-LP Short run response time TCP-LP lt 4CP lt
TCP 4CP balances long-run throughput and
short-run response time
a F / (TC), F average file size, T average
idle time, C capacity
22Internet Experiments
- We implemented 4CP in Windows Vista
- We run experiments from Cambridge, UK to Redmond,
WA. C20Mbps, RTT170ms - We ran experiments with both 4CP and TCP to show
that 4CP is low priority when congestion is high - We ran experiments with random short-run traffics
and long run traffics using either TCP or 4CP to
show that 4CP benefits the short-run traffics
234CP as low priority
- 1 4CP, 20 TCP, ptar0.0003
4CP
TCP
24Response time, 4CP Vs TCP
4CP
TCP
ResponseTime_4cp ResponseTime_TCP
4CP benefits files that are not too small
25Summary
- 4CP novel congestion control protocol
- New bandwidth sharing objective
- Other than standard High-Low priority
- Incentives for throughput-greedy
delay-insensitive applications - Novel window control algorithm
- AI-IMDVirtual window
- Vm selection, sequential detection
- Fairness farsighted, long term average
throughput maximization - Stability condition same as TCP
- Benefit short run TCP users
-