RMCAT - Shared Bottleneck Detection and Coupled Congestion Control vs. QoS for WebRTC Michael Welzl CAIA, Swinburne University, Melbourne 4. December 2014.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

Coupled congestion control for RTP media draft-welzl-rmcat-coupled-cc-02 Michael Welzl, Safiqul Islam, Stein Gjessing 88th IETF Meeting Vancouver,
1 IETF 88 IETF88 Vancouver Congestion control for video and priority drops Background for draft-lai-tsvwg-normalizer-02.txt Toerless Eckert,
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
Cloud Control with Distributed Rate Limiting Raghaven et all Presented by: Brian Card CS Fall Kinicki 1.
PFabric: Minimal Near-Optimal Datacenter Transport Mohammad Alizadeh Shuang Yang, Milad Sharif, Sachin Katti, Nick McKeown, Balaji Prabhakar, Scott Shenker.
Playback-buffer Equalization For Streaming Media Using Stateless Transport Prioritization By Wai-tian Tan, Weidong Cui and John G. Apostolopoulos Presented.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Network Congestion Gabriel Nell UC Berkeley. Outline Background: what is congestion? Congestion control – End-to-end – Router-based Economic insights.
1 Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye & Jorg Widmer August 2000, ACM SIGCOMM Computer.
The Impact of False Sharing on Shared Congestion Management Aditya Akella and Srinivasan Seshan (Computer Science Department, Carnegie Mellon University)
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejai, Mark Handley, Deborah Estrin U of Southern.
1 Design study for multimedia transport protocol in heterogeneous networks Haitao Wu; Qian Zhang; Wenwu Zhu; Communications, ICC '03. IEEE International.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Data Communication and Networks
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Proxy-based TCP over mobile nets1 Proxy-based TCP-friendly streaming over mobile networks Frank Hartung Uwe Horn Markus Kampmann Presented by Rob Elkind.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
Ch. 28 Q and A IS 333 Spring Q1 Q: What is network latency? 1.Changes in delay and duration of the changes 2.time required to transfer data across.
1 1 July 28, Absent changes to the network can we actually do something? Yes Is there work in the area of measurements that can we do to create.
Jani Pousi Supervisor: Jukka Manner Espoo,
Curbing Delays in Datacenters: Need Time to Save Time? Mohammad Alizadeh Sachin Katti, Balaji Prabhakar Insieme Networks Stanford University 1.
MulTFRC: TFRC with weighted fairness draft-welzl-multfrc-00 Michael Welzl, Dragana Damjanovic 75th IETF Meeting Stockholm, Sweden 29 July 2009.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
Experiences in Design and Implementation of a High Performance Transport Protocol Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data.
Computer Networks: Multimedia Applications Ivan Marsic Rutgers University Chapter 3 – Multimedia & Real-time Applications.
Potential Applications of Shared Bottleneck Detection (SBD) Michael Welzl NNUW-1 Simula, Oslo
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
U Innsbruck Informatik - 1 CADPC/PTP in a nutshell Michael Welzl
DCCP, TFRC & Open Problems in Congestion Control for Media Applications Tom Phelan 13-Feb-2007 ICCRG.
Requirements for Simulation and Modeling Tools Sally Floyd NSF Workshop August 2005.
Draft-welzl-rmcat-coupled-cc-01 Coupled Congestion Control for RTP Media Michael Welzl, Safiqul Islam, Stein Gjessing Networks and Distributed Systems.
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
MulTFRC: TFRC with weighted fairness draft-welzl-multfrc-01 Michael Welzl, Dragana Damjanovic 76th IETF Meeting Hiroshima, Japan 10 November2009.
Murari Sridharan and Kun Tan (Collaborators: Jingmin Song, MSRA & Qian Zhang, HKUST.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Deadline-based Resource Management for Information- Centric Networks Somaya Arianfar, Pasi Sarolahti, Jörg Ott Aalto University, Department of Communications.
WB-RTO: A Window-Based Retransmission Timeout Ioannis Psaras Demokritos University of Thrace, Xanthi, Greece.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
We used ns-2 network simulator [5] to evaluate RED-DT and compare its performance to RED [1], FRED [2], LQD [3], and CHOKe [4]. All simulation scenarios.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
A Comparison of RaDiO and CoDiO over IEEE WLANs May 25 th Jeonghun Noh Deepesh Jain A Comparison of RaDiO and CoDiO over IEEE WLANs.
RMCAT architectural overview Michael Welzl 1 RMCAT, 85 th IETF Meeting
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
RMCAT Application Interaction draft-zanaty-rmcat-app-interaction-00 Mo Zanaty, Varun Singh, Suhas Nandakumar IETF 89.
Tightly Coupled Congestion Control in WebRTC Michael Welzl Upperside WebRTC conference Paris
Access Link Capacity Monitoring with TFRC Probe Ling-Jyh Chen, Tony Sun, Dan Xu, M. Y. Sanadidi, Mario Gerla Computer Science Department, University of.
1 Three ways to (ab)use Multipath Congestion Control Costin Raiciu University Politehnica of Bucharest.
U Innsbruck Informatik - 1 Specification of a Network Adaptation Layer for the Grid GGF7 presentation Michael Welzl University.
Chapter 6 TCP Congestion Control
RTP: A Transport Protocol for Real-Time Applications
Router-Assisted Congestion Control
TCP-in-UDP draft-welzl-irtf-iccrg-tcp-in-udp-00.txt
Chapter 3 outline 3.1 Transport-layer services
Coupled Congestion Control for RTP Media
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
Congestion Control, Quality of Service, & Internetworking
Chapter 3 outline 3.1 Transport-layer services
Presentation transcript:

RMCAT - Shared Bottleneck Detection and Coupled Congestion Control vs. QoS for WebRTC Michael Welzl CAIA, Swinburne University, Melbourne 4. December 2014

2 Contributors Main people behind this work: –Shared bottleneck detection: Algorithm development & evaluation: David Hayes Stuff available from: – –NorNet testing: Simone Ferlin (Simula Research Labs) –Coupled congestion control: Safiqul Islam Stuff available from: cc/index.htmlhttp://heim.ifi.uio.no/safiquli/coupled- cc/index.html –Other contributors: Stein Gjessing, Naeem Khademi

3 WebRTC in a nutshell Multimedia services in browsers, available everywhere, without plugins –P2P (browser-to-browser); major focus on traversing middleboxes (NATs etc)  all traffic will be one UDP 5-tuple –Includes SCTP data channel (e.g. control traffic in a game) –Also a lot of IETF effort to agree on audio/video codecs Control by web developer, via Javascript API, standardized in W3C Protocols standardized in IETF WGs: RTCWEB (main) + RMCAT (congestion control) + DART (QoS) –Note, RMCAT charter is about media, not only WebRTC

4 WebRTC possibilities: games, toys... and talking to tech support in the browser

5 Prioritization WebRTC needs priorities –e.g., draft-ietf-rtcweb-use-cases-and-requirements includes use case “Simple Video Communication Service, QoS” –Priorities to be exposed via JS API Just use QoS? –Not available everywhere; some people just want to set DSCP and “hope for the best” –Needs special rules: different DSCP values for one UDP-5-tuple?! draft-ietf-dart-dscp-rtp-10 –When common shared bottleneck is known, priorities between flows from a single sender realized by coupled congestion control (QoS can still protect you from other users)

6 Coupled congestion control: background Having multiple congestion controlled flows from the same sender compete on the same bottleneck is detrimental –Combine congestion controllers in the sender  better control fairness (with priorities) and get less delay and loss Two elements: 1) shared bottleneck detection (sbd), 2) coupled congestion control –In WebRTC, 1) can sometimes be very easy: same 6-tuple. But measurement-based sbd enables broader application of 2) (same sender, different receivers) –apparently, “same 6-tuple” turned this into “QoS vs. coupled-CC” in the IETF

