fast near-optimal delivery of live streams in cdn
DESCRIPTION
CDNs are confronted with a sharp increase in traffic related to live video (channel) streaming. Previous theoretical models that deal with streaming capacity problems do not capture the emerging reality faced by today’s CDNs, in particular rate-adaptive streaming. In this presentation, we identify a new, discretized streaming model for live video delivery in CDNs. For this model we formulate a general optimization problem. Then we study a practical scenario that occurs in real CDNs. We present a fast, easy to implement, and near-optimal algorithm with performance approximation ratios that are negligible for large network. More details in: http://enstb.org/~gsimon/Resources/algotel13.pdf http://enstb.org/~gsimon/Resources/icccn13.pdfTRANSCRIPT
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