Web object-based storage management in proxy caches

https://doi.org/10.1016/j.future.2005.08.003Get rights and content

Abstract

Proxy caches are essential to improve the performance of the World Wide Web and to enhance user perceived latency. Appropriate cache management strategies are crucial to achieve these goals. In our previous work, we have introduced Web object-based caching policies. A Web object consists of the main HTML page and all of its constituent embedded files. Our studies have shown that these policies improve proxy cache performance substantially.

In this paper, we propose a new Web object-based policy to manage the storage system of a proxy cache. We propose two techniques to improve the storage system performance. The first technique is concerned with prefetching the related files belonging to a Web object, from the disk to main memory. This prefetching improves performance as most of the files can be provided from the main memory rather than from the proxy disk. The second technique stores the Web object members in contiguous disk blocks in order to reduce the disk access time. We used trace-driven simulations to study the performance improvements one can obtain with these two techniques. Our results show that the first technique by itself provides up to 50% reduction in hit latency, which is the delay involved in providing a hit document by the proxy. An additional 5% improvement can be obtained by incorporating the second technique.

Introduction

The growth of the World Wide Web (WWW) has motivated researchers to investigate techniques to improve its performance. Web caching is one of the common techniques used for performance improvement. Several strategies have been proposed for web caching including proxy caching [5], push caching [14] and Harvest caches [8]. In this paper we focus on proxy caching, in which one or more computers act as a cache for a set of WWW clients.

Proxy caching improves performance by reducing user latency in obtaining Web documents. The reason for this improvement is that proxy caches are typically closer to clients than to the web server. This proximity to clients also reduces network traffic. Furthermore, since the proxy serves most of the client requests, web server load decreases substantially, thereby improving its performance.

We introduced a Web object-based prefetching technique for proxy caches [3]. This technique takes the web document structure into account. A Web objectconsists of the main HTML page and all of its constituent embedded files. Our study of popular Web documents to characterize Web objects has shown that most Web objects are small in size and can therefore be cached effectively at proxy or client sites [4]. In the Web object-based cache policy, a reference to a member of a Web object is considered as a reference to all the members of the Web object. If the currently referenced file is not in the cache, it not only fetches the referenced file but also prefetches all the other members of the Web object into the proxy cache. Our studies have shown that this prefetching technique significantly improves the hit ratio without generating excessive network traffic [3]. In this research, the Web object concept is used to devise storage management policies for improving the performance of proxy caches.

In this paper we refer to the delay incurred in retrieving a hit document (i.e., a document present in the proxy) as hit latency. Most proxy caches use the main memory along with the disk as the cache. Hit latency is reduced if the proxy provides more documents from its main memory rather than from the disk. A recent study by Rousskov and Soloviev [28] reports that, for Squid [32], the disk delay contributes to about 30% of the total hit latency. Furthermore, recent research indicates that proxy servers spend more time on file-related activities [24]. For example, the results reported in [20] show that, on an average, several disk accesses are needed for each URL request. Thus, the disk subsystem may become a potential bottleneck in the proxies. Moreover, reducing the disk response time of a proxy reduces the latency of hit documents.

We have proposed two techniques to improve storage system performance of proxy caches. Both techniques are based on the concept of Web objects.

  • In the first technique, we use Web object-based prefetching to bring the related files from the disk to the main memory.

  • The second technique uses the Web object information to place the files in a Web object contiguously, so that the disk access time can be reduced.

To study the performance of the proposed technique, we have used trace-driven simulation using the DiskSim disk simulator [11] for three types of disk drives.

The remainder of the paper is organized as follows. Previous work on proxy cache storage management is briefly discussed in Section 2. The research methodology used in our experiments is given in Section 3. Section 4 gives an overview of the Web object-based caching policy. Section 5 presents details on the Web object-based storage management policy. Performance of Web object-based file placement is discussed in Section 6. Performance of Web object-based policy without prefectching is studied in Section 7. The impact of these policies on hit latency is discussed in Section 8. The last section presents our conclusions.

Section snippets

Related work

This paper is concerned with the improvement of proxy cache storage management through effective prefetching and replacement strategies as well as file clustering and allocation on the disk. Related work on these topics is presented in the following sections.

Research methodology

