SSRG


Home

People

Projects

Papers

Contact Info

Web Booster Architecture

Traffic to a web server is unpredictable and very peaky. To avoid losing or alienating clients, web servers are overbuilt to handle the peak load. Consequently, there are huge investments in local infrastructure at web sites that are significantly underutilized except for infrequent peak periods.

The web booster architecture enables instantaneous decreasing of request processing costs for both static and dynamic resources on a web server in response to transient peaks in load. During a period of peak traffic, client requests are redirected to a web booster, an appliance that is located in front of the web server, which pre-processes requests and forwards them to the web server in an optimized request stream. The request stream is processed by the accelerator software module that runs on the web server. Such request pre-processing reduces web server load up to an order of magnitude compared to processing of an unmodified requests.

Using a web booster has advantages over using additional web servers or caches for the same purpose. Booster sharing among multiple web servers is more effective and fine-grained because the booster can instantaneously switch from one web server to another. An additional web server or cache require memory cache "warm-up" by accessing local storage, shared file system or remote web server before handling requests for the overloaded server. A web booster offloads processing for both static and dynamic resources, while caching can be used only for static web resources and server replication requires explicit installation of services. Because a booster processes requests at the transport and network levels, rather than at the application level as caches do, all HTTP-level semantics is retained at the web servers, including such features as request logging and resource invalidation policies.

The web booster uses several techniques that decrease overhead of the network processing at the web server. They are based on decreasing the number of packets processed by the server. It is accomplished by the following:

  • Increasing MTU of the incoming packets,
  • Avoiding TCP connection open and close, and
  • Delaying TCP acknowledgements to the web server.

The accelerator module that runs on the web server further decreases request processing cost by:

  • Performing HTTP request processing for static documents completely in the kernel mode,
  • Avoiding copying and checksumming for sent data by using packet cache, and
  • Avoiding packet allocation cost.

The web booster has to handle double network traffic compared to a web server. Four novel techniques significantly improve the performance of the web booster. Unlike techniques for web server acceleration, which do not modify the operating system or the protocol stack, these techniques modify the booster's TCP/IP stack to improve common case for network processing at the booster. The first two techniques optimize the receive path for packet processing and the last two deal with packet sending. They are as follows:

  • Acknowledgement aggregation,
  • Fast path for packet receive,
  • Duplicate allocation avoidance on the send path, and
  • Sent packet reuse.

The web booster architecture decreases overhead at the web servers up to ten times, retaining all HTTP processing semantics at the web servers. As tests show, the web booster handles an un-optimized client request stream four times faster than general purpose web server by using specialized software. This makes it possible to use two web boosters and one web server with the equivalent capacity of eight stand-alone web servers, assuming that all machines are of the same platform.

There are several ways in which the web booster functionality can be extended:

  • Web server load balancing,
  • Request admission policy enforcement at a web server,
  • Web caching,
  • Encryption/decryption offloading for a web server,
  • Heat dissipation migration for a high-density web hosting environment.

For more information on the web booster project, read the following articles:

Dissertation

  • V. V. Panteleenko. Instantaneous Offloading of Web Server Load. Ph.D. Dissertation. University of Notre Dame, April, 2002. [PDF]

Papers and Technical Reports

  • V. V. Panteleenko and V. W. Freeh. Web Booster Architecture for Accelerating Web Servers. Technical Report TR-02-04, University of Notre Dame, July 2002 [PDF])
  • V. V. Panteleenko and V. W. Freeh. Optimizing TCP Forwarding. Technical Report TR-02-03, University of Notre Dame, July 2002 [PDF])
  • V. V. Panteleenko and V. W. Freeh. Web Server Performance in a WAN Environment. Technical Report TR-02-02, University of Notre Dame, June 2002 [PDF])
  • V. V. Panteleenko and V. W. Freeh. Instantaneous Offloading of Transient Web Server Load. In Proceedings of Sixth International Workshop on Web Caching and Content Distribution (WCW '01), June 2001. (Technical Report TR-01-07 version of the paper [PDF])

Back to top

Last revised: 05/01/2002