Cache Me If You Can - PowerPoint PPT Presentation

About This Presentation
Title:

Cache Me If You Can

Description:

Np proxies. video of length Lv. divide into Ns equal segments ... Proxy Caching for video. Techniques for segmentation, replacement etc. ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 87
Provided by: dcso
Category:
Tags: cache | proxies

less

Transcript and Presenter's Notes

Title: Cache Me If You Can


1
Cache Me If You Can
2
You Are Here
3
Cache Proxies for Web
A
4
Hierarchical Caching
B
A
5
Cooperative Caching
A
B
6
Distributed Caching
A
B
7
Streaming Media vs. Web Pages
8
Video Access Pattern
  • by S. Acharya and B. Smith
  • Study at Lulea University, Sweden
  • 55 complete, 45 stop very early
  • High temporal locality

9
Bimodal Distribution
10
Zipf Distribution
log (Frequency)
Frequency C/rankm
log (rank)
11
Zipf Law
  • Frequency of English Words
  • the of to a
  • City size

12
Benefits of Caching
13
Reduce Access Latency
)
(
14
Reduce Server Load
15
Buy Some Time
16
Reduce Client Buffer Size
17
Type of Cache
18
Types of Cache
  • Static caching
  • Dynamic caching
  • patching buffer

19
Static Caching
  • Cache all or nothing is bad
  • Split video into segments of size S

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

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?

22
Rest of the Lecture
  • Soccer cooperative caching proxy
  • Silo, rainbow and cache token distributed
    caching proxy
  • Mocha with congestion control

23
SOCCER
  • Self-organizing cooperative caching architecture

24
How to segment?
25
Effects of Size S
  • Large S Low utilization
  • Small S Lots of gaps

26
Prefix Caching Policy
  • 1 Chunk k segments

27
Fetching Cache Data
Server
B
A
Client 2
Client 1
28
Option 2
Server
B
A
Client 2
Client 1
29
Option 3
Server
B
A
Client 2
Client 1
30
Issues
  • How to advertise?
  • How to choose helper?

31
How to Advertise?
  • Balance between
  • network load
  • freshness of information

32
Scalable Advertisement
  • Expanding Ring Advertisement

16 32 64 128
33
How to Choose Helper?
  • Consideration for Static Cache
  • network distance (1,2,3,4)
  • number of streams being served

34
Static Cache
  • Cost for retrieving data from node X to node Y

35
Dynamic Caching
  • Need to consider the size of patching buffer

S
36
Dynamic Caching
  • Nused
  • Nfetched min(s, Nused ?)

S
37
Dynamic Cache
  • Potential Waste Nfetched/Nused
  • Integrate into overall cost

38
Helper Selection
  • Helper ask other helpers to help if segments not
    found on local cache
  • Pick lowest cost helper

39
If Static Cache
  • Retrieve to fill current gap
  • May pick different helpers for different gaps
  • Should avoid frequent switching

40
If Dynamic Cache
  • Stick to one helper

41
Evaluations
Single Proxy
Hierarchical Proxies
SOCCER
42
Silo, Rainbow and Cache Token
43
Distributed Caching
Server
B
A
new clip!
44
Distributed Caching
Server
B
A
45
Distributed Caching
Server
B
A
46
Distributed Caching
Server
B
A
47
Cooperative vs Distributed
  • Cooperative caching caches independently
  • Distributed caching caches as a team

48
Problems
  • Who should cache what?
  • Which segment to kick out?
  • How to redistribute data?

49
RCache
  • Np proxies
  • video of length Lv
  • divide into Ns equal segments
  • Each proxy caches each segment with a/Np
    probability

50
Analysis
  • Probability that whole video is cached
  • Storage requirement aL

51
Two Parameters
  • How to divide video into segments?
  • What is the probability of storing each segment?

52
Silo
probability of storage
segment size
53
Problems
  • Who should cache what?
  • Which segment to kick out?
  • How to redistribute data?

54
Compute Popularity
  • For each video
  • For each segment

55
Rainbow Algorithm
less popular
56
Problems
  • Who should cache what?
  • Which segment to kick out?
  • How to redistribute data?

57
Data Redistribution
  • When popularity changes, need to redistribute.
  • Redistribute on-demand (lazy)

58
Cache Token
  • Each segment have two bits
  • (T,C)
  • T I am suppose to have the segment
  • C I have the segment

59
Data Redistribution
  • (T1,C1)
  • (T0,C0)
  • (T1,C0)
  • (T0,C1)

60
Silo, Rainbow and Token
  • Distributed Caching Architecture
  • Fault tolerant
  • Scalable

61
Proxy Cache Congestion Control
62
Scenario (10am)
Server
A
Client 2
63
Scenario (1am)
Server
A
Client 2
64
Problem
  • Cache interfere with congestion control algorithm
  • Make cache adapt aware of quality adaptation

65
Congestion Control Protocol
  • RAP AIMD Layered Coding
  • sender-driven layered unicast

66
Solutions
  • Making cache quality-aware
  • Prefetch
  • Replacement Algorithm

67
Cache Miss
Server
A
Client 2
68
Cache Hit
Server
repair prefetch
A
Client 2
69
Peeking Inside the Cache
70
Cache Hit Repair
71
Cache Hit Prefetch
72
Cache Hit Prefetch
73
Prefetch Algorithm
playback point
prefetch window
74
Proxy Request to Server
  • Multiple requests (for different clients) are
    batched.

75
Server Response
  • Missing segments are sent in decreasing priority

3
4
2
1
76
Server Response
  • Send as many segments as possible until next
    prefetch request

77
Solutions
  • Making cache quality-aware
  • Prefetch
  • Replacement Algorithm

78
Goal of Replacement Algorithm
  • Goal converge to efficient state
  • if a stream is popular
  • average quality is high
  • variation in quality is low

79
The Algorithm
80
Trashing and Locking
81
Choosing Victim
  • whit (weighted hit)
  • Tplay/Ttotal
  • Calculate whit for each layer in a stream over a
    popularity window

82
Example
83
Evaluations
  • Two Criteria
  • Completeness
  • Continuity

84
vs Request Number
85
Different Popularity
86
Summary
  • Proxy Caching for video
  • Techniques for segmentation, replacement etc.
  • Interactions with other aspect of streaming
Write a Comment
User Comments (0)
About PowerShow.com