Speculative Defragmentation - A Technique to Improve the Communication Software Efficiency for Gigabit Ethernet Christian Kurmann, Michel Muller, Felix Rauch, Thomas Stricker Swiss Federal Institute of Technology (ETH) CH-8092 Zurich, Switzerland {kurmann,rauch,tomstr}@inf.ethz.ch Clusters of commodity PCs (CoPs) offer good compute performance at low costs, but so far the platform can not utilize the potential of Gigabit/s networking running with existing network adapters like Ethernet NICs or standard protocols like TCP/IP. The speed of Ethernet has grown from 10 Mbit/s to 1 Gbit/s over the last decade, but the functionality and the architectural support in the network interfaces remained almost the same, leaving the memory system as the primary bottleneck. Therefore for good communication speeds in applications a strict ``zero-copy'' communication architecture is required. All widely used protocol stacks use at least one copy for the (de)fragmentation of all network packets transferred, since the standard Ethernet packets are smaller than a memory page. Defragmenting packets of various communication protocols in hardware remains an extremely complex task. We therefore consider a speculative defragmentation technique, that can eliminate the last defragmenting copy operation in regular TCP/IP stacks on existing Ethernet hardware. For the evaluation of our ideas, we integrated a network interface driver with speculative defragmentation into an existing TCP/IP protocol stack and added some well known zero-copy strategies like page remapping and fast buffers. With all these ideas together, we improved the performance for Gigabit Ethernet over a standard Linux 2.2 TCP/IP stack by a factor of 1.5-2 for uninterrupted burst transfers in conventional TCP/IP streams. Furthermore, our study investigates the rate of speculation success in application codes and predicts quite favorable success rates for database and scientific codes.