Large-scale live streaming systems can experience bottle- necks within the infrastructure of the underlying Content Delivery Network. In particular, the “equipment bottleneck” occurs when the fan-out of a machine does not enable the concurrent transmission of a stream to multiple other equipments. In this paper, we aim to deliver a live stream to a set of destination nodes with minimum throughput at the source and limited increase of the streaming delay. We leverage on rateless codes and cooperation among destination nodes. With rateless codes, a node is able to decode a video block of k information symbols after receiving slightly more than k encoded symbols. To deliver the encoded symbols, we use multiple trees where inner nodes forward all received symbols. Our goal is to build a diffusion forest that minimizes the transmission rate at the source while guaranteeing on-time delivery and reliability at the nodes. When the network is assumed to be lossless and the constraint on delivery delay is relaxed, we give an algorithm that computes a diffusion forest resulting in the minimum source transmission rate. We also propose an effective heuristic algorithm for the general case where packet loss occurs and the delivery delay is bounded. Simulation results for realistic settings show that with our solution the source requires only slightly more than the video bit rate to reliably feed all nodes.
Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery Networks
1. Minimizing Server
Throughput for Low-Delay
Live Streaming in Content
Delivery Networks
F. Zhou, S. Ahmad, E. Buyukkaya,
R. Hamzaoui and G. Simon
2. Live Stream Delivery
Content Provider CDN
edge
encoders Clients
servers
ingest origin
server server
2 / 13 Gwendal Simon Minimizing Server Throughput in CDN
3. Live Stream Delivery
Content Provider CDN
edge
encoders Clients
servers
ingest origin
server server
Recent large-scale live video streaming failed
Superbowl
Korean Telecom and smart TVs
2 / 13 Gwendal Simon Minimizing Server Throughput in CDN
4. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors
edge servers
ISP 1 ISP 2 ISP 3
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
5. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors
edge servers last-mile ?
ISP 1 ISP 2 ISP 3
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
6. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors
edge servers last-mile ?
ISP 1 ISP 2 ISP 3
adaptive streaming → last-mile
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
7. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors
peering link ?
edge servers
ISP 1 ISP 2 ISP 3
adaptive streaming → last-mile
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
8. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors
peering link ?
edge servers
ISP 1 ISP 2 ISP 3
adaptive streaming → last-mile
edge servers in ISP → peering link
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
9. Motivations
Where is the bottleneck in today’s CDN ?
origin servers
reflectors infrastructure ?
edge servers
ISP 1 ISP 2 ISP 3
adaptive streaming → last-mile
edge servers in ISP → peering link
3 / 13 Gwendal Simon Minimizing Server Throughput in CDN
10. The upload capacity equipment bottleneck
6
CPU 2
NIC
4 3 5
4 / 13 Gwendal Simon Minimizing Server Throughput in CDN
11. The upload capacity equipment bottleneck
6
CPU 2
2⇓ ∞⇑
∞ ∞ ∞
NIC
4 3 5
4 / 13 Gwendal Simon Minimizing Server Throughput in CDN
13. Our proposal
no cooperation cooperation between nodes
5 / 13 Gwendal Simon Minimizing Server Throughput in CDN
14. Our proposal
no cooperation cooperation between nodes
Objectives :
minimizing source throughput
maintaining a low transmission delay
5 / 13 Gwendal Simon Minimizing Server Throughput in CDN
15. Rateless codes
encoder decoder
one chunk infinite nb. of
k+ symbols k decoded symbols
k symbols encoded symbols
6 / 13 Gwendal Simon Minimizing Server Throughput in CDN
16. Rateless codes
encoder decoder
one chunk infinite nb. of
k+ symbols k decoded symbols
k symbols encoded symbols
Main advantages :
adaptive : no fixed code rate
low complexity
suitable for multi-source systems (Wu’2008)
6 / 13 Gwendal Simon Minimizing Server Throughput in CDN
17. Multi-tree delivery (1/2)
Main objective for the delivery of one video chunk :
minimize the number of trees (packets)
Main constraint in the trees :
each node should be in K trees
upload capacity constraint c on nodes
7 / 13 Gwendal Simon Minimizing Server Throughput in CDN
18. Multi-tree delivery (1/2)
Main objective for the delivery of one video chunk :
minimize the number of trees (packets)
Main constraint in the trees :
each node should be in K trees
upload capacity constraint c on nodes
s s s s
s
1 2 3 4
3 2 3 1 3 4 1
1
4
2 4 2
K = 3, c = {2, 2, 3, 1}
7 / 13 Gwendal Simon Minimizing Server Throughput in CDN
19. Multi-tree delivery (2/2)
Additional constraints
Do not introduce much delay
sum of delays over all paths in any tree below D
Do not introduce much packet loss
overall probability of all paths in any tree below P
8 / 13 Gwendal Simon Minimizing Server Throughput in CDN
20. Our contributions
Two algorithms :
1. without last constraints :
an optimal O(Kn2 ) algorithm
2. with limited tree height :
an efficient O(Kn3 ) heuristic
9 / 13 Gwendal Simon Minimizing Server Throughput in CDN
21. Our contributions
Two algorithms :
1. without last constraints :
an optimal O(Kn2 ) algorithm
2. with limited tree height :
an efficient O(Kn3 ) heuristic
Algorithm performances depend on the context :
over-provisioned system
“source rate = video rate” is achievable
under-provisioned system
source has to compensate missing resources
9 / 13 Gwendal Simon Minimizing Server Throughput in CDN
22. Simulations
Video and rateless code settings :
H.264 with bitrates from 320 kbps to 3.2 Mbps
One chunk is one GOP : 0.5 seconds
One UDP packet is 1,000 bytes
Raptor code with redundancy 5%
Network and node settings :
from 5 to 25 nodes
upload capacity follows log-normal distribution
mean capacity is {512, 1,024, 2,048} kbps
homogeneous packet loss probability and RTT
10 / 13 Gwendal Simon Minimizing Server Throughput in CDN
23. Scalability
transmission rate (in kbps) 5,000 512 kbps
4,000
3,000
2,000
1,000
0
5 10 15 20 25
number of nodes
11 / 13 Gwendal Simon Minimizing Server Throughput in CDN
24. Scalability
transmission rate (in kbps) 5,000 512 kbps
1024 kbps
4,000
3,000
2,000
1,000
0
5 10 15 20 25
number of nodes
11 / 13 Gwendal Simon Minimizing Server Throughput in CDN
25. Scalability
transmission rate (in kbps) 5,000 512 kbps
1024 kbps
4,000 2048 kbps
3,000
2,000
1,000
0
5 10 15 20 25
number of nodes
11 / 13 Gwendal Simon Minimizing Server Throughput in CDN
26. Decoding lag
1,000
800
playback lag (in ms)
600
400
512 kbps
200 1024 kbps
2048 kbps
0
5 10 15 20 25
number of nodes
12 / 13 Gwendal Simon Minimizing Server Throughput in CDN
27. Future works
Real implementation. We currently have :
a fully-developed program that just works
some contacts with a small CDN company
Academic work :
resource management for multiple flows
more dynamic algorithms
13 / 13 Gwendal Simon Minimizing Server Throughput in CDN