Download presentation
Presentation is loading. Please wait.
Published byAshton Knapp Modified over 10 years ago
1
One More Bit Is Enough Yong Xia, RPI Lakshmi Subramanian, UCB Ion Stoica, UCB Shiv Kalyanaraman, RPI SIGCOMM’ 05, Philadelphia, PA 08 / 23 / 2005
2
VCP2 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%
3
VCP3 Motivation #1: Why TCP does not scale? TCP uses binary congestion signals, such as loss or one-bit Explicit Congestion Notification (ECN) time congestion window 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!
4
VCP4 Motivation #2: XCP scales XCP decouples efficiency control and fairness control x senderreceiverrouter C spare bandwidth -- MIMD DATA -- AIMD rate & rtt ACK rate But, XCP needs multiple bits (128 bits in its current IETF draft) to carry the congestion-related information from/to network
5
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
6
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
7
VCP7 Variable-structure congestion Control Protocol (VCP) senderreceiver x router Routers signal the level of congestion End-hosts adapt the control algorithm accordingly traffic ratelink capacity (11) (10) (01) code load factor 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
8
VCP8 VCP vs. ECN senderreceiver x router code load factor region overload control Multiplicative Decrease (MD) 0 1 ECN doesn’t differentiate between low-load and high-load regions TCPAQM / ECN (11) (10) (01) low-load high-load Additive Increase (AI) Multiplicative Increase (MI) ACK 2-bit ECN VCP (1) (0) underloadAdditive Increase (AI) ACK 1-bit ECN
9
VCP9 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 MIAIMD
10
VCP10 VCP vs. ECN TCP+RED/ECN cwnd utilization time (sec) VCP utilization cwnd time (sec)
11
VCP11 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 controlMI AIMD end-host
12
VCP12 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) codeloadregion low-load high-load overload
13
VCP13 Design issue #1: measuring and encoding load factor Calculate the link load factor demand load_ 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
14
VCP14 Design issue #2: setting MI / AI / MD parameters ( , , ) overload high-load low-load MI AIMD
15
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.06 STCP : = 0.01 MI AI MD k (1 * ) / * where k = 0.25 ( for stability) 80% 20% 1.0 = = = * =
16
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 s if rtt < t rtt = t tt tt time spare capacity 1
17
VCP VCP scales across b/w, rtt, num flows Evaluation using extensive ns2 simulations 17 150Mbps, 80ms, 50 forward flows and 50 reverse flows
18
VCP VCP achieves high efficiency 18 bottleneck utilization TCP VCP XCP bandwidth (Mbps) bottleneck utilization TCP VCP XCP round-trip delay (ms)
19
VCP VCP minimizes packet loss rate 19 TCP VCPXCP round-trip delay (ms) packet loss rate TCP VCPXCP bandwidth (Mbps) packet loss rate TCP VCP XCP TCP VCP XCP bottleneck utilization
20
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
21
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.
22
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
23
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
24
VCP The end 24 Thanks!
25
VCP Design issue #3: Handling RTT heterogeneity for MI/AI 25 TCP throughput is biased against flows with large RTT packet_size rate rtt sqrt( loss_rate ) VCP scales for fair rate sharing (regardless of RTT) rate = cwnd / rtt
26
VCP VCP keeps small bottleneck queue 26 queue length in % buffer size TCPVCPXCP bandwidth (Mbps) queue length in % buffer size TCPVCPXCP round-trip delay (ms) per-flow b/w-delay- product < 1 packet
27
VCP Vary the number of flows 27 number of flows VCP TCP bottleneck utilization queue length in % buffer size XCP VCP TCP XCP
28
VCP Influence of RTT on fairness To some extent, VCP distributes reasonably fairly 28
29
VCP Influence of RTT on fairness (cont’d) 29
30
VCP VCP converges onto fairness 30
31
VCP VCP converges onto fairness faster with more bits 31
32
VCP Responsiveness 50 flows + 150 flows – 150 flows 32
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.