Performance Evaluation of Web Proxy Cache Replacement Policies Orit Brimer Ravit krayif Sigal ishay.

Slides:



Advertisements
Similar presentations
Cache Replacement Algorithm Outline Exiting document replacement algorithm Squids cache replacement algorithm Ideal Problem.
Advertisements

A Survey of Web Cache Replacement Strategies Stefan Podlipnig, Laszlo Boszormenyl University Klagenfurt ACM Computing Surveys, December 2003 Presenter:
Network Simulation One tool to simulation network protocols for the Internet is the network simulator (NS) The simulation environment needs to be set-
Ns-2 Tutorial Exercise (1) Multimedia Networking Group, The Department of Computer Science, UVA Jianping Wang Adopted from Nicolas’s slides Jianping Wang,
October 15, 2002MASCOTS WebTraff: A GUI for Web Proxy Cache Workload Modeling and Analysis Nayden Markatchev Carey Williamson Department of Computer.
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.
1 11 Web Caching Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB CACHING  Cache Definition  Goals of Web Caching  Motivations for.
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.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
Reinforcement Learning Rafy Michaeli Assaf Naor Supervisor: Yaakov Engel Visit project’s home page at: FOR.
Improving Proxy Cache Performance: Analysis of Three Replacement Policies Dilley, J.; Arlitt, M. A journal paper of IEEE Internet Computing, Volume: 3.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Web Cache Behavior The Laboratory of Computer Communication and Networking Submitted by: Lena Vardit Liraz
Improving Proxy Cache Performance: Analysis of Three Replacement Policies John Dilley and Martin Arlitt IEEE internet computing volume3 Nov-Dec 1999 Chun-Fu.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Exploiting Content Localities for Efficient Search in P2P Systems Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang 1 1 College of William and Mary,
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
ICNP'061 Benefit-based Data Caching in Ad Hoc Networks Bin Tang, Himanshu Gupta and Samir Das Department of Computer Science Stony Brook University.
Adaptive Content Management in Structured P2P Communities Jussi Kangasharju Keith W. Ross David A. Turner.
Submitting: Barak Pinhas Gil Fiss Laurent Levy
Internet Cache Pollution Attacks and Countermeasures Yan Gao, Leiwen Deng, Aleksandar Kuzmanovic, and Yan Chen Electrical Engineering and Computer Science.
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.
A Hybrid Caching Strategy for Streaming Media Files Jussara M. Almeida Derek L. Eager Mary K. Vernon University of Wisconsin-Madison University of Saskatchewan.
Proxy Caching the Estimates Page Load Delays Roland P. Wooster and Marc Abrams Network Research Group, Computer Science Department, Virginia Tech 元智大學.
A Case for Delay-conscious Caching of Web Documents Peter Scheuermann, Junho Shim, Radek Vingralek Department of Electrical and Computer Engineering Northwestern.
Caching And Prefetching For Web Content Distribution Presented By:- Harpreet Singh Sidong Zeng ECE Fall 2007.
Wide Web Load Balancing Algorithm Design Yingfang Zhang.
Web Caching Schemes For The Internet – cont. By Jia Wang.
Evaluating Content Management Techniques for Web Proxy Caches Martin Arlitt, Ludmila Cherkasova, John Dilley, Rich Friedrich and Tai Jin Hewlett-Packard.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Locality-Aware Request Distribution in Cluster-based Network Servers Presented by: Kevin Boos Authors: Vivek S. Pai, Mohit Aron, et al. Rice University.
By Ravi Shankar Dubasi Sivani Kavuri A Popularity-Based Prediction Model for Web Prefetching.
1 Ekow J. Otoo Frank Olken Arie Shoshani Adaptive File Caching in Distributed Systems.
Achieving Load Balance and Effective Caching in Clustered Web Servers Richard B. Bunt Derek L. Eager Gregory M. Oster Carey L. Williamson Department of.
Hybrid Prefetching for WWW Proxy Servers Yui-Wen Horng, Wen-Jou Lin, Hsing Mei Department of Computer Science and Information Engineering Fu Jen Catholic.
Modularizing B+-trees: Three-Level B+-trees Work Fine Shigero Sasaki* and Takuya Araki NEC Corporation * currently with 1st Nexpire Inc.
Lecturer: Ghadah Aldehim
CH2 System models.
Web Cache Replacement Policies: Properties, Limitations and Implications Fabrício Benevenuto, Fernando Duarte, Virgílio Almeida, Jussara Almeida Computer.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
1 On the Placement of Web Server Replicas Lili Qiu, Microsoft Research Venkata N. Padmanabhan, Microsoft Research Geoffrey M. Voelker, UCSD IEEE INFOCOM’2001,
« Performance of Compressed Inverted List Caching in Search Engines » Proceedings of the International World Wide Web Conference Commitee, Beijing 2008)
Sharing Information across Congestion Windows CSE222A Project Presentation March 15, 2005 Apurva Sharma.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Proxy Cache and YOU By Stuart H. Schwartz. What is cache anyway? The general idea of cache is simple… Buffer data from a slow, large source within a (usually)
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
An Effective Disk Caching Algorithm in Data Grid Why Disk Caching in Data Grids?  It takes a long latency (up to several minutes) to load data from a.
1 UNIT 13 The World Wide Web Lecturer: Kholood Baselm.
Efficient P2P Search by Exploiting Localities in Peer Community and Individual Peers A DISC’04 paper Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments IEEE Infocom, 1999 Anja Feldmann et.al. AT&T Research Lab 발표자 : 임 민 열, DB lab,
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
An Overview of Proxy Caching Algorithms Haifeng Wang.
Data Consolidation: A Task Scheduling and Data Migration Technique for Grid Networks Author: P. Kokkinos, K. Christodoulopoulos, A. Kretsis, and E. Varvarigos.
On the Placement of Web Server Replicas Yu Cai. Paper On the Placement of Web Server Replicas Lili Qiu, Venkata N. Padmanabhan, Geoffrey M. Voelker Infocom.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
1 UNIT 13 The World Wide Web. Introduction 2 Agenda The World Wide Web Search Engines Video Streaming 3.
1 UNIT 13 The World Wide Web. Introduction 2 The World Wide Web: ▫ Commonly referred to as WWW or the Web. ▫ Is a service on the Internet. It consists.
Page Replacement FIFO, LIFO, LRU, NUR, Second chance
The Impact of Replacement Granularity on Video Caching
Memory Management 6/20/ :27 PM
Web Caching? Web Caching:.
Chapter 9: Virtual-Memory Management
Presentation transcript:

