Elsevier

Computer Networks

Volume 49, Issue 4, 15 November 2005, Pages 492-511
Computer Networks

Hybrid cooperative schemes for scalable and stable performance of Web content delivery

https://doi.org/10.1016/j.comnet.2005.01.015Get rights and content

Abstract

Systems consisting of multiple edge servers are a popular solution to deal with performance and network resource utilization problems related to the growth of the Web. After a first period of prevalent enthusiasm towards cooperating edge servers, the research community is exploring in a more systematic way the real benefits and limitations of cooperative caching. Hierarchical cooperation has clearly shown its limits. We show that the “pure” protocols (e.g., directory-based, query-based) applied to a flat cooperation topology do not scale as well. For increasing numbers of cooperating edge servers, the amount of exchanged data necessary for cooperation augments exponentially, or the cache hit rates fall down, or both events occur. We propose and evaluate two hybrid cooperation schemes for document discovery and delivery. They are based on a semi-flat architecture that organizes the edge servers in groups and combines directory-based and query-based cooperation protocols. A large set of experimental results confirms that the combination of directory-based and query-based schemes increases the scalability of flat architectures based on “pure” protocols, guarantees more stable performance and tends to reduce pathologically long response times.

Introduction

Web caching has evolved as the first way to address Web server and network resource utilization issues related to the growth of HTTP requests. The initial idea of using one edge server shows very low cache hit rates even in a context of homogeneous users. The proposed solutions aim to establish interactions among various cooperating edge servers. Global caching or cooperative caching architectures are used by public organizations (e.g., IRCache [1], NLANR [2]). The same basic idea of sharing Web resources among multiple servers can also be used by Internet Service Providers and by third party companies, such as Content Delivery Networks (e.g., Akamai [3], Speedera [4]).

After a first period of prevalent enthusiasm towards cooperating edge servers, the research community is exploring in a more systematic way the real benefits and limitations of cooperation. While there is no doubt that Web caching improves performance when applied to a limited working set [5] (for example, successful CDN companies apply some sort of Web caching only to content of their customer sites), the debate is open over the benefits of cooperation when applied to the entire Web content. We will consider the main results in Section 7, which discusses the related work.

In this paper, we focus on cooperative schemes for resource discovery and delivery that are traditionally based on two classes of “pure” protocols coming from the theory on distributed systems: query-based [6], [7], [8] and directory-based protocols [9], [10]. We claim and demonstrate that any “pure” protocol is affected by some or all of the following drawbacks: limited scalability, the cooperation overhead increases more than linearly for higher number of cooperative nodes, the performance (especially cache hit rates) is unstable because too much dependent on the workload/system characteristics.

Hence, we propose and evaluate two main hybrid cooperation protocols (and a variant of both of them) that are based on a semi-flat organization of the edge servers. The idea is to improve cache hit rates, to achieve more stable performance and to reduce pathological delays [11] by splitting the resource discovery process in two steps and combining “pure” query-based and directory-based protocols. To this purpose we organize the cooperating edge servers in subsets belonging to two aggregation levels. The first level aggregates edge servers in “groups” that are created on the basis of physical characteristics of the interconnections among the nodes. The second level aggregates edge servers in “subsets” containing at least one representative node for each group. The idea is to allow a global lookup of the resource, without having to contact each edge server. We have implemented a prototype for each proposed scheme by modifying the Squid software [12].

Although we can agree with the results of Wolman et al. [13] about the limited improvement of cache hit rates in very large-scale collaborative Web caching, we should consider that cache hit rate is not the only measure of interest [11]. To this purpose, we find that hybrid cooperation schemes applied to a semi-flat topology can successfully reduce network traffic (especially over wide area links) without penalizing other metrics of interest for the end user. The schemes proposed in this paper show a better scalability than the “pure” protocols because they save network bandwidth for cooperation (one order of magnitude less than query-based protocols), guarantee same response time of query-based protocols, and do not penalize cache hit rates as it occurs to directory-based protocols applied to a flat topology of many cooperating edge servers. Furthermore they reduce the variance of the response times. The proposed protocols also show a much better stability than the “pure” protocols because their performance results are insensitive to network and workload characteristics.

