Title: High-speed network packet processing with NIC-software co-design
Advisor: Tom Anderson
Supervisor Committee: Tom Anderson (Chair), Scott Hauck (GSR, EE), Simon Peter (University of Texas- Austin), Xi Wang, Arvind Krishnamurthy, and Michael Taylor
Abstract: Data center applications by design rely heavily on network communication. Network bandwidth in data centers continues to increase, but at the same time processor performance only improves at a slower pace. This puts increasing pressure on software packet processing. Existing approaches such as kernel-bypass and RDMA reduce software processing overheads but trade off policy compliance or flexibility for better performance.
Data center packet processing can be efficient, scalable, policy compliant and flexible. We propose a unique refactoring of packet processing functionality by co-designing processing in the NIC, the OS kernel, and the application. In the common case, the NIC delivers data packets directly to the application, while the OS kernel runs out-of-band management tasks and handles uncommon processing. We present a hardware model for re-configurable NICs, a TCP stack based on our co-design approach, and three case studies of applying co-design directly to data center applications.