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.