Page 1 of 24
Web Caching
Web Caching
based on:
✗ Web Caching, Geoff Huston ✗ Web Caching and Zipf-like Distributions:
Evidence and Implications, L. Breslau, P. Cao, L. Fan, G. Phillips, S. Shenker
✗ On the scale and performance of
Web Caching based on: Web Caching , Geoff Huston Web Caching and - - PDF document
Web Caching based on: Web Caching , Geoff Huston Web Caching and Zipf-like Distributions: Evidence and Implications , L. Breslau, P. Cao, L. Fan, G. Phillips, S. Shenker On the scale and performance of cooperative Web proxy caching ,
Page 1 of 24
Web Caching
✗ Web Caching, Geoff Huston ✗ Web Caching and Zipf-like Distributions:
✗ On the scale and performance of
Page 2 of 24
Web Caching
✗ The server can modify the content; ✗ The server can track all content requests; ✗ The server can differentiate between
✗ The server can authenticate the client.
✗ Popular servers are under continuous high
✗ high number of simultaneously opened
✗ high load on the surrounding network ✗ The network may not be efficiently utilized
Page 3 of 24
Web Caching
✔ reduce latency by avoiding slow links between
✗ low bandwidth links ✗ congested links ✔ reduce traffic on links ✔ spread load of overloaded origin servers to
Page 4 of 24
Web Caching
✔ content provider (server caching) ✔ ISP ✗ more than 70% of ISP traffic is Web based; ✗ repeated requests at about 50% of the traffic; ✗ ISPs interested in reducing the transmission
✗ provide high quality of service to the end
✔ end client
Page 5 of 24
Web Caching
✔ Cache consistency ✗ identify if an object is stale or fresh ✔ Dynamic content ✗ caches should not store outputs of CGI
✔ Hit counts and personalization ✔ Privacy concerned user ✗ how do you get a user to point to a cache ✔ Access control ✗ legal and security restrictions ✔ Large multimedia files
Page 6 of 24
Web Caching
✔ the distribution of page requests follows a
✔ for an infinite sized cache, the hit-ratio grows
✔ the hit-ratio of a web cache grows in a log-like
✔ the probability that a document will be
Page 7 of 24
Web Caching
✔ distribution of web requests follow a a Zipf-
✔ the 10/90 rule does not apply to web accesses
✔ low statistical corellation between the
✔ low statistic correlation between a document’s
✔ request distribution to servers does not follow
Page 8 of 24
Web Caching
✔ Model: ✗ A cache that receives a stream of requests ✗ N = total number of pages in the universe ✗
✗ Pages ranked in order of their popularity,
✗ Zipf-like distribution for the arrivals:
✔ ✗ no pages are invalidated in the cache.
Page 9 of 24
Web Caching
⁄ 1 –
α –
Page 10 of 24
Web Caching
✔ GD-Size: ✗ performs best for small sizes of cache. ✔ Perfect-LFU ✗ performs comparably with GD-Size in hit-
✗ drawback: increased complexity ✔ In-Cache-LFU ✗ performs the worst
Page 11 of 24
Web Caching
✔ What is the best performance one could
✔ For what range of client populations can
✔ Does the way in which clients are assigned to
✔ What cache hit rates are necessary to achieve
Page 12 of 24
Web Caching
✔ for smaller populations, hit rate increases
✔ for larger population cooperative caching is
✔ use cooperative caching to adapt to proxy
5000 10000 15000 20000 25000 30000
Population
10 20 30 40 50 60 70 80 90
Request Hit Rate (%)
Ideal (UW) Cacheable (UW) Ideal (MS) Cacheable (MS)
Page 13 of 24
Web Caching
✔ Latency stays unchanged when population
✔ Caching will have little effect on mean and
5000 10000 15000 20000
Population
500 1000 1500 2000
Object Latency (ms)
Mean No Cache Mean Cacheable Mean Ideal Median No Cache Median Cacheable Median Ideal
Page 14 of 24
Web Caching
✔ same knee at about 2500 clients ✔ shared documents are smaller
5000 10000 15000 20000
Population
10 20 30 40 50 60
Byte Hit Rate (%)
Ideal Cacheable
Page 15 of 24
Web Caching
✔ while caching reduces bandwidth consumption
5000 10000 15000 20000
Population
1 2 3 4 5
Mean Bandwidth (Mbits/s)
No Cache Cacheable Ideal
Page 16 of 24
Web Caching
✔ there is some locality in organizational membership, but the impact is
978 735 480 425 392 337 251 246 239 228 222 219 213 200 192
15 Largest Organizations
10 20 30 40 50 60 70 80 90 100
Hit Rate (%)
Ideal Cooperative Ideal Local Cacheable Cooperative Cacheable Local 978 735 480 425 392 337 251 246 239 228 222 219 213 200 192
15 Largest Organizations
10 20 30 40 50 60 70
Hit Rate (%)
UW Random
Page 17 of 24
Web Caching
✔ unpopular documents are universally
UW Ideal UW Cacheable MS Ideal MS Cacheable 20 40 60 80 100
Hit Rate (%)
Cooperative Local
Page 18 of 24
Web Caching
✔ N = clients in population ✔ n = total number of documents ((aprox. 3.2
✔ pi = fraction of all requests that are for the i-th
✔ exponential distribution of the requests done
✔ exponential distribution of time for document
✔ pc = 0.6 = probability that the documents are
✔ E(S) = 7.7KB = avg. document size ✔ E(L) = 1.9 sec = last-byte latency to server
Page 19 of 24
Web Caching
✔ 1. the request rate too low to dominate the rate
✔ 2. marks a significant increase in the hit rate of
✔ 3. the request rate is high enough to cope with
10^2 10^3 10^4 10^5 10^6 10^7 10^8
Population (log)
20 40 60 80 100
Cacheable Hit Rate (%)
Slow (14 days, 186 days) Mid Slow (1 day, 186 days) Mid Fast (1 hour, 85 days) Fast (5 mins, 85 days)
Page 20 of 24
Web Caching
1 min 2 5 10 30 1 hour 2 6 12 1 day 2 7 14 30 180
Change Interval (log)
20 40 60 80 100
Cacheable Hit Rate (%)
mu_p mu_u A B C
1 min 2 5 10 30 1 hour 2 6 12 1 day 2 7 14 30 180
Change Interval (log)
20 40 60 80 100
Cacheable Hit Rate (%)
mu_p mu_u A B C
Page 21 of 24
Web Caching
✔ the achievable benefits in terms of latency are
✔ a flat cooperative scheme is no longer effective
✔ in a hierarchical caching scheme the higher
Page 22 of 24
Web Caching
✔ a hierarchy of k levels ✔ a client request is forwarded up in the
✔ a copy of the requested object is then stored in
Page 23 of 24
Web Caching
✔ assumes a total of m caches cumulatively
✔ upon a request for an URL the client
✔ if the cache has the URL the page is returned
Page 24 of 24
Web Caching
✔ a total of m caches serving cumulatively a
✔ the population is partitioned into
✔ each cache maintains a directory that
✔ when a client request can not be served by a