1 / 86

Cache Me If You Can

Cache Me If You Can. Encoder. Decoder. Middlebox. Receiver. Sender. Network. You Are Here. Cache Proxies for Web. A. Hierarchical Caching. B. A. Cooperative Caching. A. B. Distributed Caching. A. B. Streaming Media vs. Web Pages. Video Access Pattern.

curleys
Download Presentation

Cache Me If You Can

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cache Me If You Can

  2. Encoder Decoder Middlebox Receiver Sender Network You Are Here NUS.SOC.CS5248 OOI WEI TSANG

  3. Cache Proxies for Web A NUS.SOC.CS5248 OOI WEI TSANG

  4. Hierarchical Caching B A NUS.SOC.CS5248 OOI WEI TSANG

  5. Cooperative Caching A B NUS.SOC.CS5248 OOI WEI TSANG

  6. Distributed Caching A B NUS.SOC.CS5248 OOI WEI TSANG

  7. Streaming Media vs. Web Pages NUS.SOC.CS5248 OOI WEI TSANG

  8. Video Access Pattern • by S. Acharya and B. Smith • Study at Lulea University, Sweden • 55% complete, 45% stop very early • High temporal locality NUS.SOC.CS5248 OOI WEI TSANG

  9. Bimodal Distribution NUS.SOC.CS5248 OOI WEI TSANG

  10. Zipf Distribution log (Frequency) Frequency = C/rankm log (rank) NUS.SOC.CS5248 OOI WEI TSANG

  11. Zipf Law • Frequency of English Words “the” “of” “to” “a” • City size NUS.SOC.CS5248 OOI WEI TSANG

  12. Benefits of Caching

  13. Reduce Access Latency :) :( NUS.SOC.CS5248 OOI WEI TSANG

  14. Reduce Server Load NUS.SOC.CS5248 OOI WEI TSANG

  15. Buy Some Time NUS.SOC.CS5248 OOI WEI TSANG

  16. Reduce Client Buffer Size NUS.SOC.CS5248 OOI WEI TSANG

  17. Type of Cache

  18. Types of Cache • Static caching • Dynamic caching • patching buffer NUS.SOC.CS5248 OOI WEI TSANG

  19. Static Caching • Cache “all or nothing” is bad • Split video into segments of size S NUS.SOC.CS5248 OOI WEI TSANG

  20. If I am writing a survey • Introduction • Differences between web and media caching • Video access pattern • Benefits of caching • Different type of cache • Proxy caching architecture NUS.SOC.CS5248 OOI WEI TSANG

  21. Other Caching Issues • How to segment? • Which segments to cache? • When to fetch data? • Who to fetch from? • When cache is full, who to kick out? • How to measure popularity? • Can cache adapt to popularity? NUS.SOC.CS5248 OOI WEI TSANG

  22. Rest of the Lecture • Soccer – cooperative caching proxy • Silo, rainbow and cache token – distributed caching proxy • Mocha – with congestion control NUS.SOC.CS5248 OOI WEI TSANG

  23. SOCCER Self-organizing cooperative caching architecture

  24. How to segment? NUS.SOC.CS5248 OOI WEI TSANG

  25. Effects of Size S • Large S : Low utilization • Small S : Lots of gaps NUS.SOC.CS5248 OOI WEI TSANG

  26. Prefix Caching Policy • 1 Chunk = k segments NUS.SOC.CS5248 OOI WEI TSANG

  27. Fetching Cache Data Server B A Client 1 Client 2 NUS.SOC.CS5248 OOI WEI TSANG

  28. Option 2 Server B A Client 1 Client 2 NUS.SOC.CS5248 OOI WEI TSANG

  29. Option 3 Server B A Client 1 Client 2 NUS.SOC.CS5248 OOI WEI TSANG

  30. Issues • How to advertise? • How to choose helper? NUS.SOC.CS5248 OOI WEI TSANG

  31. How to Advertise? • Balance between • network load • freshness of information NUS.SOC.CS5248 OOI WEI TSANG

  32. Scalable Advertisement • Expanding Ring Advertisement 16 32 64 128 NUS.SOC.CS5248 OOI WEI TSANG

  33. How to Choose Helper? • Consideration for Static Cache • network distance (1,2,3,4) • number of streams being served NUS.SOC.CS5248 OOI WEI TSANG

  34. Static Cache • Cost for retrieving data from node X to node Y = NUS.SOC.CS5248 OOI WEI TSANG

  35. Dynamic Caching • Need to consider the size of patching buffer S NUS.SOC.CS5248 OOI WEI TSANG

  36. Dynamic Caching • Nused • Nfetched = min(s, Nused + Δ) S NUS.SOC.CS5248 OOI WEI TSANG

  37. Dynamic Cache • Potential Waste = Nfetched/Nused • Integrate into overall cost NUS.SOC.CS5248 OOI WEI TSANG

  38. Helper Selection • Helper ask other helpers to help if segments not found on local cache • Pick lowest cost helper NUS.SOC.CS5248 OOI WEI TSANG

  39. If Static Cache • Retrieve to fill current gap • May pick different helpers for different gaps • Should avoid frequent switching NUS.SOC.CS5248 OOI WEI TSANG

  40. If Dynamic Cache • Stick to one helper NUS.SOC.CS5248 OOI WEI TSANG

  41. Evaluations Single Proxy Hierarchical Proxies SOCCER NUS.SOC.CS5248 OOI WEI TSANG

  42. Silo, Rainbow and Cache Token

  43. Distributed Caching Server B A new clip! NUS.SOC.CS5248 OOI WEI TSANG

  44. Distributed Caching Server B A NUS.SOC.CS5248 OOI WEI TSANG

  45. Distributed Caching Server B A NUS.SOC.CS5248 OOI WEI TSANG

  46. Distributed Caching Server B A NUS.SOC.CS5248 OOI WEI TSANG

  47. Cooperative vs Distributed • Cooperative caching caches independently • Distributed caching caches as a team NUS.SOC.CS5248 OOI WEI TSANG

  48. Problems • Who should cache what? • Which segment to kick out? • How to redistribute data? NUS.SOC.CS5248 OOI WEI TSANG

  49. RCache • Np proxies • video of length Lv • divide into Ns equal segments • Each proxy caches each segment with a/Np probability NUS.SOC.CS5248 OOI WEI TSANG

  50. Analysis • Probability that whole video is cached • Storage requirement aL NUS.SOC.CS5248 OOI WEI TSANG

More Related