7 Shared bottleneck detection: scenarios Only case 1 can be supported by 6-tuple Case 2 can be supported by measurement-based SBD Case 3 requires coordinating senders H1 and H2 –Can be supported by measurement-based SBD, but needs more (H1  H2 coordination); not currently considered H1 H3 H2 Case 2 Case 3 Case 1 Sender Sender + Receiver Receiver

8 SBD for RMCAT [ David Hayes, Simone Ferlin-Oliveira, Michael Welzl: "Practical Passive Shared Bottleneck Detection Using Shape Summary Statistics", IEEE LCN 2014, 8-11 September ] [ draft-hayes-rmcat-sbd-01.txt ] Requirements: –Little signalling (also true for RMCAT CC algos) –Passive: require no changes to traffic –Reliable for long-term data/multimedia streams (e.g. video) False positive worse than false negative –Realistic to implement as a real-time function in a browser (no expensive offline computation)

9 SBD overview Goal: determine correlation from common queue Receiver calculates summary statistics from OWD –To deal with noise, lag and limit feedback Variance: Packet Delay Variation [RFC 5481] Skewness: skew_est Oscillation: freq_est (avg. # of significant mean crossings) Sender: group flows experiencing congestion (skew_est); divide based on freq_est; PDV; skew_est

10 Why skewness? Change from positive to negative near 100% load makes it a good congestion indicator Not good to use alone: ambiguity and susceptible to extreme sample values M/M/1/K Queue

11 Practical estimation of skewness Count proportion of samples above and below the mean Removes ambiguity

12 Simulation setup Background traffic based on real traffic traces –>90% Flows 1&2 send at twice the rate of 3&4 Various combinations of bottlenecks activated

13

14 Real network tests with NorNet

15 Coupled congestion control When possible, best done by scheduling packet transmission from different sources with a single congestion controller –Congestion Manager (CM) Disadvantages of this approach: –Hard to combining multiple applications (RMCAT is about RTP-based applications in general, not only WebRTC) –Difficult to switch on/off Hence, goal of [draft-welzl-rmcat-coupled-cc-04]: achieve benefits with minimal changes to existing congestion controllers [ Safiqul Islam, Michael Welzl, Stein Gjessing, Naeem Khademi: "Coupled Congestion Control for RTP Media", ACM SIGCOMM Capacity Sharing Workshop (CSWS 2014), 18 August 2014, Chicago, USA. ] Best paper award  to be published in ACM SIGCOMM CCR too.

16 “Flow State Exchange” (FSE) The result of searching for minimum-necessary- standardization: only define what goes in / out, how data are maintained –Could reside in a single app (e.g. browser) and/or in the OS CM Stream 1 Stream 2 CM Stream 1 Stream 2 FSE Stream 1 Stream 2 FSE Traditional CMFSE-based CM Another possible implementation of flow coordination

17 First version: only passive Goal: Minimal change to existing CC –each time it updates its sending rate (New_CR), the flow calls update (New_CR, New_DR), and gets the new rate –Complicates the FSE algorithm and resulting dynamics (e.g. need dampening to avoid overshoot from slowly-reacting flows) FSE Flow 1 Flow 2 Update_rate() Flow n New_Rate Update_rate() Store Information Calculate Rates

18 Now: FSE - Active Actively initiates communication will all the flows –Perhaps harder to use, but simpler algorithm and “nicer” resulting dynamics FSE Flow 1 Flow 2 Update_rate() Flow n New_Rate Store Information Calculate Rates

19 Now: FSE - Active Actively initiates communication will all the flows –Perhaps harder to use, but simpler algorithm and “nicer” resulting dynamics FSE Flow 1 Flow 2 Update_rate() Flow n New_Rate Store Information Calculate Rates

20 Active algorithm: 1 st version Every time the congestion controller of a flow determines a new sending rate CC_R, the flow calls UPDATE –Updates the sum of all rates, calculates the sending rates for all the flows and distributes them to all registered flows for all flows i in FG do FSE_R(i) = (P(i)*S_CR)/S_P send FSE_R(i) to the flow I end for Designed to be as simple as possible

21 Evaluation Done: simulations, rate-based –AIMD: RAP –Multimedia-oriented: TFRC Ongoing: simulations, window-based: –Delay-based: LEDBAT –TCP (SCTP-like, for data channel) Planned: currently proposed RMCAT CC’s –Simulations –Real-life tests (put code in browser)

22 Simulation setup Bottleneck – 10 Mbps; Queue-length – 62 Packets (1/2 BDP); Packet Size – 1000 Bytes; RTT – 100 ms All tests (except when x-axis = time) ran for 300 seconds, carried out 10 times with random start times picked from first second; stddev consistently very small ( <= 0.2% ) F1F1 F1F1 F2F2 F2F2 FnFn FnFn R1 R2 F1F1 F1F1 F2F2 F2F2 FnFn FnFn

23 Dynamic behavior: Rate Adaptation Protocol RAP ( = rate-based AIMD) With FSEWithout FSE

24 Dynamic behavior: TFRC With FSEWithout FSE

25 FSE goals Charter: “Develop a mechanism for identifying shared bottlenecks between groups of flows, and means to flexibly allocate their rates within the aggregate hitting the shared bottleneck.” (requirement F34 in draft-ietf-rtcweb-use-cases-and-requirements-12) –This works perfectly But: because this avoids competition between flows, we expected reduced queuing delay and loss as a side effect Priority of flow 1 increased over time

26 Average queue length (RAP)

27 Packet loss ratio (RAP)

28 What’s going on? Queue drains more often without FSE –E.g.: 2 flows with rate X each; flow 1 halves its rate: 2X  1 ½X –When flows synchronize, both halve their rate on congestion, which really halves the aggregate rate: 2X  1X With FSEWithout FSE

29 Fix: Conservative Active FSE algorithm No congestion (increase): do as before Congestion (decrease): proportionally reduce total rate (like one flow) –e.g. flow 1 goes from 1 to ½ => total goes from X to X/2 Need to prevent that flows ignore congestion or overreact –timer prevents rate changes immediately after the common rate reduction that follows a congestion event –Timer is set to 2 RTTs of the flow that experienced congestion –Reasoning: assume that a congestion event can persist for up to one RTT of that flow, with another RTT added to compensate for fluctuations in the measured RTT value

30 RAPTFRC Average Queue Packet Loss Ratio Receiver makes assumptions about sending rate (expected length of loss interval)  loss event ratio p calculation wrong  sender too aggressive Link Utilization

31 Multiple LEDBAT flows

32 How to evaluate app-limited flows? Not easy: who is in control? RMCAT codec model not available yet From a transport point of view, the send buffer can either run empty or not, with variations in how quickly changes between these two states occur –We used a non-reacting video trace of a person talking in a video conference with a well-known H264 encoder (X264) to steer the app sending rate I-frame in the beginning, rest was mostly P-frames

33 1 app-limited flow, 1 greedy flow (RAP) FSE Without FSE FSE-controlled flows proportionally reduce the rate in case of congestion; without FSE, synchronization causes app-limited flow to over-react

34 Using priorities to “protect” the app- limited from the greedy flow (RAP) High-priority (1) application limited flow #1 is hardly affected by a low- priority (0.2) flow #2 as long as there is enough capacity for flow 1

35 2 FSE controlled flows competing with synthetic traffic (TFRC) TMIX synthetic traffic, taken from 60 minute trace of campus traffic at the University of Carolina [TCP Evaluation suite] We used the pre- processed version of this traffic, adapted to provide an approximate load of 50% Throughput ratios very close to theoretical values  FSE operation largely unaffected

36 Thank you! Questions?