Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evaluating Google's Congestion Control for WebRTC

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Varun Singh Varun Singh
November 06, 2013

Evaluating Google's Congestion Control for WebRTC

Varun Singh*, Albert Lozano, Joerg Ott.
Vancouver, IETF88
RMCAT WG.

Avatar for Varun Singh

Varun Singh

November 06, 2013
Tweet

More Decks by Varun Singh

Other Decks in Research

Transcript

  1. Receiver-side Real-Time Congestion Control (RRTCC) Google Congestion Control Algorithm IETF

    88, Vancouver 06th November Varun Singh, Albert Lozano, Jörg Ott
  2. Outline •  Related Drafts: –  draft-alvestrand-rmcat-congestion –  draft-alvestrand-rmcat-remb-02 •  Single

    Flow –  Different losses, latency, queue length •  3 RMCAT flows –  Start together –  Start at 30s apart •  RMCAT vs long TCP flows 2
  3. Evaluation Setup Chrome Browser v27.01453.12 Foreman CIF, 30FPS 5-10 minutes

    fakevideosource! Chrome Browser v27.01453.12 Network Video, FEC, RETX à ß RTCP Feedback (every 1s) http://media.xiph.org/video/derf/ 3 StatsAPI (every 1s) tcpdump! https://github.com/vr000m/ConMon
  4. Single flow •  Fixed capacity with different 1.  path latencies

    2.  path losses 3.  router queue size 4
  5. Different Latencies 0 500 1000 1500 2000 2500 3000 3500

    4000 0 50 100 150 200 250 300 Observed rate [kbps] Time [s] 50ms 100ms 200ms 500ms 5
  6. Different Loss 0 500 1000 1500 2000 2500 3000 3500

    0 50 100 150 200 250 300 Observed rate [kbps] Time [s] 1% 5% 10% 20% 6
  7. 3 RMCAT streams 8 0 200 400 600 800 1000

    1200 1400 1600 1800 2000 2200 0 50 100 150 200 250 300 Observed rate [kbps] Time [s] Call 1 Call 2 Call 3 0 500 1000 1500 2000 2500 0 50 100 150 200 250 300 Observed rate [kbps] Time [s] Call 1 Call 2 Call 3
  8. 3 RMCAT flows (time-shifted arrival) 0 500 1000 1500 2000

    2500 3000 0 50 100 150 200 250 300 Observed rate [kbps] Time [s] Call 1 Call 2 Call 3 9 In all the cases, the first call reduced its rate In 20% of the cases it recovered after ~50s.
  9. TCP and RMCAT 10 0 200 400 600 800 1000

    1200 1400 1600 1800 0 50 100 150 200 250 300 Observed rate [kbps] Time [s] Stream A->B Stream B->A 0 0.2 0.4 0.6 0.8 1 0 50 100 150 200 250 300 Delay Variation [s] time [s] Stream A->B Stream B->A
  10. Observations •  Up to 20% the average send rate can

    be FEC •  Retransmissions (retx) – Used extensively in low latency scenarios. •  Observed starvation when competing with TCP traffic •  In self-fairness, first flow starves sometimes. 11
  11. Additional Reading •  Performance Analysis of Receive-Side Real-Time Congestion Control

    for WebRTC, Singh et al. http://www.netlab.tkk.fi/~varun/singh2013rrtcc.pdf •  Experimental Investigation of the Google Congestion Control for Real-Time Flows, Cicco et al. http://conferences.sigcomm.org/sigcomm/2013/papers/fhmn/p21.pdf •  Performance analysis of topologies for Web- based Real-Time Communication (WebRTC), A. Lozano https://aaltodoc.aalto.fi/bitstream/handle/123456789/11093/master_Abell%C3%B3_Lozano_Albert_2013.pdf?sequence=1 •  Understanding the Dynamic Behaviour of the Google Congestion Control, Cicco et al. 12 Initial NS-2 Results: http://www.netlab.tkk.fi/~varun/rrtcc-tcp-competition-00.pdf