Performance Evaluation of Web Proxy Cache Replacement Policies Orit Brimer Ravit krayif Sigal ishay

Introduction  The World-Wide Web has grown tremendously in the past few years to become the most significant source of traffic on the Internet today.  This growth has led to overloaded Web servers, network congestion and an increase in the response time observed by the client..  Caching of web documents is widely used to reduce both latency and network traffic in accessing data.

Web proxy servers  A proxy server is a server that acts as an intermediary between a workstation user and the Internet so that the enterprise can ensure security, administrative control, and caching service..  Web proxy servers that cache documents can potentially improve performance in three ways: Reduce the latency that an end user experiences in retrieving a web page. Lower the volume of network traffic resulting from web pages requests Reduce the number of requests that reach popular servers.

How does a web proxy work?  A proxy server receives a request for an Internet service (such as a Web page request) from a user.  the proxy server looks in its local cache of previously downloaded Web pages.  If it finds the page, it returns it to the user without needing to forward the request to the Internet – Cache hit! Cache miss!  If the page is not in the cache, the proxy server, acting as a client on behalf of the user, request the page from the server –

How does a web proxy work? (cont.) ClientsProxy CacheServers Hits Misses Internet  When the page is returned, the proxy server relates it to the original request and forwards it on to the user.

Cache Replacement Policy  Since the proxy has finite storage, some strategy must be devised to periodically replace documents in favor of more popular ones.  The replacement policy decides which web pages are cached and which web pages are replaced, therefore it affects which future requests will be cache hits.  The cache’s replacement policy no doubt plays an important role in a cache’s performance.

Project Goal  Design and implement a web proxy cache simulator in order to test several different replacement policies and other parameters.  Evaluate the performance of the web proxy cache for each parameter by the following metrics: Hit rate Byte hit rate Response time

How does the simulation work?  Client’s requests are simulated by the Prowgen simulator.  The proxy simulator attempts to fulfill the request from among the web pages stored in its cache. If the requested web page is found (a cache hit) the proxy can immediately respond to the client’s request, hit rate and byte hit rate are updated. If the requested web page is not found (a cache miss) the proxy then should retrieve the web page from the origin server- the miss is written in the input file for the NS.  Start the NS simulator which simulates the transfer of the pages from the servers to the proxy.

CLIENTS WEB PROXY WEB SERVERS Request for Web page Simulated by the Prowgen simulator Simulated by the NS simulator Cache HIT Cache MISS Request for web page The requested web page is saved in the cache.

ProwGen simulator  ProwGen is a synthetic web proxy workload generator.  The workload generator incorporates five selected workload characteristics which are relevant to caching performance: one – time referencing file popularity file size distribution correlation between file size and popularity temporal locality

ProwGen simulator (cont.)  The ProwGen is used in our project to create trace file with about requests.  Each request simulated by the ProwGen has an id and page size.  the proxy simulator maps the id to the server that holds this page and adds time of arrival for each request.  The time of arrival has exponential distribution with  An example of the requests file: Time of arrival Server number Page size

