Ingemar Johansson Zaheduzzaman Sarker … Johansson . Zaheduzzaman Sarker . Ericsson Research . ......

14
draft-johansson-rmcat-scream-cc-05 Ingemar Johansson Zaheduzzaman Sarker Ericsson Research

Transcript of Ingemar Johansson Zaheduzzaman Sarker … Johansson . Zaheduzzaman Sarker . Ericsson Research . ......

draft-johansson-rmcat-scream-cc-05

Ingemar Johansson Zaheduzzaman Sarker Ericsson Research

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 2 (13)

Overview on updates since IETF 91 meeting

SCReAM opensource code

Recap of development on SCReAM

Call for adoption

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 3 (13)

Changes to reflect the comments and discussions from IETF91

Removed framework

Details on SCReAM sender and

SCReAM receiver

Simplified equations to

improve readability

Added additional features • Frame skipping

moved to additional features

Updated open issues list • Use of ‘Q’ described

– description of rate distribution among multiple RTP streams

• Use of ECN fields in the feedback message described.

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 4 (13)

› RTCP feedback message – ACK vector replaced by loss counter( n_loss) – Removed ECN echo (ECE), added n_ECN – Removed PT_RTP

Feedback message -05 Feedback message -04

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 5 (13)

• Frame blanking and owd estimation during frame blank removed

• owd_target allowed to increase if variance and skew of normalized owd remains below thresholds

Competing flows compensation

• Fairness is achieved implicitly in algorithm, by resumed fast start.

• Still good results in e.g. competing RTMCAT flows and RTT fairness test cases

Fairness enforcement

• Fast start can resume if no congestion is detected i.e. owd_trend is low.

• Gives better fairness and increased robustness against competing TCP flows

Resume fast start

• Both RateTx and RateACK is used • Removed coupling to frame skipping • Rate change based on RTP queue delay removed

Video rate control

For ease of understanding look at the C++ code (ScreamTx.cpp and ScreamRx.cpp) along with the draft

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 6 (13)

0 20 40 60 80 100 1200

1000

Video throughput [kbps]

0 20 40 60 80 100 1200

0.5Video frame delay [s]

T[s]

OWD = 10msOWD = 25msOWD = 50msOWD = 100msOWD = 150ms

0 20 40 60 80 100 1200

1000

Video throughput [kbps]

0 20 40 60 80 100 1200

0.5Video frame delay [s]

T[s]

OWD = 10msOWD = 25msOWD = 50msOWD = 100msOWD = 150ms

SCReAM -03 SCReAM -05

More waves of jitter but more fairness in throughput

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 7 (13)

Competing TCP traffic (Drop tail 300ms)

SCReAM-03 SCReAM-05

20 40 60 80 100 1200

10002000

Video throughput [kbps]

20 40 60 80 100 1200

0.5

1Video frame delay [s]

20 40 60 80 100 1200123

AQM packet loss rate [%]

T[s]

20 40 60 80 100 1200

10002000

Video throughput [kbps]

20 40 60 80 100 1200

0.51

Video frame delay [s]

20 40 60 80 100 1200123

AQM packet loss rate [%]

T[s]

Higher throughput and lower delay at the cost of slightly higher packet loss

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 8 (13)

RTCP feedback every RTP packet is not necessary !

• CWND gives a send headroom with rate limited sources

• Packet pacing

Very rough recommended RTCP intervals

• 100kbps ~200ms • 1.5Mbps ~50ms • 10Mbps ~20ms

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

1.5

2x 10

5 CWND [byte]

0 10 20 30 40 50 60 70 80 90 1000

1

2

3

4

5

x 106 Target bitrate [bps]

T [s]

CWNDCWND infl. pointBytes in flightIn fast start

Target bitrateTarget bitrate infl. point

0 20 40 60 80 1000

1

2

3

4

5

T [s]

Target bitrate [bps]

20ms50ms100ms200ms

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 9 (13)

› RTCP interval 20ms › Low sensitivity to lost

RTCP feedback as long as RTCP interval is reasonably short

0 20 40 60 80 100

0

1

2

3

4

5

T [s]

Target bitrate [bps]

0%2%5%10%

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 10 (13)

Ericsson Research Open sourced the SCReAM code • Clone it from https://github.com/EricssonResearch/scream • Grab the how to from

https://github.com/EricssonResearch/scream/blob/master/SCReAM-description.pdf

• Get involved and make it even better… • An integration with OpenWebRTC is on going

Things to be noted • The code is experimental • Contains code to do quick experiments • Does not contain RTP or RTCP functionalities or full RTP packet

queue implementation • Simple networking functionalities (delay, jitter, rate limit)

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 11 (13)

Main SCReAM algorithm:

ScreamTx : SCReAM sender algorithm

Implements SCReAM congestion control algorithm on sender side

Contains parameters which can be tuned for experimental purpose

ScreamRx : SCReAM receiver algorithm

Implements SCReAM receiver side functionality and generates RTCP feedback elements

Support classes for experiment:

RtpQueue : Rudimentary RTP queue

Need to be replaced if the ScreamTx in ported to other platforms

VideoEnc : Simple model of Video encoder

NetQueue : Simple delay and bandwidth limitation

Only to be used for simulation purpose

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 12 (13)

Is a robust and efficient rate adaptation algorithm

Built upon well known technologies and principles

Is tested for basic test cases

Is the only one tested for radio environment

Has running code (open sourced)

Draft has matured over time

OpenWebRTC integration ongoing

Well Known technology (TCP) at the bottom

20 40 60 80 1000

100020003000

Throughput [kbps]

Flow 1

20 40 60 80 1000

0.5

1Video frame delay [s]

T[s]

2 4 6 8 10 12 14 160

0.2

0.4

Video frame (98-95%) tail latency [s]

2 4 6 8 10 12 14 160

0.2

0.4

Video frame average latency [s]

Users/cell

300kbpsSCReAM idealSCReAM non-ideal

0500

10001500

Average bitrate [kbps]

300kbpsSCReAM idealSCReAM non-ideal

0 0.5 10

0.2

0.4

0.6

0.8

1SCReAM ideal

[s]

0 0.5 10

0.2

0.4

0.6

0.8

1SCReAM non-ideal

[s]

2 usr/cell4 usr/cell6 usr/cell8 usr/cell12 usr/cell

SC

ReA

M

SCReAM Updates | RMCAT WG IETF92 | Zaheduzzaman Sarker, Ericsson Research | 2015-03-16 | Page 13 (13)

Adopt as WG item??