Abstract
In this paper we propose a new method of data handling for web servers. We call this method Network Aware Bufiering and Caching (NABC for short). NABC facilitates reduction of data copies in web server’s data sending path, by doing three things: (1) Layout the data in main memory in a way that protocol processing can be done without data copies (2) Keep a unified cache of data in kernel and ensure safe access to it by various processes and kernel and (3) Pass only the necessary meta data between processes so that bulk data handling time spent during IPC can be reduced. We realize NABC by implementing a set of system calls and an user library. The end product of the implementation is a set of APIs specifically designed for use by the web servers. We port an in house web server called SWEET, to NABC APIs and evaluate performance using a range of workloads both simulated and real. The results show a very impressive gain of 12% to 21% in throughput for static file serving and 1.6 to 4 times gain in throughput for lightweight dynamic content serving for a server using NABC APIs over the one using UNIX APIs.
The author carried out this work while being a full time Master’s student of the Department of Computer Science and Automation, IISc.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
E. Anderson. Container Shipping: a Uniform Interface for Fast, Efficient, High-Bandwidth I/O. PhD thesis, Computer Science and Engineering Department, University of California, San Diego, CA, 1995. 243, 250
J. C. Brustoloni. Interoperation of copy avoidance in network and file i/o. In INFOCOM (2), pages 534–542, 1999. 250
J. C. Brustoloni and P. Steenkiste. Effects of Buffering Semantics on I/O Performance. In 2nd Symp. on Operating Systems Design and Implementation (OSDI), pages 277–291, Seattle, WA, Oct 1996. 243, 250
J. Challenger, A. Iyengar, and P. Dantzig. A scalable system for consistently caching dynamic web data. In Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, 1999. 245
H. K. Jerry Chu. Zero-copy TCP in solaris. In USENIX Annual Technical Conference, pages 253–264, 1996. 250
C. D. Cranor and G. M. Parulkar. The uvm virtual memory system. In USENIX Annual Technical Conference, Monterey, CA, June 1999. 250
P. Druschel. Operating System Support for High-Speed Networking. PhD thesis, Department of Computer Science, The University of Arizona, 1994. 243
Answers from planet TUX: Ingo Molnar responds. http://slash-dot.org/articles/00/07/20/1440204.shtml. 250
J. C. Hu, S. Mungee, and D. C. Schmidt. Techniques for Developing and Measuring High-Performance Web Servers over high speed ATM. In INFOCOM, San Francisco, CA, 1998. 243
A. Iyengar, J. Challenger, D. Dias, and P. Dantzig. High-Performance Web Site Design Techniques. IEEE Internet Computing, 4(2):17–26, Mar.-Apr. 2000. 242
E. Levy-Abegnoli, A. Iyengar, J. Song, and D. M. Dias. Design and performance of a web server accelerator. In INFOCOM (1), pages 135–143, 1999. 250
Jochen Liedtke. Improving ipc by kernel design. In 14th Symposium on Operating Systems Principles (SOSP), Asheville, North Carolina, December 1993. 250
R. King P. Joubert, R. Neves, M. Russinovich, and J. Tracey. High-Performance Memory-Based Web Servers: Kernel and User-Space Performance. In USENIX Annual Technical Conference, Boston, MA, June 2001. 250
V. S. Pai, P. Druschel, and W. Zwaenepoel. I/O-Lite: A Unified I/O Buffering and Caching System. ACM Transactions On Computer Systems, 18(1):37–66, 2000. 250
S. Sen. Scaling the performance of web servers using a greedy data buffering and caching strategy. Master’s thesis, Department of Computer Science and Automation, Indian Institute of Science, Bangalore, India, January 2002. 245, 249
M. Thadani and Y. A. Khalidi. An efficient zero-copy i/o framework for unix. Technical Report SMLI TR95-39, Sun Microsystems Lab, Inc., May 1995. 250
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sen, S., Narahari, Y. (2002). Improving Web Server Performance by Network Aware Data Bu.ering and Caching. In: Sahni, S., Prasanna, V.K., Shukla, U. (eds) High Performance Computing — HiPC 2002. HiPC 2002. Lecture Notes in Computer Science, vol 2552. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36265-7_23
Download citation
DOI: https://doi.org/10.1007/3-540-36265-7_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00303-8
Online ISBN: 978-3-540-36265-4
eBook Packages: Springer Book Archive