Publication

Optimizing TCP Receive Performance

Willy Zwaenepoel, Aravind Menon
2008
Conference paper
Abstract

The performance of the networking stack in an operating system depends on the overhead incurred by two of its components: the per-byte overhead incurred in data-touching operations, and the per-packet overhead of protocol processing and other operating system routines. While many mechanisms exist for reducing the per-byte and per-packet overheads for packet transmission in TCP, little progress has been made for addressing these issues for the performance of TCP receive. Conventionally, it has been shown that the performance of TCP receive is dominated by the cost of the per-byte data touching operations. However, in this paper we show that the per-packet cost of TCP processing dominates the TCP receive performance in modern operating systems. We show that the high per-packet overhead is caused by the forced one-to-one correspondence between the host packet unit and the network packet unit. We propose a restructuring of the TCP stack which allows the operating system to amortize the cost of per-packet operations over multiple network packets. By restructuring the TCP stack in this manner, we demonstrate performance improvements of 45-67% for TCP receive workloads involving bulk data transfers in native Linux, and of 86% for similar workloads running in a virtualized Linux guest OS running on Xen.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.