Publication

Optimizing TCP Receive Performance

Willy Zwaenepoel, Aravind Menon
2008
Article de conférence
Résumé

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.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.