drongo
play

Drongo Speeding Up CDNs with Subnet Assimilation from the Client - PowerPoint PPT Presentation

Drongo Speeding Up CDNs with Subnet Assimilation from the Client CoNEXT 17 Authors: Incheon, South Korea Marc Anthony Warrior CDN & Caching Session Uri Klarman Marcel Flores Aleksandar Kuzmanovic Birds Eye View What is


  1. Drongo Speeding Up CDNs with Subnet Assimilation from the Client CoNEXT ‘17 Authors: Incheon, South Korea Marc Anthony Warrior CDN & Caching Session Uri Klarman Marcel Flores Aleksandar Kuzmanovic

  2. Bird’s Eye View ● What is Drongo? ● Why we need Drongo ● Performance Analysis ● Thoughts & Conclusions ● Questions 2 2

  3. What is Drongo? 3

  4. What is Drongo? It’s a bird! 4

  5. What is Drongo? It’s a bird! 5

  6. What is Drongo? It’s a bird! 6

  7. What is Drongo? It’s a system that allows end-users to enhance the QoS (quality of service) they get from Content Distribution Networks ( CDN s) 7

  8. What is Drongo? It’s a system that allows end-users to enhance the QoS (quality of service) they get from Content Distribution Networks ( CDN s) (in this talk, QoS = latency ) 8

  9. Why Latency? 9

  10. ● Latency is time Why Latency? 10

  11. ● Latency is time Why Latency? ● Latency is money ○ Google (Marissa Mayer), Amazon (Greg Linden) ■ Web 2.0 Summet, glinden.blogspot.com 11

  12. ● Latency is time Why Latency? ● Latency is money ○ Google (Marissa Mayer), Amazon (Greg Linden) ■ Web 2.0 Summet, glinden.blogspot.com ● Latency is the bottom line ○ “What we have found running our applications at Google is that latency is as important, or more important, for our applications than relative bandwidth,” Amin Vahdat (Google) 12

  13. Drongo helps you (the end user) lower your own latency! 13

  14. Drongo’s Effect on Latency CDNetworks r t C CubeCDN t e Amazon Google Alibaba N a n i h C 14

  15. Drongo’s Effect on Latency CDNetworks r t C CubeCDN t e Amazon Google Alibaba N a n i h C ONLY client-side changes 15

  16. Example Scenario 16

  17. 17 Provider wants to serve client

  18. 18 Client is far

  19. 19 CDN = more replica locations

  20. 20 DNS Redirection Which replica serves the client?

  21. 21 Choose the “closest” server

  22. 22 Choose the “closest” server This choice is nontrivial !

  23. 23 Often Suboptimal Choices!

  24. Maybe just a far LDNS... [Chen - SigComm ’15; Huang - SigComm CCR ‘12; Alzoubi - WWW ‘13; Rula - SigComm ‘14 …] 24

  25. Ordinary DNS Query DNS Query LDNS IP Somewhere in California 25

  26. EDNS0 Client-Subnet extension (ECS) DNS Query LDNS IP Client Subnet Somewhere in California Actually somewhere in New York 26

  27. 27 We used ECS: (ECS User)

  28. 28 We used ECS: This still happens (ECS User)

  29. 29 We used ECS: This still happens … frequently (ECS User)

  30. Really? ... 30

  31. Really? ... YES! We measured it! 31

  32. How did we measure it? 32

  33. How did we measure it? Find subnets directed to different replicas 33

  34. Subnet Assimilation Client Subnet DNS Query LDNS IP 34

  35. Subnet Assimilation Client Subnet DNS Query LDNS IP Other Subnet 35

  36. How did we measure it? Find subnets directed to Perform pings and downloads different replicas to each replica 36

  37. How did we measure it? Find subnets directed to Perform pings and downloads Identify which subnet resulted in different replicas to each replica the “best” replica 37

  38. 38 1. Get “Default” Choice (use client’s own subnet for ECS)

  39. 39 2. Traceroute to default choice

  40. 40 3. Get Hop Subnet Choices (use hops’ subnets for ECS)

  41. 41 4. Measure Latencies

  42. 42 4. Measure Latencies Steps 1-4: a “trial”

  43. Latency Ratio 43 Normalize to default choice’s RTT 1.4 1 0.6

  44. We’re looking for this 44 1.4 1 0.6

  45. Valley = better choice from hop subnet replica choice for subnet traceroute 100 ms RTT: client to replica 45 0 ms

  46. Valley = better choice from hop subnet replica choice for subnet traceroute 100 ms RTT: client to replica 46 0 ms

  47. PlanetLab Sees Valleys! 47

  48. PlanetLab Sees Valleys! 48

  49. PlanetLab Sees Valleys! Google : 20.24% ● ● Amazon : 14.02% Alibaba : 33.68% ● ● CDNetworks : 15.61% ChinaNetCenter : 27.42% ● ● CubeCDN : 38.58% Room for improvement! 49

  50. 50 5.

  51. 51 5. Use best subnet for ECS

  52. 52 5. Use best subnet for ECS Get best mapping!

  53. ● Trials are not “fast” Are Valleys Predictable? 53

  54. ● Trials are not “fast” Are Valleys Predictable? ● We want valleys “on the fly” 54

  55. ● Trials are not “fast” Are Valleys Predictable? ● We want valleys “on the fly” ● We need to find valley-prone subnets 55

  56. Testing Persistence consecutive trials 0 5 10 15 20 56

  57. Testing Persistence VS 0 5 10 15 20 Trial A Trial B 57

  58. Latency Ratio Difference Over Time Latency Ratio = (hop replica RTT) / (default replica RTT) 58

  59. Testing Persistence VS 0 5 10 15 20 Window A Window B 59

  60. Testing Persistence VS 0 5 10 15 20 Window A Window C 60

  61. Testing Persistence VS 0 5 10 15 20 Window A Window C 15 hours 61

  62. Latency Ratio Difference Over Time Latency Ratio = (hop replica RTT) / (default replica RTT) 62

  63. Latency Ratio Difference Over Time Latency Ratio = (hop replica RTT) / (default replica RTT) 63

  64. Latency Ratio Difference Over Time Latency Ratio = (hop replica RTT) / (default replica RTT) 64

  65. Latency Ratio Difference Over Time Latency Ratio = (hop replica RTT) / (default replica RTT) SURPRISE! The Internet is crazy! 65

  66. Filter: at least one valley {0,0,0,0,0, V ,0,0,0,0,0,0, V } Subnet A {0,0,0,0,0,0,0,0,0,0,0,0,0} Subnet B Subnet C { V , V , V , V ,0,0,0,0, V , V , V ,0, V } 66

  67. Filter: at least one valley {0,0,0,0,0, V ,0,0,0,0,0,0, V } Subnet A {0,0,0,0,0,0,0,0,0,0,0,0,0} Subnet B Subnet C { V , V , V , V ,0,0,0,0, V , V , V ,0, V } 67

  68. Filter: at least one valley Latency Ratio = (hop replica RTT) / (default replica RTT) 68

  69. Filter: at least one valley Latency Ratio = (hop replica RTT) / (default replica RTT) very flat 69

  70. Filter: at least one valley Latency Ratio = (hop replica RTT) / (default replica RTT) very flat Close to zero 70

  71. 71

  72. 72

  73. Parameter Exploration 73

  74. How deep are the V thresh = valleys from useful subnets? 74

  75. Latency Ratio 1 V thresh 1 0.9 0.6 A B C Replicas 75

  76. Latency Ratio 1 V thresh 1 0.9 0.6 A B C Replicas 76

  77. How often do valleys V freq = occur in useful subnets? 77

  78. TRAINING WINDOW 78

  79. TRIALS 79

  80. V freq = 2/5 80

  81. V freq = 2/5 Valley-Prone Subnet 81

  82. V freq = 2/5 Valley-Prone Subnet 82

  83. V freq = 2/5 NOT Valley-Prone Subnet 83

  84. Overview of Drongo: 1. Collect training window 84

  85. Overview of Drongo: 1. Collect training window 2. Count the # of sufficiently deep valleys 85

  86. Overview of Drongo: 1. Collect training window 2. Count the # of sufficiently deep valleys 3. Apply subnet assimilation a. Training window is already complete b. Both parameters met 86

  87. System Wide Performance 87

  88. System Wide Performance 88

  89. System Wide Performance better 89

  90. System Wide Performance better 90

  91. System Wide Performance better 91

  92. System Wide Performance better 92

  93. System Wide Performance better 93

  94. System Wide Performance V freq = 1.0 better 94

  95. System Wide Performance V freq = 1.0 V thresh = 0.95 better 95

  96. Switch Quality r CDNetworks t C CubeCDN t e Amazon Alibaba Google N a n i h C Global Params Per Prov. Params 96

  97. Conclusion & ● CDNs have a lot of room for Insights improvement 97

  98. Conclusion & ● CDNs have a lot of room for Insights improvement ● Clients can help 98

  99. Conclusion & ● CDNs have a lot of room for Insights improvement ● Clients can help ● Low requirements 99

  100. Conclusion & ● CDNs have a lot of room for Insights improvement ● Clients can help ● Low requirements ● Can provide 50% improvement 100

Recommend


More recommend