TCP SERVERS: A TCP/IP OFFLOADING ARCHITECTURE FOR INTERNET SERVERS, USING MEMORY-MAPPED COMMUNICATION

OF THE THESIS TCP Servers: A TCP/IP Offloading Architecture for Internet Servers, using Memory-Mapped Communication by Kalpana S Banerjee Thesis Director: Liviu Iftode TCP Server is a system architecture aiming to offload network processing from the host(s) running an Internet server. The TCP Server can be executed on a dedicated processor, node or intelligent network interface using low-overhead, non-intrusive communication between it and the host(s) running the server application. In this thesis, we present and evaluate an implementation of the TCP Server architecture for Internet servers on clusters built around a memory-mapped communication interconnect. We have quantified the impact of offloading on the performance of Internet servers for our TCP Server implementation, using a server application with realistic workloads. We were able to achieve performance gains of up to 30% due to offloading for the scenarios studied. Based on our experience and results, we conclude that offloading the network processing from the host processor using a TCP Server architecture is beneficial to server performance when the server is overloaded. A complete offloading of TCP/IP processing demands substantial computing resources on the TCP Server. Depending on the application workload, either the host processor, or the TCP Server, can become the bottleneck indicating the need for an adaptive scheme to balance the load between the host and the TCP Server.

[1]  W. Vogels,et al.  A User-Level Network Interface for Parallel and Distributed Computing , 1995 .

[2]  Peter Druschel,et al.  Resource containers: a new facility for resource management in server systems , 1999, OSDI '99.

[3]  John K. Bennett,et al.  Realizing the performance potential of the virtual interface architecture , 1999, ICS '99.

[4]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[5]  Jonathan M. Smith,et al.  Functional divisions in the Piglet multiprocessor operating system , 1998, EW 8.

[6]  Joel H. Saltz,et al.  Active disks: programming model, algorithms and evaluation , 1998, ASPLOS VIII.

[7]  David E. Culler,et al.  Queue pair IP: a hybrid architecture for system area networks , 2002, ISCA.

[8]  David E. Culler,et al.  High-performance local area communication with fast sockets , 1997 .

[9]  Willy Zwaenepoel,et al.  IO-Lite: a unified I/O buffering and caching system , 1999, TOCS.

[10]  Caliper Corp Virtual interface architecture specification , 1997 .

[11]  Kai Li,et al.  Early Experience with Message-Passing on the SHRIMP Multicomputer , 1996, 23rd Annual International Symposium on Computer Architecture (ISCA'96).

[12]  J.M. Smith,et al.  Giving applications access to Gb/s networking , 1993, IEEE Network.

[13]  Liviu Iftode,et al.  Impact of Next-Generation I/O Architectures on the Design and Performance of Network Servers , 2002 .

[14]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[15]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[16]  Syam Gadde,et al.  Cheating the I/O Bottleneck: Network Storage with Trapeze/Myrinet , 1998, USENIX Annual Technical Conference.

[17]  David Mosberger,et al.  httperf—a tool for measuring web server performance , 1998, PERV.

[18]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[19]  David A. Patterson,et al.  ISTORE: introspective storage for data-intensive network services , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[20]  Jeffrey S. Chase,et al.  End system optimizations for high-speed TCP , 2001, IEEE Commun. Mag..

[21]  Ricardo Bianchini,et al.  Efficiency vs. portability in cluster-based network servers , 2001, PPoPP '01.

[22]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[23]  Greg J. Regnier,et al.  CSP: A Novel System Architecture for Scalable Internet and Communication Services , 2001, USITS.

[24]  Greg J. Regnier,et al.  The Virtual Interface Architecture , 2002, IEEE Micro.

[25]  Jim Zelenka,et al.  A cost-effective, high-bandwidth storage architecture , 1998, ASPLOS VIII.

[26]  Frederick P. Brooks,et al.  Architecture of the IBM System/360 , 1964, IBM J. Res. Dev..

[27]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[28]  Liviu Iftode,et al.  User-level communication in cluster-based servers , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

[29]  Peter Druschel,et al.  Soft timers: efficient microsecond software timer support for network processing , 1999, SOSP.

[30]  K. Langendoen,et al.  Integrating polling, interrupts, and thread management , 1996, Proceedings of 6th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '96).

[31]  Kai Li,et al.  Design and implementation of virtual memory-mapped communication on Myrinet , 1997, Proceedings 11th International Parallel Processing Symposium.

[32]  Liviu Iftode,et al.  TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance , 2002 .