1/16
A Resource Allocation Controller for Cloud-based Adaptive Video Streaming
Luca De Cicco, Saverio Mascolo, Dario Calamita
Politecnico di Bari, Dipartimento di Ingegneria Elettrica e dell’Informazione
MCN 2013 - Budapest, Hungary
13 June 2013
A Resource Allocation Controller for Cloud-based Adaptive Video - - PowerPoint PPT Presentation
1/16 A Resource Allocation Controller for Cloud-based Adaptive Video Streaming Luca De Cicco , Saverio Mascolo, Dario Calamita Politecnico di Bari, Dipartimento di Ingegneria Elettrica e dellInformazione MCN 2013 - Budapest, Hungary 13 June
1/16
Politecnico di Bari, Dipartimento di Ingegneria Elettrica e dell’Informazione
13 June 2013
2/16
2010 2011 2012 2013 2014 2015 10 20 30 40 EB Video P2P Data Web Video conf
Introduction 3/16
Introduction 3/16
1 Bandwidth is unpredictable in best-effort Internet 2 Mobile devices have limited CPU and display resolution 3 User demand is highly time-varying
Introduction 3/16
1 Bandwidth is unpredictable in best-effort Internet 2 Mobile devices have limited CPU and display resolution 3 User demand is highly time-varying
1 Issues 1 and 2 ⇒ Implement video adaptivity 2 Issue 3 ⇒Resource Allocation to dynamically turn on/off servers
The control plane 4/16
flows i−th server j−th server Clients
1
Client Load Balancer Resource Alloc. Controller Cloud API Central Unit Mon. Mon.
3 2
SSAC SSAC SSAC SSAC
4
N(t)
B(i)
A
˜ l(i)
n(i)
˜ l(i)
1
B(j)
A
˜ l(j)
1
The control plane 5/16
Switching Controller
Video buffer
l(t)
sender Levels
r(t), l(t) HTTP traffic
buffer
Player
q(t)
τf
Decoder
Server Internet
selects video level
Resource Allocation Controller 6/16
Resource Allocation Controller 7/16
Resource Allocation Controller 8/16
1 At the Server. Can act on these flows by turning ON machines. 2 At the Client. Cannot act on these flows (threated as a disturbance)
Resource Allocation Controller 8/16
1 At the Server. Can act on these flows by turning ON machines. 2 At the Client. Cannot act on these flows (threated as a disturbance)
Resource Allocation Controller 9/16
CU
Switch−on controller Switch−off controller Switch−on delay
G 0
c (z) 1 C
(1 − z−r)ˆ G(z)
z−r ˆ nUL N M
1 1−z−1
BA
1 B
Non
Noff
c (z) = Kp +Kd(1−z−1)
Simulator 10/16
Simulator 11/16
200 400 600 800 1000 1200 5 10 15 20 25 30 35 40 Time (s) Requests/s
Results 12/16
200 400 600 800 1000 1200 50 100 150 Time (sec) M(t) r=20 r=30 r=5 r=30 r=0 SC FF RAC no SP RAC
200 400 600 800 1000 1200 0.2 0.4 0.6 0.8 1 Time (sec) α(t) FF RAC no SP RAC
Undershoots
Results 13/16
200 400 600 800 1000 20 40 60 80 100 Time (sec) M(t) r=20 r=30 r=5 r=30 r=0 SC FF RAC no SP RAC
200 400 600 800 1000 0.2 0.4 0.6 0.8 1 Time (sec) α(t) FF RAC no SP RAC
αRAC = 0.73 αFF = 0.78
Results 14/16
250 500 750 1000 10 20 30 40 50 Time (sec) Costs savings % FF RAC no SP
Results 15/16
Conclusions 16/16
Conclusions 15/16
L to estimate nL(t) (limited flows) L(t) to estimate ˆ nCL(t) ˆ nUL(t) = nL(t)−ˆ nCL(t)
number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM
Conclusions 15/16
L to estimate nL(t) (limited flows) L(t) to estimate ˆ nCL(t) ˆ nUL(t) = nL(t)−ˆ nCL(t)
number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL
Conclusions 15/16
L to estimate nL(t) (limited flows) L(t) to estimate ˆ nCL(t) ˆ nUL(t) = nL(t)−ˆ nCL(t)
number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL Estimate of Client limited flows L(t) ˆ nCL
Conclusions 15/16
L to estimate nL(t) (limited flows) L(t) to estimate ˆ nCL(t) ˆ nUL(t) = nL(t)−ˆ nCL(t)
number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL Estimate of Client limited flows L(t) ˆ nCL number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL Estimate of Client limited flows L(t) ˆ nCL Uplink limited flows
Conclusions 15/16
L to estimate nL(t) (limited flows) L(t) to estimate ˆ nCL(t) ˆ nUL(t) = nL(t)−ˆ nCL(t)
number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL Estimate of Client limited flows L(t) ˆ nCL number of Cumulative Flows concurrent flows l0 l1 l2 l3 l4 l5 L number of Cumulative Flows concurrent flows lM nL Estimate of Client limited flows L(t) ˆ nCL Uplink limited flows
nL = ˆ nCL
Conclusions 16/16