Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

Kernel Support for Faster Web Proxies

This paper proposes two mechanisms for reducing the communication-related overheads of Web applications. One mechanism is user-level connection tracking, which allows an application to coordinate its non-blocking I/O operations with significantly fewer system calls than previously possible. The other mechanism is data-stream splicing, which allows a Web proxy application to forward data between server and client streams in the kernel with no restrictions on connection persistency, object cacheability, and request pipelining. These mechanisms remove elements that scale poorly with CPU speed, such as context switches and data copies, from the code path of Web-request handling.

The two mechanisms are implemented as Linux loadable kernel modules. User-level connection tracking is used to implement uselect, a user-level select API. The Squid Web proxy and the Polygraph benchmarking tool are used in the evaluation. With Polymix-4, a realistic forward proxy workload biased towards cache hits and small files, the reductions in CPU overheads relative to the original Squid (with select) are 52-72% for uselect, up to 12% for splice, and 58-78% for the two mechanisms combined. Relative to Squid with /dev/epoll, uselect provides 50% overhead reduction.

Marcel-Catalin Rosu, IBM T.J. Watson Research Center

Daniela Rosu, IBM T.J. Watson Research Center

BibTeX
@inproceedings {270215,
author = {Marcel-Catalin Rosu and Daniela Rosu},
title = {Kernel Support for Faster Web Proxies},
booktitle = {2003 USENIX Annual Technical Conference (USENIX ATC 03)},
year = {2003},
address = {San Antonio, TX},
url = {https://www.usenix.org/conference/2003-usenix-annual-technical-conference/kernel-support-faster-web-proxies},
publisher = {USENIX Association},
month = jun
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/usenix03/tech/full_papers/rosu/rosu.pdf
Paper (HTML): 
http://usenix.org/publications/library/proceedings/usenix03/tech/full_papers/rosu/rosu_html/index.html
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us