One More Bit Is Enough Yong Xia, RPI Lakshmi Subramanian, UCB Ion Stoica, UCB Shiv Kalyanaraman, RPI...
-
Upload
ashton-knapp -
Category
Documents
-
view
216 -
download
3
Transcript of One More Bit Is Enough Yong Xia, RPI Lakshmi Subramanian, UCB Ion Stoica, UCB Shiv Kalyanaraman, RPI...
One More Bit Is EnoughOne More Bit Is Enough
Yong Xia, RPILakshmi Subramanian, UCB
Ion Stoica, UCBShiv Kalyanaraman, RPI
SIGCOMM’05, Philadelphia, PA
08 / 23 / 2005
VCP 2
Motivation #1: TCP does not perform well in high b/w
bottleneck utilization
round-trip delay (ms)
TCP
50%
100%
bandwidth (Mbps)
bottleneck utilization
TCP
70%
100%
VCP 3
Motivation #1: Why TCP does not scale?
TCP uses binary congestion signals, such as loss or one-bit Explicit Congestion Notification (ECN)
time
congestionwindow Multiplicative Decrease (MD)
Additive Increase (AI)
congestion
slow start
congestion avoidance
AI with a fixed step-size can be very slow for large bandwidth
slow!
VCP 4
Motivation #2: XCP scales
XCP decouples efficiency control and fairness control
x
sender receiverrouter
C
spare bandwidth -- MIMD
DATA
-- AIMD rate & rtt
ACKrate
But, XCP needs multiple bits (128 bits in its current IETF draft) to carry the congestion-related information from/to network
VCP
Goal
5
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
Key Observation
6
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 7
Variable-structure congestion Control Protocol (VCP)
sender receiver
x
router
Routers signal the level of congestion End-hosts adapt the control algorithm accordingly
traffic rate link capacity
(11)
(10)
(01)
code loadfactor
region
low-load
high-load
overload
control
Multiplicative Decrease (MD)
Additive Increase (AI)
Multiplicative Increase (MI)
range of interest
ACK
2-bit ECN
0
1
scale-free
2-bit ECN
VCP 8
VCP vs. ECN
sender receiver
x
router
code loadfactor
region
overload
control
Multiplicative Decrease (MD)
0
1
ECN doesn’t differentiate between low-load and high-load regions
TCP AQM / ECN
(11)
(10)
(01)low-load
high-loadAdditive Increase (AI)
Multiplicative Increase (MI)
ACK
2-bit ECN
VCP
(1)
(0)underloadAdditive Increase (AI)
ACK
1-bit ECN
VCP 9
An illustration example
MI tracks available bandwidth exponentially fast
time (sec)
After high utilization is attained, AIMD provides fairness
link utilization
flow cwnd (pkt)
9 flows join and then leave
MI AIMD
VCP 10
VCP vs. ECN
TCP+RED/ECN
cwnd
utilization
time (sec)
VCP
utilization
cwnd
time (sec)
VCP 11
VCP key ideas and properties
Achieve high efficiency, low loss, and small queue Fairness model is similar to TCP:
Long flows get lower bandwidth than in XCP (proportional vs. max-min fairness)
Fairness convergence much slower than XCP
Use network link load factor as the congestion signal Decouple efficiency and fairness controls in different load regions
overload
high-load
low-load
router
fairness control
efficiency control MI
AIMD
end-host
VCP 12
Major design issues
At the router How to measure and encode the load factor?
At the end-host When to switch from MI to AI? What MI / AI / MD parameters to use? How to handle heterogeneous RTTs?
control
Multiplicative Decrease (MD)Additive Increase (AI)
Multiplicative Increase (MI)
(11)(10)
(01)
code load region
low-load
high-loadoverload
VCP 13
Design issue #1: measuring and encoding load factor
Calculate the link load factor
demandload_
factor capacity =
link_bandwidth * t
arrival_traffic + queue_size =
t = 200ms most rtt
The load factor is quantized and encoded into the two ECN bits
information loss affects fairness
capacity
demand
VCP 14
Design issue #2: setting MI / AI / MD parameters (, , )
overload
high-load
low-load MI
AIMD
VCP
Design issue #2: setting MI / AI / MD parameters (, , )
Q: load factor transition point * for MI AI?
load factor
100%
80%
safety margin
0%
0.875
15
TCP: = 1.0 VCP: =
0.06STCP: =
0.01
MI
AI
MD
k (1 *) / *
where k = 0.25 (for stability)
80%
20%
1.0 = =
=
* =
VCP
Design issue #3: Handling RTT heterogeneity for MI/AI
Scale to prevent MI from overshooting capacity when RTT is small
16
rtt < t
overshoot s
if rtt < t
rtt = t
t t
time
spare capacity
1
VCP
VCP scales across b/w, rtt, num flows
Evaluation using extensive ns2 simulations
17
150Mbps, 80ms, 50 forward flows and 50 reverse flows
VCP
VCP achieves high efficiency
18
bottleneck utilization
TCP
VCP
XCP
bandwidth (Mbps)
bottleneck utilization
TCP
VCP
XCP
round-trip delay (ms)
VCP
VCP minimizes packet loss rate
19
TCPVCPXCP
round-trip delay (ms)
packet loss rate
TCP
VCPXCP
bandwidth (Mbps)
packet loss rate
TCP
VCP
XCP
TCP
VCP
XCP
bottleneck utilization bottleneck utilization
VCP
VCP comparisons
20
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 Decouple efficiency/fairness control across load regions Functionality primarily placed at end-hosts, not in routers
VCP
Theoretical results
21
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
Conclusions
22
With a few minor changes over TCP + AQM / ECN, VCP is able to approximate the performance of XCP
High efficiency Low persistent bottleneck queue Negligible congestion-caused packet loss Reasonable (i.e., TCP-like) fairness
VCP
Future work
23
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 Robust signaling, e.g., ECN nonce
VCP
The end
24
Thanks!
VCP
Design issue #3: Handling RTT heterogeneity for MI/AI
25
TCP throughput is biased against flows with large RTT
packet_sizerate
rtt sqrt( loss_rate )
VCP scales for fair rate sharing (regardless of RTT)
rate = cwnd / rtt
VCP
VCP keeps small bottleneck queue
26
queue length in % buffer size
TCP VCPXCP
bandwidth (Mbps)
queue length in % buffer size
TCPVCP XCP
round-trip delay (ms)
per-flow b/w-delay-product < 1 packet
VCP
Vary the number of flows
27
number of flows
VCP
TCP
bottleneck utilization
queue length in % buffer size
XCP
VCP
TCP
XCP
VCP
Influence of RTT on fairness
To some extent, VCP distributes reasonably fairly
28
VCP
Influence of RTT on fairness (cont’d)
29
VCP
VCP converges onto fairness
30
VCP
VCP converges onto fairness faster with more bits
31
VCP
Responsiveness
50 flows + 150 flows – 150 flows 32