One More Bit Is Enough

Download Report

Transcript One More Bit Is Enough

One More Bit Is Enough
Yong Xia, RPI
Lakshmi Subramanian, UCB
Ion Stoica, UCB
Shiv Kalyanaraman, RPI
SIGCOMM’05, Philadelphia, PA
08 / 23 / 2005
Motivation #1: TCP does not perform well in high b/w
bottleneck utilization
bottleneck utilization
100%
100%
TCP
TCP
70%
50%
bandwidth (Mbps)
VCP
round-trip delay (ms)
2
Motivation #1: Why TCP does not scale?
 TCP uses binary congestion signals, such as loss or one-bit
Explicit Congestion Notification (ECN)
congestion
window
congestion
Multiplicative Decrease (MD)
congestion avoidance
slow start
slow!
Additive Increase (AI)
time
 AI with a fixed step-size can be very slow for large bandwidth
VCP
3
Motivation #2: XCP scales
 XCP decouples efficiency control and fairness control
C
spare bandwidth
rate & rtt
-- MIMD
-- AIMD
DATA
x
sender
raterouter
ACK
receiver
 But, XCP needs multiple bits (128 bits in its current IETF draft) to
carry the congestion-related information from/to network
VCP
4
Goal
Design a TCP-like scheme that:
 requires a small amount of congestion
information (e.g., 2 bits)
 scales across a wide range of network
scenarios
VCP
5
Key Observation
Fairness is not critical in low-utilization region
 Use Multiplicative Increase (MI) for fast
convergence onto efficiency in this region
 Handle fairness in high-utilization region
VCP
6
Variable-structure congestion Control Protocol (VCP)
 Routers signal the level of congestion
 End-hosts adapt the control algorithm accordingly range of interest
scale-free
control
load
factor
Multiplicative Decrease (MD)
1
Additive Increase (AI)
Multiplicative Increase (MI)
traffic rate
VCP
code
overload
(11)
high-load
(10)
low-load
(01)
0
x
2-bit ECN
sender
region
link capacity
2-bit ECN
router
ACK
receiver
7
VCP vs. ECN
 ECN doesn’t differentiate between low-load and high-load regions
TCP
VCP
control
AQM / ECN
load
factor
Multiplicative Decrease (MD)
1
Additive Increase (AI)
Additive Increase (AI)
Multiplicative Increase (MI)
0
region
code
overload
(11)
(1)
high-load
underload
low-load
(10)
(0)
(01)
x
2-bit
1-bit ECN
sender
VCP
router
ACK
receiver
8
An illustration example
 MI tracks available
bandwidth
exponentially
9 flows
join and
then leave fast
 After high utilization is attained, AIMD provides fairness
link utilization
MI
AIMD
flow cwnd (pkt)
time (sec)
VCP
9
VCP vs. ECN
VCP
VCP
TCP+RED/ECN
utilization
utilization
cwnd
cwnd
time (sec)
time (sec)
10
VCP key ideas and properties
router
end-host
overload
high-load
fairness control
low-load efficiency control
AIMD
MI
 Use network link load factor as the congestion signal
 Decouple efficiency and fairness controls in different load regions
 Achieve high efficiency, low loss, and small queue
 Fairness model is similar to TCP:


VCP
Long flows get lower bandwidth than in XCP (proportional vs.
max-min fairness)
Fairness convergence much slower than XCP
11
Major design issues
control
load
region
code
Multiplicative Decrease (MD)
Additive Increase (AI)
overload
high-load
Multiplicative Increase (MI)
low-load
(11)
(10)
(01)
 At the router

How to measure and encode the load factor?
 At the end-host



VCP
When to switch from MI to AI?
What MI / AI / MD parameters to use?
How to handle heterogeneous RTTs?
12
Design issue #1: measuring and encoding load factor
 Calculate the link load factor 
load_factor =
demand
capacity
t = 200ms  most rtt
arrival_traffic + queue_size
=
link_bandwidth * t
 The load factor is quantized and encoded into the two ECN bits
