Airlift: Video Conferencing as a Cloud Service using Inter- Datacenter Networks Yuan Feng Baochun Li Bo Li University of Toronto HKUST 1
Multi-party video conferencing 2
Multi-party video conferencing Source Conferencing session Bandwidth demanding and delay sensitive! 2
Existing solutions 3
Existing solutions Client-server Google+ Hangouts Dedicated server re-distributes video flows Resource bottleneck as the system scales up 3
Existing solutions Client-server Google+ Hangouts Dedicated server re-distributes video flows Resource bottleneck as the system scales up Peer-to-peer Skype Peers in the same conferencing session cooperate to relay video flows 3
Peer-to-Peer Bottleneck 1 3 link 2 4 4
Peer-to-Peer Bottleneck 1 3 link 2 4 4
Peer-to-Peer Bottleneck 1 3 link 2 4 needs to minimize the load on the bottleneck 4
Peer-to-Peer Bottleneck 1 3 link 2 4 needs to minimize the load on the bottleneck But where is the bottleneck? 4
With a single datacenter 1 3 D1 2 4 5
With a single datacenter 1 3 D1 2 4 5
With a single datacenter 1 3 D1 2 4 5
With a single datacenter 1 3 D1 2 4 may still send multiple copies at the bottleneck 5
Inter-datacenter networks 6
Inter-datacenter networks Cloud providers usually deploy a number of geographically distributed datacenters e.g., Amazon EC2 6
Inter-datacenter networks Cloud providers usually deploy a number of geographically distributed datacenters e.g., Amazon EC2 Those datacenters are inter-connected through high-capacity links 6
Inter-datacenter networks Cloud providers usually deploy a number of geographically distributed datacenters e.g., Amazon EC2 Those datacenters are inter-connected through high-capacity links Can we use inter-datacenter networks in the cloud to support better video conferencing services? 6
With the inter-datacenter network 1 3 D1 D2 2 4 7
With the inter-datacenter network 1 3 D1 D2 2 4 7
With the inter-datacenter network 1 3 D1 D2 2 4 7
With the inter-datacenter network distribute the video on behalf 1 3 of the sender D1 D2 2 4 Maximize the flow rate naturally, yet with a simplified protocol design 7
Motivation through experiments Cloud / P2P Throughput (Mbps) Delay (msec) Toronto-Beijing 2.2 / 0.2 171 / 148 Cambridge-Sao Paulo 1.7 / 1.4 103 / 204 Seoul-Moscow 7.2 / 1.1 201 / 436 Substantially improved throughput with similar delays! 8
Our design: Airlift 9
Key idea 10
Key idea Source video 10
Key idea Full-service broker 10
Key idea Full-service broker Rate control 10
Key idea Full-service broker Rate control 10
Key idea Full-service broker Rate control 10
Aggregated sessions Aggregating video flows from the same source datacenter to the same subset of destination datacenters Each aggregated session is a multicast session in the inter-datacenter network 11
12
12
12
12
Objective: maximize the total throughput with a constraint on endto-end delays 12
Maximizing the total throughput across all multicast sessions Traditional wisdom resorts to Steiner tree packing, which is NP-Complete In Airlift, we use network coding to formulate the optimization problem as a linear program 13
Conceptual flows with network coding Source D1 D2 14
Conceptual flows with network coding Source a b a b a a+b b a+b a+b D1 D2 14
Conceptual flows with network coding Source a b a b a a+b b a+b a+b D1 D2 14
Conceptual flows with network coding split Source replicate a b The effective flow is the merge maximal a b conceptual flow a a+b b in the same session a+b a+b D1 D2 14
Realizing conceptual flows............ + (1) Replicate (2) Split (3) Merge 15
Realizing conceptual flows............ + (1) Replicate (2) Split (3) Merge Source routing 15
Realizing conceptual flows............ + (1) Replicate (2) Split (3) Merge Source routing Perform network coding with incoming flows 15
Formulating the problem max s.t. X Xapple X x i j(p)/w i, 8i, j =1,...,k i X p2p i j x i j(p) apple x i (e), 8i, j =1,...,k i p2pj i(e) X x i (e) apple C(e), 8e 2E i x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Formulating the problem max s.t. X X Total throughput Xapple x i j(p)/w i, 8i, j =1,...,k i X p2p i j x i j(p) apple x i (e), 8i, j =1,...,k i p2pj i(e) X x i (e) apple C(e), 8e 2E i x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Formulating the problem max s.t. X X Total throughput Xapple x i j(p)/w i, 8i, j =1,...,k i X p2p i j Weighted proportional fairness x i j(p) apple x i (e), 8i, j =1,...,k i p2pj i(e) X x i (e) apple C(e), 8e 2E i x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Formulating the problem max s.t. X X Total throughput Xapple x i j(p)/w i, 8i, j =1,...,k i X p2p i j Weighted proportional fairness x i j(p) apple x i (e), 8i, j =1,...,k i p2pj i(e) X Effective flow on edge e x i (e) apple C(e), 8e 2E i x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Formulating the problem max s.t. X X Total throughput Xapple x i j(p)/w i, 8i, j =1,...,k i X p2p i j Weighted proportional fairness x i j(p) apple x i (e), 8i, j =1,...,k i p2pj i(e) X Effective flow on edge e x i (e) apple C(e), 8e 2E i Capacity constraint on edge e x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Formulating the problem max s.t. X X Total throughput Xapple x i j(p)/w i, 8i, j =1,...,k i X p2p i j Weighted proportional fairness Linear program that x i j(p) apple x i (e), 8i, j =1,...,k i p2pcan j i(e) be solved by any X Effective flow on edge e xstandard i (e) apple C(e), LP 8e 2E solver i Capacity constraint on edge e x i j(p) 0, x i (e) 0, X 0, 8p 2P i j, 8i, j =1,...,k i, 8e 2E 16
Having the optimal flow rate in each aggregated session, what should be the protocol design in Airlift? 17
Transport with network coding Packets in a generation Coded packets h e h e Video flow l Encode Decode l l o l o generations One coded packet = c 1 h+c 2 e+c 3 l+c 4 l+c 5 o 18
Transport with network coding Packets in a generation Coded packets h e h e Video flow l Encode Decode l l o l o generations One coded packet = c 1 h+c 2 e+c 3 l+c 4 l+c 5 o Use UDP as the transport protocol, together with TFRC 18
The sliding window Combine the design of a sliding window with generations A sliding window shows all packets that have been sent but haven t been acknowledged at the destination Destination will hold multiple buckets for different generations, and will acknowledge the degrees of freedom 19
Sliding window 1 2 3 4 Generation 1 Generation 2 3 4 5 RTT Source S i Time ACK (4,3,2) ACK (3,2) ACK (4,2) ACK (2) Destination R i j Time Active bucket Inactive bucket 20
Performance evaluation 21
Experimental setup We have implemented Airlift, and used the Amazon EC2 inter-datacenter network in our experiments Used PlanetLab nodes as users Logged statistics every 30 seconds, and used link capacities measured live Compared with P2P 22
End-to-end delay (Airlift) Total throughput (Airlift) End-to-end delay (P2P) Total throughput (P2P) msec Mbps 23
230 End-to-end delay (Airlift) Total throughput (Airlift) End-to-end delay (P2P) Total throughput (P2P) 40 173 30 msec 115 20 Mbps 58 10 0 Toronto-Beijing Vancouver-Berin Seoul-Rio 0 23
230 End-to-end delay (Airlift) Total throughput (Airlift) End-to-end delay (P2P) Total throughput (P2P) 40 173 30 msec 115 20 Mbps 58 10 0 Toronto-Beijing Vancouver-Berin Seoul-Rio 0 23
230 End-to-end delay (Airlift) Total throughput (Airlift) End-to-end delay (P2P) Total throughput (P2P) 40 173 30 msec 115 20 Mbps 58 10 0 Toronto-Beijing Vancouver-Berin Seoul-Rio 0 23
230 End-to-end delay (Airlift) Total throughput (Airlift) End-to-end delay (P2P) Total throughput (P2P) 40 173 30 The total throughput is msec 115 3 to 24 times better, with similar delays 20 Mbps 58 10 0 Toronto-Beijing Vancouver-Berin Seoul-Rio 0 23
Airlift: towards cloud-based video conferencing Uses inter-datacenter networks to provide a multi-party video conferencing service with high quality The objective is to maximize the total throughput within a delay constraint 24
25
Thank you iqua.ece.toronto.edu 25