web caching and content delivery
TRANSCRIPT
![Page 1: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/1.jpg)
Web Caching and Content DeliveryWeb Caching and Content Delivery
![Page 2: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/2.jpg)
Caching for a Better WebCaching for a Better Web
Performance is a major concern in the WebProxy caching is the most widely used method to improve
Web performance• Duplicate requests to the same document served from cache• Hits reduce latency, bandwidth demand, server load• Misses increase latency (extra hops)
Clients Proxy Cache Servers
Hits
Misses MissesInternet
[Source: Geoff Voelker]
![Page 3: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/3.jpg)
Proxy CachingProxy Caching
How should we build caching systems for the Web?• Seminal paper [Chankhunthod96]• Proxy caches [Duska97]• Akamai DNS interposition [Karger99]• Cooperative caching [Tewari99, Fan98, Wolman99]• Popularity distributions [Breslau99]• Proxy filtering and transcoding [Fox et al]• Consistency [Tewari,Cao et al]• Replica placement for CDNs [et al]
[Voelker]
![Page 4: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/4.jpg)
Issues for Web CachingIssues for Web Caching
• Binding clients to proxies, handling failoverManual configuration, router-based “transparent caching”, WPAD
(Web Proxy Automatic Discovery)
• Proxy may confuse/obscure interactions between server and client.
• Consistency managementAt first approximation the Web is a wide-area read-only file
service...but it is much more than that.caching responses vs. caching documentsdeltas [Mogul+Bala/Douglis/Misha/[email protected]]
• Prefetching, scale, request routing, scale, performanceWeb caching vs. content distribution (CDNs, e.g., Akamai)
![Page 5: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/5.jpg)
EndEnd--toto--End Content Delivery End Content Delivery
request stream
Internet hosting network
requestdistributorsurrogate
caches
CDN servers
proxies server array + storage
upstream downstream
![Page 6: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/6.jpg)
Proxy Cache EffectivenessProxy Cache Effectiveness
How to measure Web cache effectiveness (goals)?• Hit ratio• Savings in bandwidth or server load• Reduction in perceived user latency
What factors determine/limit effectiveness?• Capacity?• User population?• Proxy placement in the network?• Updates and invalidations?
![Page 7: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/7.jpg)
Web Traffic CharacterizationWeb Traffic Characterization
Research question: how do goals and traffic behavior shape strategies for deploying and managing proxy caches?• Replacement policy: what objects to retain in cache?
Large vs. small, relative importance of popularity and stability
• Deployment: where to place the cache?Close to server or client?
• How many users per cache?• Prefetching?
Since the Web is in active deployment on a large-scale, Web traffic characterization is an empirical science.• Science of mass behavior: observe and test hypotheses.
![Page 8: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/8.jpg)
ZipfZipf[Breslau/Cao99] and others observed that Web accesses can be
modeled using Zipf-like probability distributions.• Rank objects by popularity: lower rank i ==> more popular.• The probability that any given reference is to the ith most
popular object is pi
Not to be confused with pc, the percentage of cacheable objects.
Zipf says: “pi is proportional to 1/iα, for some α with 0 < α < 1”.• Higher α gives more skew: popular objects are way popular.• Lower α gives a more heavy-tailed distribution.• In the Web, α ranges from 0.6 to 0.8 [Breslau/Cao99].• With α=0.8, 0.3% of the objects get 40% of requests.
![Page 9: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/9.jpg)
ZipfZipf--like Reference Distributionslike Reference Distributions
pi ! 1/iα
Σpi = 1
Probability of access to the object with popularity rank i:
(This is equivalent to a power-law or Pareto distribution.)
alpha-0.7such that:
head
tail
[Zipf 49, Duska et al. 97, Breslau et al. 98]
Popularity rank
heavy tail
pi
![Page 10: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/10.jpg)
Importance of Traffic ModelsImportance of Traffic Models
Analytical models like this help us to predict cache hit ratios (object hit ratio or byte hit ratio).• E.g., get object hit ratio as a function of size by integrating under
segments of the Zipf curve…assuming perfect LFU replacement
• Must consider update rateDo object update rates correlate with popularity?
• Must consider object sizeHow does size correlate with popularity?
• Must consider proxy cache populationWhat is the probability of object sharing?
• Enables construction of synthetic load generatorsSURGE [Barford and Crovella 99]
![Page 11: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/11.jpg)
The “TrickleThe “Trickle--Down Effect”Down Effect”
clientscache
to servers
flood trickle
What is the effect on “downstream” traffic?
What is the significance of this effect?
How does it impact design choices for components “behind” the caches?
![Page 12: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/12.jpg)
A Look at the Miss StreamA Look at the Miss Stream
synthetic traceSURGE-generatedlow locality: α= 0.6
log-log plot
head: flattenedmidrange: taperstail: intact
Zipf-like
1035 816
![Page 13: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/13.jpg)
1998 ibm.comhigh locality
fit Zipf α= 0.76skewed: 77 % / 1%
Effect on Server Trace (Effect on Server Trace (ibmibm.com).com)
![Page 14: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/14.jpg)
What’s Happening? (LRU)What’s Happening? (LRU)
Suppose the cache fills up in R references.(That’s a property of the trace and the cache size.)
Then a cache miss on object with rank i occurs only if i is referenced….
probability pi
…and i has not been referenced in the last R requests.
probability (1 - pi)R
Stack distance
P(a miss is to object i) is qi = pi(1 - pi)R
![Page 15: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/15.jpg)
Miss Stream Probability by PopularityMiss Stream Probability by Popularity
qi: R = 104, αααα=0.7
IBM 1998 (32 MB)
Moderately popular objects now dominate.
![Page 16: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/16.jpg)
Object Hit Ratio by Popularity (1)Object Hit Ratio by Popularity (1)
synthetic α= 0.6
![Page 17: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/17.jpg)
Object Hit Ratio by Popularity (2)Object Hit Ratio by Popularity (2)
IBM1998
![Page 18: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/18.jpg)
Limitations/Features of This StudyLimitations/Features of This Study
static (cacheable) objectsignore misses caused by updates
• invalidation/expiration
LRU replacementvary cache effectiveness by capacity
• cache intercepts all client traffic
ignore effect on downstream traffic volume
![Page 19: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/19.jpg)
Proxy Deployment and UseProxy Deployment and Use
Where to put it?How to direct user Web traffic through the proxy?Request redirection
• Much more to come on this topic…
Must the server consent?• Protected content• Client identity
“Transparent” caching and the end-to-end principle• Must the client consent?
![Page 20: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/20.jpg)
Interception SwitchesInterception Switches
ISP cache array
The client doesn’t know.The server doesn’t know.
Neither side told HTTP to disable it.Is it legal? Good thing? Bad thing?
![Page 21: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/21.jpg)
Shouldn’t This Be Illegal?Shouldn’t This Be Illegal?
end end
middle
RFC 1122: The Internet Architecture (IPv4) specifies that each packet has a unique destination “host” address.
Problemsmiddle boxes may be subversiveIPsec and SSLdynamic routing
![Page 22: Web Caching and Content Delivery](https://reader036.vdocuments.mx/reader036/viewer/2022071600/613d2cb0736caf36b75a3334/html5/thumbnails/22.jpg)
Cache EffectivenessCache Effectiveness
Previous work has shown that hit rate increases with population size [Duska et al. 97, Breslau et al. 98]
However, single proxy caches have practical limits• Load, network topology, organizational constraints
One technique to scale the client population is to have proxy caches cooperate