Dr. Yingwu Zhu Summary Cache : A Scalable Wide- Area Web Cache Sharing Protocol.

Slides:



Advertisements
Similar presentations
Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol Li Fan, Pei Cao and Jussara Almeida University of Wisconsin-Madison Andrei Broder Compaq/DEC.
Advertisements

Cloud Control with Distributed Rate Limiting Raghaven et all Presented by: Brian Card CS Fall Kinicki 1.
What’s the Problem Web Server 1 Web Server N Web system played an essential role in Proving and Retrieve information. Cause Overloaded Status and Longer.
Latency-sensitive hashing for collaborative Web caching Presented by: Xin Qi Yong Yang 09/04/2002.
Cooperative Caching of Dynamic Content on a Distributed Web Server Vegard Holmedahl, Ben Smith, Tao Yang Speaker: SeungLak Choi, DB Lab., CS Dept.
Hit or Miss ? !!!.  Cache RAM is high-speed memory (usually SRAM).  The Cache stores frequently requested data.  If the CPU needs data, it will check.
CSC1016 Coursework Clarification Derek Mortimer March 2010.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol By Abuzafor Rasal and Vinoth Rayappan.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Collaborative Web Caching Based on Proxy Affinities Jiong Yang, Wei Wang in T. J.Watson Research Center Richard Muntz in Computer Science Department of.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Web Caching Robert Grimm New York University. Before We Get Started  Illustrating Results  Type Theory 101.
Squirrel: A decentralized peer- to-peer web cache Paul Burstein 10/27/2003.
Web-Conscious Storage Management for Web Proxies Evangelos P. Markatos, Dionisios N. Pnevmatikatos, Member, IEEE, Michail D. Flouris, and Manolis G. H.
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Web Caching Schemes For The Internet – cont. By Jia Wang.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
CS252/Patterson Lec /28/01 CS 213 Lecture 10: Multiprocessor 3: Directory Organization.
New Protocols for Remote File Synchronization Based on Erasure Codes Utku Irmak Svilen Mihaylov Torsten Suel Polytechnic University.
Local Area Networks (LAN) are small networks, with a short distance for the cables to run, typically a room, a floor, or a building. - LANs are limited.
Web Cache Replacement Policies: Properties, Limitations and Implications Fabrício Benevenuto, Fernando Duarte, Virgílio Almeida, Jussara Almeida Computer.
Web Prefetching Between Low-Bandwidth Clients and Proxies : Potential and Performance Li Fan, Pei Cao and Wei Lin Quinn Jacobson (University of Wisconsin-Madsion)
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
Web Performance 성민영 SNU Computer Systems lab.. 2 차례 4 Modeling the Performance of HTTP Over Several Transport Protocols. 4 Summary Cache : A Scaleable.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Increasing Web Server Throughput with Network Interface Data Caching October 9, 2002 Hyong-youb Kim, Vijay S. Pai, and Scott Rixner Rice Computer Architecture.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
ICP and the Squid Web Cache Duanc Wessels k Claffy August 13, 1997 元智大學系統實驗室 宮春富 2000/01/26.
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
On The Cooperation of Web Clients and Proxy Caches Yiu Fai Sit, Francis C.M. Lau, Cho-Li Wang Department of Computer Science The University of Hong Kong.
Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments IEEE Infocom, 1999 Anja Feldmann et.al. AT&T Research Lab 발표자 : 임 민 열, DB lab,
ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
Energy-Efficient Data Caching and Prefetching for Mobile Devices Based on Utility Huaping Shen, Mohan Kumar, Sajal K. Das, and Zhijun Wang P 邱仁傑.
Network Computing Laboratory 1 Vivaldi: A Decentralized Network Coordinate System Authors: Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris MIT Published.
MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation.
Computer Science Lecture 3, page 1 CS677: Distributed OS Last Class: Communication in Distributed Systems Structured or unstructured? Addressing? Blocking/non-blocking?
Cache Digest Alex Rousskov Duane Wessels National Laboratory for Applied Network Research April 17, 1998 元智大學 資訊工程研究所 系統實驗室 陳桂慧 February 9, 1999.
Project Summary Fair and High Throughput Cache Partitioning Scheme for CMPs Shibdas Bandyopadhyay Dept of CISE University of Florida.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Internet Cache Protocol Erez Tal Assaf Oren Avner Cohen Submission Date: 5/2/01 Guides: Ran Wolff and Itai Dabran.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
On the scale and performance of cooperative Web proxy caching 2/3/06.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Ahoy: A Proximity-Based Discovery Protocol Robbert Haarman.
CSC 4250 Computer Architectures
Memory Management for Scalable Web Data Servers
Internet Networking recitation #12
Plethora: Infrastructure and System Design
Distributed File Systems
Distributed File Systems
Outline Announcements Lab2 Distributed File Systems 1/17/2019 COP5611.
Distributed File Systems
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Existing CDNs Fail to Address these Challenges
Lecture 1: Bloom Filters
Last Class: Communication in Distributed Systems
Presentation transcript:

Dr. Yingwu Zhu Summary Cache : A Scalable Wide- Area Web Cache Sharing Protocol

Contents Background and Problems Cache Cooperation ICP Summary Cache  Bloom Filters – the math  Bloom Filters as Summaries Evaluation Conclusions

Web Caching Picture Proxy Caches Users Regional Network Rest of Internet Bottleneck...

What we have and What to be done ? A single proxy cache serves a population  Many such proxy caches out there!  Can they cooperate as a single “large cache” to serve the aggregated population to increase hit ratio, reduce latency and bandwidth cost?  Proxy caches should cooperate and serve each other’s misses If so, how do we know which caches hold the requested objects that miss in current proxy cache?  Content location among cooperating caches?

ICP – What we have! Inter Cache Protocol (ICP)  First proposed in the context of the Harvest project  Supports discovery and retrieval of documents from neighboring caches

Cache Cooperation via ICP  When one proxy has a cache miss, send queries to all siblings (and parents): “do you have the URL?”  Whoever responds first with “Yes”, send a request to fetch the file  If no “Yes” response within certain time limit, send request to Web server Parent Cache (optional)

Cache Cooperation Types No cache sharing  Proxies do not collaborate Simple cache sharing (ICP-style)  Proxy caches the document locally from other proxies  Proxies do not coordinate cache replacement (each LRU) Single-copy cache sharing (global LRU)  Proxy not cache documents fetched from others  Proxy marks documents as most-recently-access Global cache  Proxy fully coordinate in servicing misses and cache replacement

What are the benefits of cache cooperation? Let Experiments showcase the benefits. Data traces used.

Traces and Simulations (1/2) Use five sets of traces of HTTP requests  Digital Equipment Corporation Web Proxy Server Traces (DEC)  Traces of HTTP request from the University of California at Berkeley Dial-IP service (UCB)  Traces of HTTP request made by users in the Computer Science Department, University of Pisa, Italy (UPisa)  Logs of HTTP GET requests seen by the parent proxies at Questnet, a regional network in Australia (Questnet)  One-day log of HTTP request to the four major parent proxies, “bo”, “pb”, “sd”, and “uc” in the National Web Cache gierarchy by National Lab of Applied Network Research (NLANR)

Traces and Simulations (2/2) Statistics about the traces  The maximum cache hit ratio and byte hit ratio are achieved with the infinite cache  Infinite cache size - Total size in bytes of unique documents in a trace  The other hit ratios are calculated assuming a cache size that is 10% of the infinite cache  All use LRU as the cache replacement algorithm  Restriction that documents larger than 250KB are not cached  Assuming that each group has its own proxy (splitting traces into groups)  Simulated the cache sharing among the proxies

Benefits of Cache Cooperation

What we got so far? Cache cooperation is good, even for simple cache cooperation! So we need collaboration among proxy caches! Now, we really need to address the issue  How can a proxy know its misses can be served by other cooperative proxies?  We know ICP can do that.  So turn our attention to ICP again!

ICP: Good but … ICP discovers cache hits in other proxies by having the proxy multicast a query message  Thus, as the number of proxies increases, both the communication and the processing overhead increase quadratically  T = N * (N-1)*(1-H)*R  T: Total ICP message  N: Number of Proxies  H: Hit rate  R: Average requests

Overhead of ICP Though the Internet Cache Protocol (ICP) has been successful at encouraging Web cache sharing around the world, it is not a scalable protocol  It relies on multicasting query messages to find remote cache hits  Every time one proxy has a cache miss, everyone else receives and processes a query message  As the number of collaborating proxies increases, the overhead quickly becomes prohibitive

Overhead of ICP Overhead of ICP in the four-proxy case  Environments  10 Sun Sparc-20 workstations connected with 100Mbps Ethernet  Four workstations act as four proxy systems running Squid , and each has 75MB of cache space  Four workstations run 120 client processes, 30 processes on each workstations  The client processes on each workstation connect to one of the proxies  Document sizes follow the Pareto distribution with α=1.1 and k=3.0  Two workstations act as servers, each with 15 servers listening on different ports

ICP: Overhead! Quantify the overhead of the ICP protocol, the number of proxies is 4  ICP increases the interproxy traffic by a factor of 70 to 90  CPU overhead by over 15%  Average user latency by up to 11%

Overhead of ICP The result highlight the dilemma faced by cache administrators  There are clear benefits of cache cooperation  But the overhead of ICP is high To address the problem, the authors proposed a new scalable protocol: “Summary Cache”