The rest of this paper is organized as following. Section 2 shows the limits of the “pure” cooperation schemes. Section 3 gives qualitative motivations for the choice of the proposed cooperation schemes. Section 4 describes the hybrid cooperation protocols proposed in this paper. Section 5 describes the workload models used in the experiments. Section 6 reports the experimental results showing that hybrid protocols are the most viable solution for the performance stability of cooperative Web caching even over large numbers of cooperating edge servers. Section 7 discusses the related work. Finally, Section 8 presents some conclusions.

Section snippets

Limits of pure cooperation schemes

There are two main knobs to be handled in the design of a cooperation scheme among multiple edge servers: cooperation topology and cooperation protocol. Cooperation can be established along a vertical direction, namely hierarchical Web caching descending from the Harvest project [14], or along an horizontal direction, namely flat or distributed Web caching [15]. In hierarchical architectures, a cache miss will result in looking for the resource to an upper level edge server [16]. In flat

Two-tier architectures for resource discovery

Let us now focus on two-tier architectures for resource discovery. The key idea behind two-tier architectures is to provide a lookup mechanism that can carry out a discovery task over a set of edge servers without the need to contact every node in the set. This idea brings the need of a two-tier organization of the edge servers and we also need a protocol to take advantage of this two-tier topology. The idea behind a two-tier architecture influences both the node topology organization and the

Two-tier cooperation protocols

In this section we consider two hybrid protocols and a variation of both of them: InterQ–IntraS, InterQ–IntraS-DM and InterS–IntraQ with its variant. Each protocol name denotes the two schemes that are used for intra- and inter-group cooperation. For instance, InterQ–IntraS denotes the protocol that uses a query-based and a summary-based schema for inter- and intra-group cooperation, respectively.

Let us introduce some definitions we will use throughout the paper. A client request reaching an

Workload models for performance evaluation

