770 likes | 886 Views
FCP: A Flexible Transport Framework for Accommodating Diversity . Dongsu Han (KAIST) Robert Grandl † , Aditya Akella † , Srinivasan Seshan * † University of Wisconsin-Madison * Carnegie Mellon University. Evolution of Transport Protocols. {. Reliability/Loss recovery
E N D
FCP: A Flexible Transport Framework for Accommodating Diversity Dongsu Han (KAIST) Robert Grandl† , AdityaAkella†, SrinivasanSeshan* † University of Wisconsin-Madison *Carnegie Mellon University
Evolution of Transport Protocols { Reliability/Loss recovery In-order delivery Flow control Congestion control Transport Network (IP)
Evolution of Transport Protocols Transport Multipath Quality of Experience (QoE)
Evolution of Transport Protocols Support for diversity: Multi-homing, multiple paths, multiple sub-streams, multimedia streaming, Web applications, Data transfer with a deadline Transport Multipath Quality of Experience (QoE)
Evolution of Transport Protocols { Reliability/Loss recovery In-order delivery Flow control Congestion control Congestion control Transport
Evolution of Transport Protocols Resource Allocation Congestion control Transport Coordination Fairness and efficiency
Problems in Supporting Diversity in Congestion Control RCP XCP [sigcomm] D3 [sigcomm] TCP Cannot ensure coexistence.
Evolution of TCP NewReno MPTCP End-pointflexibility: Purely end-point based Coexistence: Invariant for fairness TFRC CUBIC MPTCP 2010 TCP Friendly Rate Control TCP Nice FastTCP (TCP friendliness) SACK (1996) NewReno (1999) MulTCP Explicit Congestion Notification TCP BIC, CUBIC 2008 TCP window-scaling, 1988
End-point based vs. Router-Assisted End-point based [TCP] High Flexibility, Diversity Can we achieve the best of both worlds? Router-Assisted [XCP, RCP] Feedback on network’s state High Efficiency
Our Approach 2. Introduce generic abstractions for resource allocation. 1. Decouple coexistence issues (fairness and efficiency) from end-point control Flexible Control Network’s state (feedback) Fairness Efficiency End-point’s future behavior (feed-forward) Network End-host
1 Decoupling for Flexibility Sender Receiver Network Flow 1 Budget W ($/sec) ... PRICE Flow 2 Sender can distribute its budget to its flows. Flow i’s budget wi, subject to W ≥ Σwi Flow i’s rate: Ri = budget/price = wi /Pi(Byte/sec) Flow n Flow i’s price: Pi ($/Byte)
1 Decoupling for Flexibility Sender Receiver Network Flow 1 Budget W ($/sec) ... PRICE 2. Flexibility in network price generation. Flow 2 Flow n Invariant for fairness Flow i’s budget wi, subject to W ≥ Σwi 1. Flexibility at the end-points in how its budget is used.
2a Feedback: Pricing • Feedback: “congestion price” reflecting the “cost” of sending data across the link [Kelly] P3 P2 P1 Price = p3 Price = p3+p2 Price = p3+p2+p1 Round Trip Time Round Trip Time Round Trip Time Congestion Header Congestion Header Congestion Header
2a Feedback: Pricing • Feedback: “congestion price” reflecting the “cost” of sending data across the link [Kelly] P3 P2 P1 Sender updates the rate. Rate = budget/price Price Echoback Price feedback = p3+p2+p1 This implements proportional fairness [Kelly].
2a Price Calculation Feedback: Pricing Router updates the price, upon packet reception. Load Averaging window = 2 x AvgRTT Time Recent load f(Average recent load) Price ($/byte) =
2a Price Calculation Feedback: Pricing Router updates the price, upon packet reception. Instantaneous Incoming budget ($) = Price ($/byte) x Bytes Received (bytes) Averaging window = 2 x AvgRTT Time Incoming budget Average Incoming Budget Price ($/byte) = Remaining Link Capacity
2a Price Calculation Feedback: Pricing Router stores recent history of price, Instantaneous Incoming budget ($) New Price Incoming budget I(t)= Time Round Trip Time (rtt) Average Incoming Budget Price ($/byte) = Remaining Link Capacity
2b Feed-forward: Preloading 10 ($/sec) 1 ($/sec) Sender PRICE Price: p$/byte Rate = 1/p Bps Rate = 10/p Bps
2b Feed-forward: Preloading 10 ($/sec) 1 ($/sec) Sender Rate = 1/p Price Price Round Trip Time Round Trip Time (1+preload) x price(t-rtt) x bytes Incoming budget ($) Preload=9 Preload=9 Congestion Header Rate = 10/p’ Price goes up (from p to p’)
Evaluation 1. Basic performance of FCP Flow 1 PRICE Budget W ($/sec) ... Flow 2 Flow n 2. End-point budget allocation. 3. Flexibility in network price generation.
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Ideal Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Ideal Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Ideal Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Ideal Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RTT = {25ms, 50ms, 125ms, 250ms, 625ms } Ideal Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback Ideal Sending Rate (Mbps) FCP Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RCP Ideal Overloaded when new flows arrive Sending Rate (Mbps) Sending Rate (Mbps) FCP Sending Rate (Mbps) Time
Fast Convergence/Accurate Feedback RCP Ideal Overloaded when new flows arrive Sending Rate (Mbps) Sending Rate (Mbps) XCP FCP Sending Rate (Mbps) Sending Rate (Mbps) Fairness AIMD Time
Local Stabilityof FCP • Random perturbation of [-30,30]% introduced every second for a duration of 100 ms.
Faster Convergence/Accurate Feedback More results in the paper: - Fairness, efficiency - Local stability - Effectiveness of preloading - Overhead of price calculation Slower, inaccurate 100Mbps … Fan-out =5 Slowest. Fairness AIMD FCP’s converges faster and the feedback is more accurate.
Budget Determines the Fair-share. 1 ($/sec) 1 ($/sec) Host A Host B 100Mbps … Fan-out =50
Local Stabilityof FCP • Random perturbation of [-30,30]% introduced every second for a duration of 100 ms.
Accurate feedback with preloading • Double the load every RTT from t= 0 to 1 sec. • RCP: double the # of flows • FCP (our design): double the budget 34
Accurate feedback with preloading • Double the load every RTT from t= 0 to 1 sec. • RCP: double the # of flows • FCP (our design): double the budget
End-point Flexibility: Topology Sender0 (S0) Budget 1 Round-trip latency : 12 ms 250 Mbps link Receiver0 Sender1 (S1) Budget 2 Top flow Btm flow Sender2 (S2) Budget 1 Receiver1 200 Mbps links 50 Mbps link
Budget allocation is up to end-points Total S1’s Throughput (Mbps) Budget of S1’s top flow ($/sec)
Budget allocation is up to end-points Total Top flow Bottom flow Max-throughput Equal-budget S1’s Throughput (Mbps) Equal-throughput Budget of S1’s top flow ($/sec)
End-point Diversity: Background flows Flow0 50Mbps 100Mbps Link latency: 3ms Non-bottleneck Link capacity: 200Mbps Flow2 (Background) Flow3 Flow1 Flow2 (Background)
Diversity in Network Pricing • FCP can also support diverse behaviors in network price generation. • Examples (in the paper) • Deadline support [D3 SIGCOMM 11] • Aggregate resource allocation in a multi-tenant data-center • Stable bandwidth allocation for streaming • Multicast congestion control
Deadline Support [D3SIGCOMM 11] Price Price Deadline flows preload to specify the desired rate Deadline Queue Constant Pricing Time Time Variable Pricing Best Effort Queue Preload Average Incoming Budget Price ($/byte) = Remaining Link Capacity
Differential Pricing for Deadline Support Constant Pricing for Deadline Flows Constant Pricing for Deadline Flows Price Price Variable Pricing for BE flows
Differential Pricing for Deadline Support Constant Pricing for Deadline Flows Price Price increase Variable Pricing for BE flows Dead flows Best effort (BE) Rejected/BE flows
Packet processing performance Per-core FCP throughput : 2.6Mpps (1.25 Gbps@ 64 bytes) Per-core Click baseline: 6.1 Mpps (3.1 Gbps@64bytes)
Packet processing performance About 1/3 spent on actual price calculation 1/3 spent on clock_gettime (can be offloaded to h/w)
Summary • FCP accommodates diverse behaviors in resource allocation while utilizing explicit feedback. • FCP maximizes end-point’s flexibility by simplifying the mechanism of coexistence. • FCP’s explicit feed-back and feed-forward provides a generic interface for efficient resource allocation.
Research Theme • Cooperative model for resource allocation. • Network knows information that end-points do not know. • End-points know information that the network does not know. • Can we benefit from a new interface between the network and the end-points?
Mobile Networks • Unique properties: • Under a single administrative domain • A complete ecosystem.