Abstract
TCP/IP protocol processing has become the dominant overhead in network servers. With the advent of memory-mapped SAN technologies such as VIA and InfiniBand, the intra-server transport protocols have been made extremely efficient. Our solution to reduce the client-server network processing overhead is to offload the TCP/IP protocol from the application hosts to dedicated processors, nodes or intelligent network interface. We called this architecture a TCP Server. In this paper we propose a Memory-Mapped Networking API and protocol (MemNet) to enable server applications to exploit the TCP Server architecture efficiently. The idea is to use low-overhead memory-mapped communication between application hosts and the TCP server to tunnel the socket I/O calls to be processed by the TCP Server. A user-level MemNet prototype has been implemented and evaluated using a web server and real http workloads.