practical real time centralized control for cdn based
play

Practical, Real-time Centralized Control for CDN-based Live Video - PowerPoint PPT Presentation

Practical, Real-time Centralized Control for CDN-based Live Video Delivery Matt Mukerjee , David Naylor, Junchen Jiang, Dongsu Han, Srini Seshan, Hui Zhang Combating Latency in Wide Area Control Planes Centralization can provide major


  1. Practical, Real-time Centralized Control for CDN-based Live Video Delivery Matt Mukerjee , David Naylor, Junchen Jiang, Dongsu Han, Srini Seshan, Hui Zhang

  2. Combating Latency in Wide Area Control Planes • Centralization can provide major benefits • e.g., better performance, reliability, policy management, … • Scalability is hard on WAN due to latency

  3. Control Planes in the 4D* Model CENTRAL CONTROLLER DECISION DISSEMINATION DISCOVERY DATA HTTP Server HTTP Server ROUTERS, etc. *Yan, Hong, et al. "Tesseract: A 4D Network Control Plane." NSDI. Vol. 7. 2007.

  4. WAN Control Plane Latency CENTRAL CONTROLLER DECISION DISSEMINATION DISCOVERY DATA HTTP Server HTTP Server ROUTERS, etc.

  5. WAN Control Plane Latency CENTRAL CONTROLLER DECISION DISSEMINATION DISCOVERY DATA HTTP Server HTTP Server ROUTERS, etc.

  6. WAN Control Plane Latency CENTRAL CONTROLLER DECISION DISSEMINATION DISCOVERY DATA HTTP Server HTTP Server ROUTERS, etc.

  7. WAN Control Plane Latency CENTRAL CONTROLLER DECISION DISSEMINATION DISCOVERY DATA HTTP Server HTTP Server ROUTERS, etc.

  8. WAN Problems and Decision Planes Low Latency Decision Plane Traffic Engineering Solve with LP Live Video Delivery Solve with ILP? High Latency Decision Plane!

  9. Attacking Decision Plane Latency Distributed Central Control Optimization Hybrid Control Responsiveness to Quality and cost joins and failures management

  10. Outline Centralized Control Putting it all Problems with Hybrid Together Live Video Today Control Distributed Control

  11. CDN Live Video Delivery Background Legend ◀ Data Control ▶︎ Video Requests: A B Sources Video 1 Video 2 HTTP RESPONSE Responses: Video 1 Reflector Video 2 Clusters C D HTTP GET Edge Clusters E F G Video Requests

  12. CDN Live Video Delivery Background ◀ Data Control ▶︎ Video A B Sources 120 100 100 3K 1K 2K Link Cost Reflector Clusters C D Link Capacity 25 15 DNS 200 20 15 300 750 2K Edge Clusters E F G 1 10 1 0 300 750 700 500 Clients H I J

  13. CDN Live Video Delivery Background ◀ Data Control ▶︎ Video A B Sources 120 100 100 Objective: 3K 1K 2K Link Cost Reflector Maximize service quality Clusters C D Link Capacity 25 15 DNS 200 20 15 300 & 750 2K Edge Clusters E F G Minimize delivery cost 1 10 1 0 300 750 700 500 Clients H I J

  14. Outline Centralized Control Putting it all Problems with Hybrid Together Live Video Today Control Distributed Control

  15. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Reflector Link Capacity Clusters C D DNS 200 750 2K 300 Edge Clusters E F G 500 300 700 750 Clients H I J

  16. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Reflector Link Capacity Clusters C D Congestion! DNS 200 750 2K 300 Edge Clusters E F G 500 300 700 750 Clients 300 H I J

  17. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Reflector Link Capacity Clusters C D DNS 200 750 2K 300 Edge Clusters E F G 500 300 700 750 Clients 300 200 H I J

  18. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Needs global view to coordinate Reflector Link Capacity Clusters videos and network resources C D DNS 200 750 2K 300 Edge Clusters E F G 500 300 700 750 Clients 300 200 H I J

  19. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Reflector Link Capacity Clusters C D DNS 200 750 2K 300 Edge Clusters E F G 500 300 700 750 Clients 300 200 H I J

  20. Motivating Centralized Optimization ◀ Data Control ▶︎ Video 300 200 A B Sources 3K 2K 1K Reflector Link Capacity Clusters C D Central 200 750 2K 300 Controller Edge Clusters E F G 500 300 700 750 Clients 300 200 H I J

  21. Solving Centralized Optimization SERVICE QUALITY MAXIMIZE DELIVERY COST MINIMIZE DON’T EXCEED LINK CAPACITY SUBJECT TO SENDER MUST HAVE RECEIVED VIDEO

  22. Solving Centralized Optimization SERVICE QUALITY max w s · P max l ∈ L AS , o ∈ O Priority o · Request l , o · Serves l , o l ∈ L , o ∈ O Cost( l ) · Bitrate( o ) · Serves l , o w c · P − − P P DELIVERY COST subject to: · P · P · · − − l ∈ L , o ∈ O l , o ∈ subject to: subject to: ∀ l ∈ L , o ∈ O : Serves l , o ∈ { 0 , 1 } ∀ ∈ ∈ ∀ ∈ ∈ ∈ { } DON’T EXCEED LINK CAPACITY P : P o Bitrate( o ) · Serves l , o ≤ Capacity( l ) ∀ l ∈ L ∀ l ∈ L , o ∈ O : P l 0 ∈ InLinks( l ) Serves l 0 , o ≥ Serves l , o SENDER MUST HAVE RECEIVED VIDEO

  23. Centralized Optimization Service Quality Delivery Cost (per request) 8000 Optimal 7000 CDN Avg. Bitrate (Kbps) CDN 2.0x 6000 5000 4000 OPTIMAL 3000 1.0x 2000 1000 0 2 4 6 8 10 # of Videos (Thousands) Simulation using Conviva traces, Simulation using Conviva traces, modeling large sports events modeling user-generated content

  24. Effects of Latency in Decision Plane Light Load Med. Load Hvy. Load 25 Fully Centralized Join Time (Seconds) 20 15 10 5 Slow join times! 0 0 50 100 150 200 # of videos Experiments on EC2 nodes with a centralized controller at CMU across the Internet

  25. Problems with Centralization Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 HIGH LATENCY Control Traffic: Video 1 Reflector Clusters C D HIGH LATENCY Central Controller Edge Clusters E F G The Internet Clients H I J

  26. Outline Slow join times Centralized Control Putting it all Problems with Hybrid Together Live Video Today Control Distributed Control

  27. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller ? Edge Clusters E F G 500 300 700 750 Clients H I J 800

  28. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 Build “distance-to-video” tables Reflector Link Capacity Clusters C D at each cluster, for each video Central 200 2K 2K 800 Controller ? Edge Clusters E F G 500 300 700 750 Clients H I J 800

  29. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 1; (B, 2K) Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller ? Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: E F G 500 300 700 750 Clients H I J 800

  30. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 1; (B, 2K) Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller ? Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: VIA C: 2; (B, 1K) E F G 500 300 700 750 Clients PATH BOTTLENECK H I J # OF HOPS TO VIDEO 800

  31. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 1; (B, 2K) Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller ? Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: VIA C: 2; (B, 1K) E F G 500 300 700 750 VIA D: 1; (D, 800) Clients H I J 800

  32. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 1; (B, 2K) Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller ? Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: VIA C: 2; (B, 1K) E F G 500 300 700 750 VIA D: 1; (D, 800) Clients PICK SHORTEST PATH H I J WITH ENOUGH 800 CAPACITY

  33. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 Reflector Link Capacity Clusters C D Central 200 2K 800 800 Controller Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: VIA C: 2; (B, 1K) E F G 500 300 700 750 VIA D: 1; (D, 800) Clients PICK SHORTEST PATH H I J WITH ENOUGH 800 800 CAPACITY

  34. Alternate Approach: Distributed Legend ◀ Data Control ▶︎ Video Data Requests: 800 A B Sources Video 1 1K 1K Responses: 3K 2K Video 1 Distributed decisions fast (ms) Reflector Link Capacity Clusters C D but sub-optimal Central 200 2K 800 800 Controller Edge DISTANCE AT CLUSTER F Clusters VIDEO 1: VIA C: 2; (B, 1K) E F G 500 300 700 750 VIA D: 1; (D, 800) Clients PICK SHORTEST PATH H I J WITH ENOUGH 800 800 CAPACITY

Recommend


More recommend