FreeBSD Network Stack Performance Optimizations for Modern Hardware.

Robert Watson

Abstract
The arrival of high CPU core density, with commodity quad-core notebooks and 32-core servers, combined with 10gbps networking have transformed network design principles for operating systems. This talk will describe changes in the FreeBSD 6.x, 7.x, and forthcoming 8.x network stacks required to exploit multiple cores and serve 10gbps networks. The goal of the session will be to introduce the audience to general strategies used to improve performance, their rationales, and their impact on applications and users:

- Introduction to the SMPng Project and the follow-on Netperf Project
- Workloads and performance measurement
- Efficient primitives to support modern network stacks
- Multi-core and cache-aware network memory allocator
- Fine-grained network stack locking
- Load-balancing and contention-avoidance across multiple CPUs
- CPU affinity for network stack data structures
- TCP performance enhancements including TSO, LRO, and TOE
- Zero-copy Berkely Packet Filter (BPF) buffers
- Direct network stack dispatch from interrupt handlers
- Multiple input and output queues
Speaker
Robert Watson is a researcher at the University of Cambridge Computer Laboratory investinging operating system and network security. Prior to joining the Computer Laboratory to work on a PhD, he was Senior Principal Scientist at McAfee Research, now SPARTA ISSO, a leading security research and development organization, directing government and commercial research contracts for customers that include DARPA, the US Navy, and Apple Computer. His research interests include operating system security, network stack structure and performance, and windowing system structure. He is also a member of the FreeBSD Core Team and president of the FreeBSD Foundation.