Potential performance bottleneck in Linux TCP |
| |
Authors: | Wenji Wu Matt Crawford |
| |
Affiliation: | Fermilab, MS‐368, P.O. Box 500, Batavia, IL 60510, U.S.A. |
| |
Abstract: | Transmission control protocol (TCP) is the most widely used transport protocol on the Internet today. Over the years, especially recently, due to requirements of high bandwidth transmission, various approaches have been proposed to improve TCP performance. The Linux 2.6 kernel is now preemptible. It can be interrupted mid‐task, making the system more responsive and interactive. However, we have noticed that Linux kernel preemption can interact badly with the performance of the networking subsystem. In this paper, we investigate the performance bottleneck in Linux TCP. We systematically describe the trip of a TCP packet from its ingress into a Linux network end system to its final delivery to the application; we study the performance bottleneck in Linux TCP through mathematical modelling and practical experiments; finally, we propose and test one possible solution to resolve this performance bottleneck in Linux TCP. Copyright © 2007 John Wiley & Sons, Ltd. |
| |
Keywords: | Linux TCP networking process scheduling performance analysis protocol stack |
|
|