Slide 1

Slide 1 text

Receiver-side Real-Time Congestion Control (RRTCC) Google Congestion Control Algorithm IETF 88, Vancouver 06th November Varun Singh, Albert Lozano, Jörg Ott

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

Single flow •  Fixed capacity with different 1.  path latencies 2.  path losses 3.  router queue size 4

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Different Queue Size 7 Link Capacity = Link Capacity =

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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.

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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