The difficulty of defining a “typical” workload model is a well known issue, because studies on real traces show great differences. For the experiments, we prefer to use two synthetic workload models generated by Web-Polygraph version 2.5 [24]. They intend to capture two “realistic” Internet scenarios, that are based on the model proposed for the second cache-off by IRCACHE [1]. The basic workload is characterized by a high recurrence (that is, the probability that a resource is requested more

Performance evaluation of hybrid cooperation schemes

The InterQ–IntraS, InterS–IntraQ and InterQ–IntraS-DM cooperation architectures are implemented as modifications of the Squid 2.4 software [12]. All prototypes were extensively tested to verify their scalability and to compare the stability of their performance with that of the “pure” query-based and summary-based protocols. The first set of experiments, carried out with edge servers placed on the same network segment, focuses on cache hit rates, cooperation overheads, and sensitivity to other

Related work

Cooperative Web caching has been studied for a long period. Cooperation can be used for different goals, but here we are mainly interested to resource discovery, retrieval and delivery. The first idea for cooperation was the use of a hierarchy based on the physical Internet topology [14]. In this approach, the phases of discovery and delivery are simultaneous. However, hierarchical cooperation shows multiple drawbacks especially for the lookup latency [17], and management issues [25].

Some of

Conclusions

Web caching has evolved as the first way to address Web server and network resource utilization issues related to the growth of HTTP requests. The initial idea of using one edge server shows very low cache hit rates even in a context of homogeneous users. Thus, cooperative caching has been introduced to establish interactions among various cooperating edge servers. We point out the limits of scalability and stability of “pure” query-based and summary-based protocols for cooperative resource

Acknowledgements

The authors would like to thank the reviewers for their valuable comments which were helpful in preparing the final version of the paper. They also acknowledge the support of MIUR-FIRB funds in the framework of the project “Web-MINDS”.

Riccardo Lancellotti received the Laurea and the Ph.D. degrees in computer engineering from the University of Modena and from the University of Roma “Tor Vergata”, respectively. He is currently a Researcher in the Department of Information Engineering at the University of Modena, Italy. In 2003, he spent eight months at the IBM T.J. Watson Research Center as a visiting researcher. His research interests include scalable architectures for Web content delivery and adaptation, peer-to-peer

References (31)

  • P.S. Yu et al.

    Performance study of a collaborative method for hierarchical caching in proxy servers

    Computer Networks and ISDN Systems

    (1998)
  • IRCache, Ircache Project, <http://www.ircache.net>,...
  • NLANR, National Laboratory for Applied Network Research, <http://www.nlanr.net>,...
  • Akamai, Akamai Inc., <http://www.akamai.com>,...
  • Speedera, Speedera Inc., <http://www.speedera.com>,...
  • B. Krishnamurthy, C. Wills, Y. Zhang, On the use and performance of content distribution networks, in: Proc. Internet...
  • D. Wessels, K. Claffy, ICP and the squid Web cache, August...
  • D. Wessels, K. Claffy, Internet cache protocol (ICP), version 2, RFC 2186, September...
  • D. Wessels, K. Claffy, Application of Internet cache protocol (ICP), version 2, RFC 2187, September...
  • A. Rousskov et al.

    Cache digests

    Computer Networks and ISDN Systems

    (1988)
  • L. Fan, P. Cao, J. Almeida, A.Z. Broder, Summary cache: a scalable wide-area Web cache sharing protocol, in: Proc. of...
  • S.G. Dykes et al.

    Limitations and benefits of cooperative proxy caching

    IEEE Journal on Selected Areas in Communication

    (2002)
  • D. Wessels, Squid Programmers Guide,...
  • A. Wolman, G.M. Voelker, N. Sharma, N. Cardwell, A. Karlin, H.M. Levy, On the scale and performance of cooperative Web...
  • A. Chankhunthod, M. Schwartz, P. Danzig, K. Worrell, C. Neerdaels, A hierarchical Internet object cache, in: Proc of...
  • Riccardo Lancellotti received the Laurea and the Ph.D. degrees in computer engineering from the University of Modena and from the University of Roma “Tor Vergata”, respectively. He is currently a Researcher in the Department of Information Engineering at the University of Modena, Italy. In 2003, he spent eight months at the IBM T.J. Watson Research Center as a visiting researcher. His research interests include scalable architectures for Web content delivery and adaptation, peer-to-peer systems, distributed systems, performance evaluation and benchmarking. He is a member of the IEEE Computer Society. For additional details, see http://weblab.ing.unimo.it/people/riccardo.

    Francesca Mazzoni received the Laurea degree in computer engineering from the University of Modena in June 2002. She is currently pursuing a Ph.D. degree at the Department of Information Engineering of the University of Modena, Italy. Her research interests include scalable architectures for Web content delivery, adaptation and personalization, distributed systems. For additional details, see http://weblab.ing.unimo.it/people/framazz.

    Michele Colajanni is a Full Professor of computer engineering at the Department of Information Engineering of the University of Modena. He was formerly an Associate Professor at the same University in the period 1998-2000, and a Researcher at the University of Roma Tor Vergata. He received the Laurea degree in computer science from the University of Pisa in 1987, and the Ph.D. degree in computer engineering from the University of Roma Tor Vergata in 1991. He has held computer science research appointments with the National Research Council (CNR), visiting scientist appointments with the IBM T.J. Watson Research Center, Yorktown Heights, New York. In 1997 he was awarded by the National Research Council for the results of his research activities on high performance Web systems during his sabbatical year spent at the IBM T.J. Watson Research Center. His research interests include scalable Web systems and infrastructures, parallel and distributed systems, performance analysis, benchmarking and simulation. In these fields he has published more than 100 papers in international journals, book chapters and conference proceedings, in addition to several national conferences. He has lectured in national and international seminars and conferences. He serves as a permanent reviewer of international technical journals and international research projects. He has served as a member of organizing or program committees of national and international conferences on system modeling, performance analysis, parallel computing, and Web-based systems. He is the scientific responsible of national projects on high performance Web-based systems and benchmarking. He is a member of the IEEE Computer Society and the ACM. For additional details, see http://weblab.ing.unimo.it/people/colajanni.

    View full text