This research is based on trace-driven simulations. Simulation programs for the proposed techniques are written in Java and run with traces collected on real proxy caches. Our trace-driven simulation program uses two traces: UC3 and PB. These two traces belong to the proxy caches of IRCACHE that is managed by National Laboratory for Applied Network Research (NLANR). The UC3 trace is a log that belongs to a cache at the University of Illinois at Urbana-Champaign (UC). It is an entire access log

Web object-based cache policy

The storage management policy described in the next section is based on the Web object-based cache management policy proposed in [3], which is briefly reviewed in this section. As mentioned in Section 1, this policy considers a reference to a member of a Web object as a reference to all the members of the Web object. A Web object (not individual files) is used as a unit for prefetching and management.

If the currently referenced file is not in the cache, the Web object-based policy fetches the

Web object-based storage management policy

A document that is provided by the commonly used proxy applications such as Squid [32] or Apache [6] may exist either in the main memory or on the disk. The first step to reduce the latency of hit documents is to try to provide more documents from the main memory. For that reason we extend the Web object-based caching policy to efficiently manage the documents that exist in the proxy disk. In the proposed policy, we store Web objects instead of files in the proxy disk system. When a document is

Web object-based file placement policy

In this section, we look at how file placement affects the performance of proxy caches. In particular, we want to know how much additional improvement we can get by using consecutive placement of member files of a Web object over random placement.

Performance without prefetching

This section is motivated by the following question: How much performance benefit can we get if there is no prefetching between the proxy and the server? To answer this question, we focus only on the replacement component of the Web object-based policy with no prefetching between the server and the proxy. In this approach, the proxy only identifies the Web object members but does not prefetch them. We modified the program that was used for the simulation in Section 5.2. The modified WOLRU

Impact on proxy cache hit latency

Cache hit latency is defined as the delay involved in providing a hit document by a proxy cache. Cache hit latency is just a part of the total latency that is perceived by a client when the proxy serves the hit document. Note that the hit response time consists of the time for reading the client request after she/he has connected to the proxy (i.e., the delay from an accept() system call on the proxy to the receiving of the client HTTP request), the time for sending the document to the client,

Summary and conclusions

In this paper we investigated the Web object-based policy (WOLRU) for improving performance of proxy cache storage management. The proposed techniques do not require any special operating system or file system and can therefore be adapted by a variety of different cache management systems. By using the WOLRU storage management policy we can improve proxy cache performance by providing more of the hit documents from the main memory, as opposed to the disk. The reason for this improvement is that

Acknowledgments

Trace data used in our simulations were collected by the National Laboratory for Applied Network Research under National Science Foundation grants NCR-9616602 and NCR-951745. The disk simulator used to evaluate disk performance was DiskSim. DiskSim has been developed by G.R. Ganger at the University of Michigan to support research work on various aspects of the storage subsystem architecture. Financial support for this research was provided by Nortel Networks, Carleton University and Natural

References (34)

  • A. Abhari, Web object based policies for managing proxy caches, Ph.D. Thesis, School of Computer Science, Carleton...
  • A. Abhari et al.

    Characterization of web objects in popular web documents

  • A. Abhari, S. P. Dandamudi, S. Majumdar, Using Web object to improve the performance of proxy caching, in: Proceedings...
  • A. Abhari et al.

    Structural characterization of popular web documents

    Int. J. Comput. Appl.

    (2002)
  • M. Abrams et al.

    Caching proxies: limitations and potentials

  • Apache Software Foundation, Apache http server project. Available from...
  • A. Bestavros

    Using speculation to reduce server load and service time on the WWW

  • P. Bowman, D. Danzing, D. Hardy, U. Manber, M. Schwartz, D. Wesseles, Harvest: a scalable, customizable discovery and...
  • CacheFlow, Network Cache Performance Measurement, CacheFlow White Papers Version 2.1, September...
  • E. Cohen et al.

    Efficient algorithms for predicting requests to web servers

  • DISKSim. Available from...
  • E. Shriver et al.

    Storage management for web proxies

  • G.R. Ganger

    Generating representative synthetic workloads: an unsolved problem

  • J. Gwertzman, Autonomous replication in wide-area internetworks, B.A. Thesis, Center for Research in Computing...
  • J. Hine et al.

    Combining client knowledge and resource dependencies for improving World Wide Web performance

  • J.H. Howard et al.

    Scale and performance in a distributed file system

    ACM Trans. Comput. Syst.

    (1988)
  • IRCACHE, For details see...
  • Cited by (0)

    View full text