draft -welzl-rmcat-coupled-cc- 01 coupled congestion control for rtp media
DESCRIPTION
draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media. Michael Welzl , Safiqul Islam, Stein Gjessing Networks and Distributed Systems Group Department of Informatics University of Oslo. A note about evaluations. As a starting point, considering - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/1.jpg)
1
draft-welzl-rmcat-coupled-cc-01Coupled Congestion Control for RTP Media
Michael Welzl, Safiqul Islam, Stein Gjessing
Networks and Distributed Systems GroupDepartment of Informatics
University of Oslo
![Page 2: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/2.jpg)
2
A note about evaluations
As a starting point, considering greedy and non-greedy flows
Evaluation with realistic RMCAT traffic planned as next step
![Page 3: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/3.jpg)
3
Why do we need coupled cc?
Each individual data stream (flow) has its own congestion control mechanism Hence, M flows, with their own congestion control
modules, trying to reach a certain fairness lead to: More queue growth More delay More packet drops Fairness problems in case of heterogeneous RTTs
![Page 4: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/4.jpg)
4
How to solve this
This can be solved by using a single Congestion Control(CC) instance for the flows To begin with, only for flows initiated from the same
sender sharing the same bottleneck
Congestion Manager, RFC 3124, had some unresolved issues, and was complicated to implement We suggest something more in the style of RFC 2140
(but rate based, and with more features)
![Page 5: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/5.jpg)
Flow State Exchange (FSE) A passive entity which stores information from the
flows, calculates rate and provides this calculated rate back
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
5
FSE
Flow 1
Flow 2
Flow n
SBDFlow
3Flow 4
![Page 6: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/6.jpg)
6
FSE Flow Numbers, #
Flow Group Identifier, FGI
Priority P
Calculated Rate, CR
Desired Rate, DR
FSE maintains S_CR (which is meant to be the sum of the calculated rates) and TLO (Total Leftover Rate) per FG.
# FGI P CR DR Rate
1 1 1 6 8 62 1 0.5 1 1 1
![Page 7: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/7.jpg)
7
FSE – how it works # FGI P CR DR Rat
e1 1 1 6 8 62 1 0.5 1 1 1
Flow 1 experienced congestion, causing S_CR to drop from 11 to 9.
Let assume that flow 2 has sent an update to the FSE.
For all the flows in its FG (including itself), it calculates the sum of all the calculated rates, new_S_CR. Then it calculates the difference between CR(f) and new_CR, DELTA.
for all flows i in FG do
new_S_CR = new_S_CR + CR(i)
end for
DELTA = new_CR - CR(f)
New_S_CR = 7DELTA = 2 - 1 = 1
S_CR = 9, and TLO = 0
New_CR = 2, new_DR = inf
![Page 8: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/8.jpg)
8
FSE – how it works # FGI P CR DR Rate
1 1 1 6 8 62 1 0.5 1 1 1
It updates S_CR, CR(f) and DR(f).
CR(f) = new_CR
if DELTA > 0 then
S_CR = S_CR + DELTA
else if DELTA < 0 then
S_CR = new_S_CR + DELTA
end if
DR(f) = min(new_DR,CR(f))
CR(f) = 2
22
S_CR = 9, and TLO = 0
DR(f) = 2
Delta positive, S_CR = 9 + 1 = 10
S_CR = 10, and TLO = 0
![Page 9: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/9.jpg)
9
FSE – how it works # FGI P CR DR Rate
1 1 1 6 8 62 1 0.5 2 2 1
It calculates the leftover rate TLO, removes the terminated flows from the FSE and calculates the sum of all the priorities, S_P.
for all flows i in FG do if P(i)<0 then
delete flow else S_P = S_P + P(i) end if end for
if DR(f) < CR(f) then TLO = TLO + (P(f)/S_P) * S_CR - DR(f)) end if
S_P = 1.5
S_CR = 10, and TLO = 0
![Page 10: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/10.jpg)
10
FSE – how it works # FGI P CR DR Rate
1 1 1 6 8 62 1 0.5 2 2 1
It calculates the sending rate. Rate = min(new_DR, (P(f)*S_CR)/S_P + TLO) if Rate != new_DR and TLO > 0 then TLO = 0 // f has 'taken' TLO end if
It updates DR(f) and CR(f) with Rate.
if Rate > DR(f) then DR(f) = Rate end if CR(f) = Rate
Rate = min (inf, 0.5/1.5 * 10 + 0) = 3.33
S_CR = 10, and TLO = 0
DR(f) = 3.33, CR(f) = 3.33
3.33 3.33 3.33
![Page 11: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/11.jpg)
11
Simulation Results
Good News !!
![Page 12: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/12.jpg)
12
Priority
![Page 13: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/13.jpg)
13
FairnessFairness Index- for 3 flows Fairness Index- for 2 flows
![Page 14: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/14.jpg)
14
Fairness
Fairness Index- for 4 flows Fairness Index- for 5 flows
![Page 15: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/15.jpg)
15
Benefits From The Non-Greedy Flows
![Page 16: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/16.jpg)
16
Simulation Results
Sad Part !!
![Page 17: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/17.jpg)
17
Average Queue Length – 2 Flows
![Page 18: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/18.jpg)
18
Packet Loss Ratio – 2 Flows
![Page 19: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/19.jpg)
19
Throughput for 2 flows
![Page 20: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/20.jpg)
20
Future plans
We want to keep the FSE as simple as possible Trying passive for now – see if the problems are due to
TFRC, or require other changes to the algorithm
Else, we go for (slightly) active When congestion is noticed by a flow, FSE immediately
informs all other flows in the same FSE
![Page 21: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/21.jpg)
21
Backup Slides
![Page 22: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/22.jpg)
22
Fairness Index – 2 flows
![Page 23: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/23.jpg)
23
Fairness Index – 3 Flows
![Page 24: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/24.jpg)
24
Fairness Index – 4 flows
![Page 25: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/25.jpg)
25
Fairness Index – 5 Flows
![Page 26: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/26.jpg)
26
Throughput – 2 Flows
![Page 27: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/27.jpg)
27
Throughput – 3 Flows
![Page 28: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/28.jpg)
28
Throughput – 4 Flows
![Page 29: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/29.jpg)
29
Throughput – 5 Flows
![Page 30: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/30.jpg)
30
Exceeding Bottleneck – 2 Flows
![Page 31: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/31.jpg)
31
Exceeding Bottleneck – 3 Flows
![Page 32: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/32.jpg)
32
Exceeding Bottleneck – 4 Flows
![Page 33: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/33.jpg)
33
Exceeding Bottleneck – 5 Flows
![Page 34: draft -welzl-rmcat-coupled-cc- 01 Coupled Congestion Control for RTP Media](https://reader035.vdocuments.mx/reader035/viewer/2022062310/568164a0550346895dd691ef/html5/thumbnails/34.jpg)
34
Benefits from the non-greedy flows