NS simulator  What is NS? NS is a discrete event simulator targeted at networking research. NS is a multiprotocol simulator that implements unicast and multicast routing algorithms, transport and session protocols.  What is good for? Evaluate performance of existing network protocols, thus Protocols can be compared. Prototyping and evaluation of new protocols. Large-scale simulations not possible in real experiments.

Using NS in our project Simulation script flow:  Create the event scheduler  Create network configuration  Create transport connection – TCP connections  Create traffic on top of TCP – FTP application  Transmit application-level data Input files:  nsRand- this file contains the parameters for creating the network topology.  nsout – the file with the requests that were not in the cache. this file contains: 1. server number 2. page size 3. the arrival time of the request.

Using NS in our project (cont.) Creating network Configuration:  The network topology in our project is star topology, the web proxy is connected to each server with duplex link.  The topology is given as an input file for the ns script. It is defined by the following parameters: 1. Number of servers for each duplex link we define: 2. Delay – random parameter between ms. 3. Bandwidth –random parameter between 1-10 Mb.

NAM visualization for network configuration

Using NS in our project (cont.) Creating connections and traffic:  The NS parse the input file and for each miss open a TCP session with the origin server and retrieve the file from it.  The pages are transferred from the servers to the proxy by using FTP application.  The NS create an output file that contain the retrieval time of each request.  This is done by defining a special procedure which is called automatically at the end of each session.  The retrieval time of the request is dependent on the link attributes and has an affect on the web proxy performance.  We compare this time for each replacement algorithm