information loss  affects fairness
VCP
13
Design issue #2: setting MI / AI / MD parameters (, ,  )
overload
VCP
high-load
AIMD
low-load
MI
14
Design issue #2: setting MI / AI / MD parameters (, ,  )
 Q: load factor transition point * for MI  AI?
load factor
MD
AI
100%
 = 1.0
 = 0.875
safety margin
MI
 = k (1  *) / *
where k = 0.25 (for stability)
* = 80%
TCP:  = 1.0
VCP:  = 0.06
80%
STCP:  = 0.01
20%
0%
VCP
15
Design issue #3: Handling RTT heterogeneity for MI/AI
 Scale  to prevent MI from overshooting capacity when RTT is small
rtt < t
s
overshoot
rtt = t
if rtt < t
spare capacity

1
time
t
VCP
t
16
VCP scales across b/w, rtt, num flows
 Evaluation using extensive ns2 simulations
 150Mbps, 80ms, 50 forward flows and 50 reverse flows
VCP
17
VCP achieves high efficiency
bottleneck utilization
bottleneck utilization
XCP
XCP
VCP
VCP
TCP
TCP
bandwidth (Mbps)
VCP
round-trip delay (ms)
18
VCP minimizes packet loss rate
XCP
XCP
VCP
VCP
TCP
bottleneck utilization
bottleneck utilization
packet loss rate
packet loss rate
TCP
XCP
VCP
bandwidth (Mbps)
VCP
TCP
TCP
XCP
VCP
round-trip delay (ms)
19
VCP comparisons
 Compared to TCP+AQM/ECN





Same architecture (end-hosts control, routers signal)
Router congestion detection: queue-based  load-based
Router congestion signaling: 1-bit  2-bit ECN
End-host adapts (MI/AI/MD) according to the ECN feedback
End-host scales its MI/AI parameters with its RTT
 Compared to XCP


VCP
Decouple efficiency/fairness control across load regions
Functionality primarily placed at end-hosts, not in routers
20
Theoretical results
 Assumptions:


One bottleneck of infinite buffer space is shared by synchronous
flows that have identical RTTs;
The exact value of load factor is echoed back.
 Theorem for the VCP fluid model:



It is globally stable with a unique and fair equilibrium, if k  0.5;
The equilibrium is max-min fair for general topologies;
The equilibrium is optimal by achieving all the design goals.
 VCP protocol differs from the model in fairness.
VCP
21
Conclusions
 With a few minor changes over TCP + AQM / ECN,
VCP is able to approximate the performance of XCP




VCP
High efficiency
Low persistent bottleneck queue
Negligible congestion-caused packet loss
Reasonable (i.e., TCP-like) fairness
22
Future work
 How do we get there, incrementally?



End-to-end VCP
TCP-friendliness
Incentive
 Extensions


Applications: short-lived data traffic, real-time traffic
Environment: wireless channel
 Security

VCP
Robust signaling, e.g., ECN nonce
23
The end
Thanks!
VCP
24
Design issue #3: Handling RTT heterogeneity for MI/AI
 TCP throughput is biased against flows with large RTT
rate

packet_size
rtt  sqrt( loss_rate )
 VCP scales  for fair rate sharing (regardless of RTT)
rate = cwnd / rtt
VCP
25
VCP keeps small bottleneck queue
queue length in % buffer size
queue length in % buffer size
per-flow b/w-delayproduct < 1 packet
TCP
XCP VCP
bandwidth (Mbps)
VCP
VCP
XCP
TCP
round-trip delay (ms)
26
Vary the number of flows
XCP
VCP
TCP
bottleneck utilization
queue length in % buffer size
XCP
TCP
VCP
number of flows
VCP
27
Influence of RTT on fairness
 To some extent, VCP distributes reasonably fairly
VCP
28
Influence of RTT on fairness (cont’d)
VCP
29
VCP converges onto fairness
VCP
30
VCP converges onto fairness faster with more bits
VCP
31
Responsiveness
50 flows
VCP
+ 150 flows
– 150 flows
32