Alternatives to ICP Force all users to go through the same cache or the same ar ray of caches  Partition URLs among cooperating caches  Difficult in a wide-area environment Central directory server  Directory server can be a bottleneck Ideally, one wants a protocol: keeps the total cache hit ratio high minimizes inter-proxy traffic scales to a large number of proxies

Summary Cache Basic idea:  Let each proxy keep a directory of what URLs are cached in every other proxy, and use the directory as a filter to reduce number of queries Problem 1: keeping the directory up-to-date  Solution: delay and batch the updates => directory can be slightly out-of-date (trade freshness for #-of- msgs reducing) Problem 2: DRAM requirement  Solution: compress the directory => imprecise, but inclusive directory

Summary Cache Proxy a compact summary of the cache directory of other proxies  That is, the list of URLs of cached documents Only send query message to correct proxy When a cache miss occurs, a proxy first probes all the summaries The summaries do not need to be accurate at all times  A false hit, the penalty is a wasted query message  A false miss, the penalty is a higher miss ratio Two key questions in the design of the protocol  Frequency of summary updates  Representation of summary

Summary Cache Scalability of summaries  The key to the scalability of the scheme is that summaries do not have to be up-to-date or accurate  Summary does not have to be updated every time the cache directory is changed  The update can occur upon regular time intervals  Small size, which does not consume much memory

Summary Cache Two kinds of errors are tolerated  False misses  The document requested is cached at some other proxy but its summary does not reflect the fact  In this case  A remote cache hit is lost  The total hit ratio within the collection of caches is reduced  False hits  The documents requested is cached at some other proxy but its summary indicates that it is  The proxy will send a query message to the other proxy, only to be notified that the document is not cached there  In this case  A query message is wasted

Summary Cache A third kind of error, remote stale hits  Occurs in both summary cache and ICP  When a document is cached at another proxy, but the cached copy is stale Two factors limit the scalability of summary cache  Network overhead  Inter-proxy traffic  Memory required to store the summaries  For performance reasons, the summaries should be stored in DRAM, not on disk

Impact of Update Delays  ICP : No update delay  exact_dir : update delay increases (delay the updates until a certain percentage of the cached documents are “new”)

Summary Representation In practice, proxies typically have 8GB to 20GB of cache space If we assume 16 proxies of 8GB cache and file size of 8KB (16-byte MD5 per URL)  Exact-directory summary would consume = (16-1)*16*(8GB/8KB) = 240MB per proxy The requirement on an ideal summary representation  Small size, Inclusive, and low false hit ratio  Solution, “Bloom Filters”

Alternatives vs. Bloom Filters First try: use server URLs only  Problem: too many false hits, leading to too many messages between proxies Exact Directory  Problem: memory consuming, message size  Impractical!!! Bloom Filters:  Have the best of both!

Bloom Filters – the math If any of them is 0, then certainly b is not in the set A Otherwise we conjecture that b is in the set although there is a certain probability that we are wrong  False Positive (=> False Hit)  Clear tradeoff between m/n and the probability of a false positive

Bloom Filters: the Math Given n keys, how to choose m and k? Bit Vector v m bits Suppose m is fixed (>2n), choose k: k is optimal when exactly half of the bits are 0 => optimal k = ln(2) * m/n False positive ratio under optimal k is (1/2) k => false positive ratio = (1/2) ln2 * m/n = (0.62) m/n

Bloom Filters: the Practice Choosing hash functions  bits from MD5 signatures of URLs Maintaining the summary  the proxy maintains an array of counters  for each bit, the counter records how many times the bit is set to 1 Updating the summary  either the whole bit array or the positions of change d bits (delta encoding)

Bloom Filters as Summaries Total hit ratio under different summary representations m/n = 8, 16, 32

Bloom Filters as Summaries Ratio of false hits under different summary representations

Bloom Filters as Summaries Storage requirement (relative to infinite cache size)  In terms of percentage of proxy cache size, of the summary representations

Bloom Filters as Summaries Number of network messages per user request under different summary forms

Bloom Filters as Summaries Bytes of network messages per user request under different summary forms

Enhancing ICP with Summary Cache Prototype implemented in Squid Repeating the 4-proxy experiments, the new ICP:  Reduces UDP messages by a factor of 12 to 50 compared with the old ICP  Little increase in network packets over no cache sharing  increase CPU time by 2 - 7%  reduce user latency up to 4% with remote cache hits

Conclusion Summary Cache enhanced ICP Using trace-driven simulations and measurements Reduces the number of interproxy protocol message by factor of 25 to 60 Reduces the bandwidth consumption by over 50% Almost no degradation in the cache hit ratios Reduces CPU overhead between 30% to 95%

Questions