The procedure done: Agent/TCP instproc done {} {global tcpsrc NodeNb ns ftp Out tcp_snk totalSum PR # print in $Out: node, session, start time, end time, duration, # trans-pkts, transm-bytes, retrans-bytes, throughput-how many bytes #transffered per second. set duration [expr [$ns now] - [$self set starts] ] #k is the source node set k [$self set node] #l is the number of the session. set l [$self set sess]set totalSum [expr $totalSum + $duration] #ndatapack_ is the number of packets transmitted by the connection. #ndatadbytes_ is the number of data bytes transmitted by the connection. #nrexmitbytes_ is the number of bytes retransmitted by the connection. puts $Out "$k \t $l \t [$self set starts] \t\ [$ns now] \t $duration \t [$self set ndatapack_] \t\ [$self set ndatabytes_] \t [$self set nrexmitbytes_]" } An example for the code from the tcl script

Pruning Algorithms  We describe several cache replacement algorithms proposed in recent studies, which attempt to minimize various cost metrics such as miss ratio, byte miss ratio, average latency, and total cost.  These algorithms will be used in our simulation and will be compared at the end of the simulation.  In our implementation, each page has a pruning value field and this field holds varying information according to the specific pruning algorithm.  The html pages are sorted according to this field – and therefore the pruning is very simple and similar for almost all algorithms.  The following algorithms were implemented and tested:.

LRU-Least Recently Used  LRU evicts the document which was requested the least recently.  It is based on the observation that documents, which have been referenced in the recent past, will likely be referenced again in the near future.  We implemented this algorithm by holding a time stamp in the pruning value field of the page.  When a page in the cache is accessed, the value of this field is set to the current time.  The page with the lowest time stamp will be replaced.

LFU-Least Frequently Used  The Least Frequently Used policy maintains a reference count for every object in the cache.  The object with the lowest reference count is selected for replacement.  The motivation for this algorithm is that some pages are accessed more frequently than others so that the reference counts can be used as an estimate of the probability of a page being referenced.  The page with the lowest probability to be referenced again will be replaced.

Hybrid Algorithm  HYB algorithm purpose is to answer the need of minimize the time that end users wait for a document to load.  HYB is a hybrid of several factors, considering not only download time but also number of references to a document and document size.  Each server in the serversDB holds the bandwidth and delay of the link which connects it to the proxy.  HYB selects for replacement the document i with the lowest value of the following expression: (clat ser(i) + W B /cbw ser(i) )(nref i * W N )/ s i clat – estimated latency (time) to open a connection to the server. cbw - bandwidth of the connection (in Mega Bytes/second). nref i - number of references to document i since it last entered the cache. s i - the size in bytes of document i. W B and W N are constants.

GreedyDual-Size  This algorithm combines locality, size and latency/cost concerns effectively to achieve the best overall performance.  The algorithm associates a value, H, with each cached page p.  Initially, when a page is brought into cache, H is set to be the cost of bringing the page into the cache.  When a replacement needs to be made, the page with the lowest H value is replaced, and all pages reduce their H values by minH.  If a page is accessed, its H value is restored to the cost of bringing it into the cache.  Thus, the H values of recently accessed pages retain a larger portion of the original cost than those of pages that have not been accessed for a long time.  GreedyDual-size selects for replacement the document i with the lowest value of the following expression: (clat ser(i) + 1/cbw ser(i) )/ s i

Size  The Size policy, designed specifically for web proxy caches, removes the largest object from the cache when space is needed for a new object.  We implemented this algorithm by holding the page size in the pruning value field of the page.

Data Structures struct HtmlPage { long int id; long int size; double prunningValue; int reference; long int timeStamp; HtmlPage next; };  The WebProxy holds a cache which is implemented as a sorted list of HtmlPages. struct WebProxy { List* cache; double currMemory; long int proxyHits; double byteHits; double inflationVal; };

Data Structures (cont.) struct WebServer { /*the index in the servers array */ int sNum; double bandwidth; int delay; };  We hold an array of WebServers.  Each WebServer holds information about the delay and bandwidth of the link that connects him to the proxy.

Basic Implementation The program consists of several stages:  Creating random values for the network configuration.  Read request by request from a trace file created by the ProwGen.  For each request: It first checks if the page is stored in its cache. If so, records a proxy hit. Update the pruning value of the page according to the pruning algorithm. If the page is not in the cache, a miss is recorded. The request is written to the misses file. The WebProxy creates a new page and update its pruning value according to the pruning algorithm. The WebProxy checks if there is enough memory in the cache for this page.

Basic Implementation (cont.) If not, it removes pages from the cache according to the pruning algorithm, in such a way that the occupied memory in the cache after inserting the new page, will not exceed TRESHOLD * CACHE_SIZE. The page is cached.

Performance analysis  This section evaluates the performance of the web proxy cache for each replacement policy.  We examined the replacement policies for different cache size: 4,8,16,32,64,128,256 (MB).  The simulations were executed in two different network topologies : 20 and 100 servers.  In this study we use three metrics to evaluate the performance of the proxy cache: Hit rate - percentage of all requests that can be satisfied by searching the cache for a copy of the requested object. Byte hit rate - the percentage of all data that is transferred directly from the cache rather than from the origin server. Average response time – the average time that takes to bring a web page that caused cache miss.

Hit Rate  The following table show the Hit rate of the tested algorithms.  Network configuration: 20 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB MB

Analyze results  As we expected GREEDY and HYBREED algorithms show the best Hit rate (were designed to maximize hit rate).  The graph shows that the hit rate grows as the cache size grows, but the sloap is decreasing start from cache size of 64 MB.

Byte Hit Rate  The following table show the Byte Hit rate of the tested algorithms.  Network configuration: 20 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB MB

Analyze results  SIZE gets the lowest Byte Hit rate. This result is not surprising since SIZE removes from the cache pages with the biggest size.  GREEDY and HYBRID also consider the size of the page when calculating the pruning value of the page, therefore these algorithms do not achieve the best Byte Hit rate.

Average time per request  The following table show the average time per request of the tested algorithms.  Network configuration: 20 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB MB

Analyze results  SIZE gets the lowest average time per request. This result is not surprising since SIZE showed the worst Byte Hit ratio.  GREEDY and HYBRID show the best result although they don’t have an optimal Byte Hit ratio, this is because they take into consideration the cost (delay and bandwidth) of bringing a page from origin server. In addition they showed the best Hit rate which also effects this metric results.

Hit Rate  The following table show the Hit rate of the tested algorithms.  Network configuration: 100 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB

Analyze results  GREEDY and HYBREED algorithms still show the best Hit rate.  As expected, changing the network configuration did not influence the Hit rate.

Byte Hit Rate  The following table show the Byte Hit rate of the tested algorithms.  Network configuration: 100 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB

Analyze results  As in the graph for 20 servers network configuration,SIZE gets the lowest Byte Hit rate.  GREEDY and HYBRID also consider the size of the page when calculating the pruning value of the page, therefore these algorithms do not achieve the best Byte Hit rate.

Average time per request  The following table show the average time per request of the tested algorithms.  Network configuration: 100 servers in a star topology. GREEDYHYBRIDSIZELFULRU MB MB MB MB MB MB

Analyze results  GREEDY and HYBRID give the lowest average time per request.  These are the expected results since they are the only algorithms that consider the cost of retrieving a page from an origin server.  In this network configuration the difference between GREEDY and HYBRID algorithms to the others is obvious.

conclusions  The algorithm that gives the best results for all metrics is GREEDY!!! Best Hit rate Best average time per request  The algorithm that gives the worse results is SIZE. Worse Byte Hit rate Worse average time per request.  LRU and LFU gives the best Byte Hit rate. This can be explained by the fact that these are the only algorithms that do not take into account page size.

conclusions (cont.)  HYBRID algorithm shows good performance in the following metrics: Hit rate average time per request BUT in all the metrics, GREEDY shows better results.  For all the tested algorithms, the Hit rate improved significantly when the cache size increases from 4MB-64MB. From this point the improvement is much more moderate.