Priority layered approach to Transport protocol for Long fat networks Vidhyashankar Venkataraman Cornell University 18th December 2007
Download ReportTranscript Priority layered approach to Transport protocol for Long fat networks Vidhyashankar Venkataraman Cornell University 18th December 2007
Priority layered approach to Transport protocol for Long fat networks Vidhyashankar Venkataraman Cornell University 18th December 2007 1 TCP: Transmission Control Protocol NSFNet: 1991 (1.5Mbps) Abilene backbone: 2007 (10Gbps) TCP: ubiquitous end-to-end protocol for reliable communication Networks have evolved over the past two decades TCP has not TCP is inadequate for current networks 18th December 2007 2 Long Fat Networks (LFNs) Bandwidth delay product BW X Delay = Max. amount of data ‘in the pipe’ Max. data that can be sent in one round trip time High value in long fat networks Optical eg. Abilene/I2 Satellite networks Eg: 2 satellites 0.5 secs, 10Gbps radio link can send up to 625MB/RTT 18th December 2007 3 TCP: Basics Window AI MD Reliability, in-order delivery Congestion-aware: SS Slow Start (SS): Increase window size (W) from 1 segment Additive Increase Multiplicative Decrease (AIMD) AI: Conservative increase by 1 segment/RTT MD: Drastic cutback of window by half with loss AIMD ensures fair throughput share across network flows 18th December 2007 t 4 TCP’s AIMD revisited (Adapted from Nick Mckeown’s slide) Rule for adjusting W Only W packets may be outstanding AI : If an ACK is received: W ← W+1/W MD: If a packet is lost: W ← W/2 Bottleneck Source Dest Window size Wmax Loss MD Early cutback AI Wmax 2 SS 18th December 2007 Multiple cutbacks Timeout t 5 TCP’s inadequacies in LFNs W ~ 105 KB or more in LFNs Two problems Sensitivity to transient congestion and random losses Ramping up back to high W will take a long time (AI) Detrimental to TCP’s throughput Example: 10 Gbps link, 100ms; Loss rate of 10-5 yields only 10Mbps throughput! Another problem: Slow start: Short flows take longer time to complete 18th December 2007 6 Alternate Transport Solutions Taxonomy based on Congestion signal to end host Congestion Control in LFNs Explicit • Explicit notification from routers • XCP General Idea: Window growth curve `better’ than AIMD 18th December 2007 End-to-end (like TCP) Loss • Loss: signal for congestion • CUBIC, HS-TCP, STCP Implicit Delay • RTT increase: signal for congestion (Queue builds up) • Fast 7 Problems with existing solutions These protocols strive to achieve both: Aggressiveness: Ramping up quickly to fill pipe Fairness: Friendly to TCP and other flows of same protocol Issues Unstable under frequent transient congestion events Achieving both goals at the same time is difficult Slow start problems still exist in many of the protocols Example: XCP: Needs new router hardware FastTCP, HS-TCP: Stability is scenario-dependent 18th December 2007 8 A new transport protocol Need: “good” aggressiveness without loss in fairness “good”: Near-100% bottleneck utilization Strike this balance without requiring any new network support 18th December 2007 9 Our approach: Priority Layered Transport (PLT) Subflow 1: Legacy TCP Dst1 Src1 Bottleneck Subflow 2 Separate aggressiveness and fairness: Split flow into 2 subflows Send TCP (SS/AIMD) packets over subflow 1 (Fair) Blast packets to fill pipe, over subflow 2 (Aggressive) Requirement: Aggressive stream ‘shouldn’t affect’ TCP streams in network 18th December 2007 10 Prioritized Transfer Sub flow 2 fills the troughs Window size W+B (W+Buffer) W (Pipe capacity) t Sub-flow 1 strictly prioritized over sub-flow 2 Meaning: Sub-flow 2 fills pipe whenever 1 cannot and does that quickly Routers can support strict priority queuing: DiffServ Deployment issues discussed later 18th December 2007 11 Evident Benefits from PLT Fairness Inter protocol fairness: TCP friendly Intra protocol fairness: As fair as TCP Aggression Overcomes TCP’s limitations with slow start Requires no new network support Congestion control independence at subflow 1 Sub flow 2 supplements performance of sub flow 1 18th December 2007 12 PLT Design Scheduler assigns packets to sub-flows High priority Congestion Module (HCM): TCP Low priority Congestion Module (LCM) Module handling subflow 1 Module handling subflow 2 LCM is lossy Packets could get lost or starved when HCM saturates pipe LCM Sender knows packets lost and received from receiver 18th December 2007 13 The LCM Is naïve no-holds-barred sending enough? No! Can lead to congestion collapse Wastage of Bandwidth in non-bottleneck links Outstanding windows could get large and simply cripple flow Congestion control is necessary… 18th December 2007 14 Congestion control at LCM Simple, Loss-based, aggressive Loss-rate based: Multiplicative increase Multiplicative Decrease (MIMD) Sender keeps ramping up if it incurs tolerable loss rates More robust to transient congestion LCM sender monitors loss rate p periodically Max. tolerable loss rate μ p<μ => cwnd = *cwnd (MI, >1) p >= μ => cwnd = *cwnd (MD, <1) Timeout also results in MD 18th December 2007 15 Choice of μ Too High: Wastage of bandwidth Too Low : LCM is less aggressive, less robust Decide from expected loss rate over Internet Preferably kernel tuned in the implementation Predefined in simulations 18th December 2007 16 Sender Throughput in HCM and LCM LCM fills pipe in the desired manner LCM cwnd = 0 when HCM saturates pipe 18th December 2007 17 Simulation study Simulation study of PLT against TCP, FAST and XCP 250 Mbps bottleneck Window size: 2500 Drop Tail policy 18th December 2007 18 FAST TCP Delay-based congestion control for LFNs: Popular Ramp up much faster than AI If queuing delay builds up, increase factor reduces Uses parameter to decide reduction of increase factor Congestion signal: Increase in delay Ideal value depends on number of flows in network TCP-friendliness scenario-dependent Though equilibrium exists, difficult to prove convergence 18th December 2007 19 XCP: Baseline Requires explicit feedback from routers Routers equipped to provide cwnd increment Converges quite fast TCP-friendliness requires extra router support 18th December 2007 20 Single bottleneck topology 18th December 2007 21 Effect of Random loss PLT: Near-100% goodput if loss rate< μ TCP, Fast and XCP underperform at high loss rates 0 18th December 2007 22 Short PLT flows Frequency distribution of flow completion times Flows pareto distributed (Max size = 5MB) Most PLT flows finish within 1 or 2 RTTs 18th December 2007 23 Effect of flow dynamics 3 flows in the network Flows 1 and 2 leave, the other flow ramps up quickly Congestion in LCM due to another flow’s arrival 18th December 2007 24 Effect of cross traffic 18th December 2007 25 Effect of Cross traffic 18th December 2007 Aggregate goodput of flows FAST yields poor goodputs even with low UDP bursts PLT yields 90% utilization even with 50 Mbps bursts 26 Conclusion PLT: layered approach to transport Prioritize fairness over aggressiveness Supplements aggression to a legacy congestion control Simulation results are promising PLT robust to random losses and transient congestion We have also tested PLT-Fast and results are promising! 18th December 2007 27 Issues and Challenges ahead Deployability Challenges PEPs in VPNs Applications over PLT PLT-shutdown Other issues Fairness issues Receiver Window dependencies 18th December 2007 28 Future Work: Deployment (Figure adapted from Nick Mckeown’s slides) PEP PLT connection PEP How could PLT be deployed? In VPNs, wireless networks Performance Enhancing Proxy boxes sitting at the edge Different applications? 18th December 2007 LCM traffic could be a little jittery Performance of streaming protocols/ IPTV 29 Deployment: PLT-SHUTDOWN In the wide area, PLT should be disabled if no priority queuing Unfriendly to fellow TCP flows otherwise! We need methods to detect priority queuing at bottleneck in an end-to-end manner To be implemented and tested on the real internet 18th December 2007 30 Receive Window dependency PLT needs larger outstanding windows LCM is lossy: Aggression & Starvation Waiting time for retransmitting lost LCM packets Receive window could be bottleneck LCM should cut back if HCM is restricted Should be explored more 18th December 2007 31 Fairness considerations Inter-protocol fairness: TCP friendliness Intra-protocol fairness: HCM fairness Is LCM fairness necessary? LCM is more dominant in loss-prone networks Can provide relaxed fairness Effect of queuing disciplines 18th December 2007 32 EXTRA SLIDES 18th December 2007 33 Analyses of TCP in LFNs Some known analytical results At loss p, (p. (BW. RTT)2)>1 => small throughputs Throughput 1/RTT Throughput 1/√p (Padhye et. al. and Lakshman et. al.) Several solutions proposed for modified transport 18th December 2007 34 Fairness Average goodputs of PLT and TCP flows in small buffers Confirms that PLT is TCP-friendly 18th December 2007 35 PLT Architecture Sender Receiver App App Input buffer Socket interface PLT Sender PLT Receiver HCM Packet LCM Rexmt Buffer HCM HCM-R HCM ACK LCM Packet LCM Dropped Packets 18th December 2007 LCM-R Strong ACK 36 Other work: Chunkyspread Bandwidth-sensitive peer-to-peer multicast for livestreaming Scalable solution: Robustness to churn, latency and bandwidth Heterogeneity-aware Random graph Multiple trees provided: robustness to churn Balances load across peers IPTPS’ 06, ICNP’ 06 18th December 2007 37