[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
Fast Near-Optimal Delivery of Live Streams in CDN
-
Upload
gwendal-simon -
Category
Technology
-
view
721 -
download
0
description
Transcript of Fast Near-Optimal Delivery of Live Streams in CDN
Fast Near-Optimal Algorithmfor Delivering Multiple LiveVideo Channels in CDNsJiayi Liu and Gwendal SimonTelecom Bretagne28/05/2013
Context : live stream delivery in CDN
Content Provider
encodersingestserver
CDN provider
originserver
edgeservers
Clients
Content provider : content generationCDN provider : content deliveryClients : content consumption
2 / 25 Jiayi Liu DASH live streaming algorithm
Context : live stream delivery in CDN
3-tier CDN topology (Akamai CDN delivery network)
sources
reflectors
edge servers
Phase 1 : Sources transcode streamsPhase 2 : Reflectors deliver streamsPhase 3 : Edge servers offer streams to end users
3 / 25 Jiayi Liu DASH live streaming algorithm
Context : live stream delivery in CDN
3-tier CDN topology (Akamai CDN delivery network)
sources
reflectors
edge servers
Phase 1 : Sources transcode streamsPhase 2 : Reflectors deliver streamsPhase 3 : Edge servers offer streams to end users
3 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Diverse user devices
video service
ADSL/FTTH 3G
WiFi
4 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Rate adaptive streaming (DASH standard)
video
representation 1
representation 2
...
representation n
bitrate
150 kbps
240 kbps
...
4540 kbps
bitrate
150 kbps
240 kbps
...
4540 kbps
quality
low
high
5 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Rate adaptive streaming (DASH standard)
video
representation 1
representation 2
...
representation n
bitrate
150 kbps
240 kbps
...
4540 kbps
bitrate
150 kbps
240 kbps
...
4540 kbps
quality
low
high
5 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Rate adaptive streaming (DASH standard)
video
representation 1
representation 2
...
representation n
bitrate
150 kbps
240 kbps
...
4540 kbps
bitrate
150 kbps
240 kbps
...
4540 kbps
quality
low
high
5 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Rate adaptive streaming (DASH standard)
video service
ADSL/FTTH 3G
WiFi
Req_repHD Req_rep low
Req_repmedium
6 / 25 Jiayi Liu DASH live streaming algorithm
Current trend
Rate adaptive streaming (DASH standard)
video service
ADSL/FTTH 3G
WiFi
Req_repHD Req_rep low
Req_repmedium
6 / 25 Jiayi Liu DASH live streaming algorithm
ChallengesDASH high aggregated video bit-rate
Netflix has 14 representations with 15 Mbps/video
Heavy transmission burden on CDNCDN can be underprovisioned
→ Challenges :live DASH streaming in under-provisioned CDN
7 / 25 Jiayi Liu DASH live streaming algorithm
ChallengesDASH high aggregated video bit-rate
Netflix has 14 representations with 15 Mbps/video
Heavy transmission burden on CDNCDN can be underprovisioned
→ Challenges :live DASH streaming in under-provisioned CDN
7 / 25 Jiayi Liu DASH live streaming algorithm
ChallengesDASH high aggregated video bit-rate
Netflix has 14 representations with 15 Mbps/video
Heavy transmission burden on CDNCDN can be underprovisioned
→ Challenges :live DASH streaming in under-provisioned CDN
7 / 25 Jiayi Liu DASH live streaming algorithm
ChallengesDASH high aggregated video bit-rate
Netflix has 14 representations with 15 Mbps/video
Heavy transmission burden on CDNCDN can be underprovisioned
→ Challenges :live DASH streaming in under-provisioned CDN
7 / 25 Jiayi Liu DASH live streaming algorithm
Outline
1. Discretized streaming capacity problem
2. A practical scenario and an algorithm
3. Evaluation
4. Conclusion
8 / 25 Jiayi Liu DASH live streaming algorithm
Avancement
1 Discretized streaming capacity problem
2 A practical scenario and an algorithm
3 Evaluation
4 Conclusion
9 / 25 Jiayi Liu DASH live streaming algorithm
Discretized streaming capacity problem
Goal : maximize the throughput of CDN
previous work : streaming capacity problemmaximizing deliverable bit-rate in P2P networkelastic video bit-rate based
our work : discretized streaming capacity problemDASH : stream bit-rate predefinedthroughput : the number delivered streamsstream utility : gain of edge server for streammaximizing the utility of delivered streams
10 / 25 Jiayi Liu DASH live streaming algorithm
Discretized streaming capacity problem
Goal : maximize the throughput of CDNprevious work : streaming capacity problem
maximizing deliverable bit-rate in P2P networkelastic video bit-rate based
our work : discretized streaming capacity problemDASH : stream bit-rate predefinedthroughput : the number delivered streamsstream utility : gain of edge server for streammaximizing the utility of delivered streams
10 / 25 Jiayi Liu DASH live streaming algorithm
Discretized streaming capacity problem
Goal : maximize the throughput of CDNprevious work : streaming capacity problem
maximizing deliverable bit-rate in P2P networkelastic video bit-rate based
our work : discretized streaming capacity problemDASH : stream bit-rate predefinedthroughput : the number delivered streamsstream utility : gain of edge server for streammaximizing the utility of delivered streams
10 / 25 Jiayi Liu DASH live streaming algorithm
Discretized streaming capacity problem
Goal : maximize the throughput of CDNprevious work : streaming capacity problem
maximizing deliverable bit-rate in P2P networkelastic video bit-rate based
our work : discretized streaming capacity problem
DASH : stream bit-rate predefinedthroughput : the number delivered streamsstream utility : gain of edge server for streammaximizing the utility of delivered streams
10 / 25 Jiayi Liu DASH live streaming algorithm
Discretized streaming capacity problem
Goal : maximize the throughput of CDNprevious work : streaming capacity problem
maximizing deliverable bit-rate in P2P networkelastic video bit-rate based
our work : discretized streaming capacity problemDASH : stream bit-rate predefinedthroughput : the number delivered streamsstream utility : gain of edge server for streammaximizing the utility of delivered streams
10 / 25 Jiayi Liu DASH live streaming algorithm
Problem formulationObjective : max ∑i ,j ,e α
i ,je · x i ,j
edi ,j : i-th representation of the j-th channelx i ,j
e : indicates if edge server e receives di ,jαi ,j
e : utility of edge server e on di ,j
Problem definitionDelivery trees : TijProblem : Given the topology and capacityconstraints of a CDN, find delivery tree sets, {Tij},such that ∑i ,j,e α
i ,je · x i ,j
e is maximized.
11 / 25 Jiayi Liu DASH live streaming algorithm
Problem formulationObjective : max ∑i ,j ,e α
i ,je · x i ,j
edi ,j : i-th representation of the j-th channelx i ,j
e : indicates if edge server e receives di ,jαi ,j
e : utility of edge server e on di ,j
Problem definitionDelivery trees : TijProblem : Given the topology and capacityconstraints of a CDN, find delivery tree sets, {Tij},such that ∑i ,j,e α
i ,je · x i ,j
e is maximized.
ILP formulation and NP-complete complexity 1
1. Jiayi Liu and Gwendal Simon, Fast Near-Optimal Algorithm for Delive-ring Multiple Live Video Channels in CDNs, ICCCN, 2013.
11 / 25 Jiayi Liu DASH live streaming algorithm
Avancement
1 Discretized streaming capacity problem
2 A practical scenario and an algorithm
3 Evaluation
4 Conclusion
12 / 25 Jiayi Liu DASH live streaming algorithm
A practical scenario
CDN full connectivity
Homogeneous CDN equipments capacity C
13 / 25 Jiayi Liu DASH live streaming algorithm
A practical scenario
CDN full connectivity
Homogeneous CDN equipments capacity C
13 / 25 Jiayi Liu DASH live streaming algorithm
A practical scenario
CDN full connectivity
Homogeneous CDN equipments capacity C
13 / 25 Jiayi Liu DASH live streaming algorithm
Bottom-up tree construction
One tree per stream ; one tree per reflector
borderreflectors
edge servers
intermediatereflectors
source
To deliver di (with bit rate λi) to gi edge servers :Number of streams a node can forward : δi = bC/λicNumber of border reflectors : mi = dgi/δieNumber of intermediate reflectors : dmi −1
δi −1 e
14 / 25 Jiayi Liu DASH live streaming algorithm
Bottom-up tree construction
One tree per stream ; one tree per reflector
borderreflectors
edge servers
intermediatereflectors
source
To deliver di (with bit rate λi) to gi edge servers :Number of streams a node can forward : δi = bC/λicNumber of border reflectors : mi = dgi/δieNumber of intermediate reflectors : dmi −1
δi −1 e
14 / 25 Jiayi Liu DASH live streaming algorithm
Greedy Algorithm
utility score per rate unit (uspru) : αieλi
Iterate on uspru in decreasing order
In each iteration :A uspru with a certain edge server and streamEstimate the number of reflectors neededIf the CDN can afford, continue ; else end.
Results : A set of edge servers, and number ofreflectors used in each tree
15 / 25 Jiayi Liu DASH live streaming algorithm
Greedy Algorithm
utility score per rate unit (uspru) : αieλi
Iterate on uspru in decreasing order
In each iteration :A uspru with a certain edge server and streamEstimate the number of reflectors neededIf the CDN can afford, continue ; else end.
Results : A set of edge servers, and number ofreflectors used in each tree
15 / 25 Jiayi Liu DASH live streaming algorithm
Greedy Algorithm
utility score per rate unit (uspru) : αieλi
Iterate on uspru in decreasing order
In each iteration :A uspru with a certain edge server and streamEstimate the number of reflectors neededIf the CDN can afford, continue ; else end.
Results : A set of edge servers, and number ofreflectors used in each tree
15 / 25 Jiayi Liu DASH live streaming algorithm
Greedy Algorithm
utility score per rate unit (uspru) : αieλi
Iterate on uspru in decreasing order
In each iteration :A uspru with a certain edge server and streamEstimate the number of reflectors neededIf the CDN can afford, continue ; else end.
Results : A set of edge servers, and number ofreflectors used in each tree
15 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Wasted bandwidth for each tree :
borderreflectors
edge servers
intermediatereflectors
source
Unused border reflectorcapacity
Intermediate reflectorcapacity
16 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratioUnused border reflectors bandwidth =
total bandwidth (miC) - used bandwidth
borderreflectors
edge servers
intermediatereflectors
source
Used bandwidth ≥ (mi − 1)δiλi
C ≤ (δi + 1)λi
Unused border reflector bandwidth ≤ miλi + C17 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Capacity of intermediate reflectors :
borderreflectors
edge servers
intermediatereflectors
source
• Connect to borders re-flectors : miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C• Finally, ≤ 2miλi + C
18 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Capacity of intermediate reflectors :
borderreflectors
edge servers
intermediatereflectors
source
• Connect to borders re-flectors : miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C• Finally, ≤ 2miλi + C
18 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Capacity of intermediate reflectors :
borderreflectors
edge servers
intermediatereflectors
source
• Connect to borders re-flectors : miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C• Finally, ≤ 2miλi + C
18 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Capacity of intermediate reflectors :
borderreflectors
edge servers
intermediatereflectors
source
• Connect to borders re-flectors : miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C• Finally, ≤ 2miλi + C
18 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Capacity of intermediate reflectors :
borderreflectors
edge servers
intermediatereflectors
source
• Connect to borders re-flectors : miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C
• Connect to borders re-flectors : miλi• Inter-intermediate reflec-tors connection : ≤ miλi• Unused : ≤ C• Finally, ≤ 2miλi + C
18 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Wasted bandwidth for each tree ≤ 3miλi + 2C
Wasted bandwidth for all trees ≤ 3Nrλ∗ + 2NchNrpC
Finally, S ≥ wastedNrC S∗ ≥ NrC−3Nrλ
∗1−2NchNrpCNrC S∗
=(1− 3λ∗
C −2NchNrp
Nr
)S∗
1. λ∗ = maxi λi
19 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Wasted bandwidth for each tree ≤ 3miλi + 2C
Wasted bandwidth for all trees ≤ 3Nrλ∗ + 2NchNrpC
Finally, S ≥ wastedNrC S∗ ≥ NrC−3Nrλ
∗1−2NchNrpCNrC S∗
=(1− 3λ∗
C −2NchNrp
Nr
)S∗
1. λ∗ = maxi λi
19 / 25 Jiayi Liu DASH live streaming algorithm
Analysis : approximate ratio
Wasted bandwidth for each tree ≤ 3miλi + 2C
Wasted bandwidth for all trees ≤ 3Nrλ∗ + 2NchNrpC
Finally, S ≥ wastedNrC S∗ ≥ NrC−3Nrλ
∗1−2NchNrpCNrC S∗
=(1− 3λ∗
C −2NchNrp
Nr
)S∗
1. λ∗ = maxi λi
19 / 25 Jiayi Liu DASH live streaming algorithm
Avancement
1 Discretized streaming capacity problem
2 A practical scenario and an algorithm
3 Evaluation
4 Conclusion
20 / 25 Jiayi Liu DASH live streaming algorithm
Setting
3 sources
20 to 100,000 reflectors
CDN network provisioning 70%
3 channels with 5 representations each
C = 200 Mbps
21 / 25 Jiayi Liu DASH live streaming algorithm
EvaluationS∗ calculated based on a theoretical upper bound
Running time : less than 30 seconds
Approximate ratio : 0.978 for 200 reflectors ; 0.993 for 1000reflectors
22 / 25 Jiayi Liu DASH live streaming algorithm
Avancement
1 Discretized streaming capacity problem
2 A practical scenario and an algorithm
3 Evaluation
4 Conclusion
23 / 25 Jiayi Liu DASH live streaming algorithm
Conclusion
Discretized streaming model for live DASHstreaming
ILP formulation and NP-Completeness
A fast and near-optimum algorithm
Future workDefine specific utilityDistributed algorithmLive DASH streaming CDN system
24 / 25 Jiayi Liu DASH live streaming algorithm
25 / 25 Jiayi Liu DASH live streaming algorithm