Ingemar Johansson Zaheduzzaman Sarker … Johansson . Zaheduzzaman Sarker . Ericsson Research . ......
-
Upload
hoangkhuong -
Category
Documents
-
view
238 -
download
3
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??