Debugging end-to-end performance in commodity operating systems
Sven Ubik · 2003
The Internet infrastructure is very diverse, but when it comes to end hosts interfacing the Internet to the users, the PC hardware with one of a few so called commodity operating systems, such as Microsoft Windows or Linux is prevalent. It turns out that many performance problems in network communication, particularly in high-speed longdistance networks, are caused by improper behaviour of end hosts, rather than by the network itself. Understanding of the behaviour of commodity operating systems, networking applications, their mutual interaction and their interaction with a computer network is required to identify and resolve these problems. Our goal in this paper is to identify some of these problems and suggest possible solutions. Many advanced Internet users, requiring high network performance, use the Linux operating system. Therefore, we decided to concentrate on networking support in Linux. Particularly, we will show that just setting large TCP buffers is not suf£cient to reliably achieve high throughput.