Building high-performance web-caching servers

World-Wide Web is one of the primary applications of Internet today. Web-caches can decrease bandwidth consumed by HTIP traffic and improve user experience by decreasing Web object retrieval latencies. Transparent web-caches can be used by organisations to intercept and cache all HTIP traffic without significant administrative expenses and therefore minimize traffic costs and improve filtering and monitoring capabilities. Internet Service Providers use en-route transparent Web-caching on their backbone communication links to decrease amount of HTIP traffic, which currently represents a major part of overall traffic. Web-caches are used in Content Delivery Networks to push content closer to end user, greatly improving latencies of object retrieval and reducing overall Internet traffic, at the same time offloading original Webserver. Web-caches are used in accelerator mode in high-volume Web-sites, decreasing overall cost of the Web-site and/or improving its scalability and performance. Though web-caches are often invisible at first glance, modem Internet in the form we see it today would be probably not possible without wide deployment of Web-caching technology. Deployment of web-caching technology gives immediate effect; performance of properly designed web-caching system can be improved step-by-step as needed. Building high-performance web-caches capable of serving multigigabit links is a challenging task. Web-caching system must be able to handle up to 16 000 user requests per second per every gigabit of traffic (for average object size of 8KB, 1 Gbps = 2°/(8'8'21°) = 214 requests per second). Total cache size must allow to store up to several days of HTIP traffic, which is impossible to store in RAM (due to the overall price considerations), and therefore the performance and capacity of persistent storage (typically hard drives) becomes a crucial issue, because hard drives are mechanical devices and are not capable of sustained rate of random read-write operations exceeding a few hundred operations per second. Often web-caching system is the only possibility for end user to fetch web-object (even though user may not be aware of it, because all HTIP traffic will be diverted at router to transparent web-cache), and therefore reliability and failover capabilities of web-caching systems must meet strictest requirements. Last but not least web-caches must be easy to use and administer, ideally not requiring any actions on behalf of end user, and require a minimum effort from network administrators. One of the most promising solutions to the problem of web-cache scalability is webcache clustering. Clustering is a technology of building from a few building blocks (e.g. low-cost PCs) a single virtual object visible from outside as single entity. Clustering is widely used in high-performance computations, high-performance web-servers and databases, and everywhere where a single big computational or processing task can be parallelized and run simultaneously at several computers. Web caching is no exceptionsingle image web-caching clusters have the best price/performance ratio possible and provide almost linear scalability, easy extendibility, good reliability, seamless failover capabilities, and require little maintenance. In this thesis a particular implementation of web-caching cluster is proposed which is capable of handling 500Mbps of HTTP traffic at the cost less than $20000 using cheap PC hardware, high-quality open-source software. As shown below, proposed solution has a number of advantages to other methods of solving web-cache scalability problems. First, the proposed cluster scheme is designed from very beginning to take into account the properties and characteristics of web-caching application as distinct from universal approach to clustering. One of the most important differences between cached content and, say, database records is the fact that cached data can be discarded at any moment, and this will not have any grave consequences in contrast to lost database records. Second, proposed approach to cluster building does not require any additional hardware (well, probably additional network switch), changes to application web-caching software or changes to operating system. Proposed cluster architecture is entirely software-based. Third, this particular implementation of cluster uses transparent web-caches (therefore any configuration at user's side is not needed), and cluster control software is easy to install and operate, require only a minimal effort from network administrator, at the same time providing good performance, excellent scalability and automatic fault detection and failover capabilities.

[1]  Ulrich Schmid,et al.  Formally verified Byzantine agreement in presence of link faults , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[2]  Chandra Kopparapu,et al.  Load Balancing Servers, Firewalls, and Caches , 2002 .

[3]  P. Krishnan Transparent En-Route Caching in WANs? , 1999 .

[4]  Toshimitsu Masuzawa,et al.  A self-stabilizing protocol for pipelined PIF in tree networks , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[5]  Edward W. Knightly,et al.  Ensuring Latency Targets in Multiclass Web Servers , 2003, IEEE Trans. Parallel Distributed Syst..

[6]  Daniel A Menascé Scaling the Web Trade-offs in Designing Web Clusters , 2001 .

[7]  Balachander Krishnamurthy,et al.  Analyzing factors that influence end-to-end Web performance , 2000, Comput. Networks.

[8]  Hongguang Wang,et al.  Proxy-Cache Aware Object Bundling for Web Access Acceleration , 2003, WCW.

[9]  Carlos Maltzahn,et al.  Reducing the Disk I/O of Web Proxy Server Caches , 1999, USENIX Annual Technical Conference, General Track.

[10]  Yuval Tamir,et al.  Client-transparent fault-tolerant Web service , 2001, Conference Proceedings of the 2001 IEEE International Performance, Computing, and Communications Conference (Cat. No.01CH37210).

[11]  Randal C. Burns,et al.  Group-based management of distributed file caches , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[12]  Evangelos P. Markatos,et al.  Secondary Storage Management for Web Proxies , 1999, USENIX Symposium on Internet Technologies and Systems.

[13]  George Kingsley Zipf,et al.  Human Behaviour and the Principle of Least Effort: an Introduction to Human Ecology , 2012 .

[14]  Lakshmish Ramaswamy,et al.  A new document placement scheme for cooperative caching on the Internet , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[15]  Kang G. Shin,et al.  Statistical Real-Time Communication over Ethernet , 2003, IEEE Trans. Parallel Distributed Syst..

[16]  Aravind Srinivasan,et al.  Clustering and server selection using passive monitoring , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[17]  Li Xiao,et al.  Adaptive and virtual reconfigurations for effective dynamic job scheduling in cluster systems , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[18]  S. Selvakumar,et al.  Implementation and comparison of distributed caching schemes , 2001, Comput. Commun..

[19]  Gary Tomlinson,et al.  Workload Requirements for a Very High-Capacity Proxy Cache Design , 1999 .

[20]  Zheng Zhang,et al.  Proxy+: Simple Proxy Augmentation for Dynamic Content Processing , 2003, WCW.

[21]  Byrav Ramamurthy,et al.  Scalable Web server clustering technologies , 2000, IEEE Netw..

[22]  Ping Du,et al.  Evaluation of Performance of Cooperative Web Caching with Web Polygraph , 2002 .

[23]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.0 , 1996, RFC.

[24]  Ming Lei,et al.  Clustering Web Accelerators , 2002, Proceedings Fourth IEEE International Workshop on Advanced Issues of E-Commerce and Web-Based Information Systems (WECWIS 2002).

[25]  Azer Bestavros,et al.  The Cyclone Server Architecture: streamlining delivery of popular content , 2002, Comput. Commun..

[26]  Bo Li,et al.  On the optimal placement of web proxies in the Internet , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).