Efficient, Secure, and Flexible High Speed Packet Processing for Data Centers
MetadataShow full item record
Data center applications by design rely heavily on network communication. Network bandwidth in data centers is rapidly increasing, but processor performance is only improving at a slower pace. This puts increasing pressure on software packet processing and causes applications to spend more time in the network stack. Existing approaches such as kernel bypass and RDMA reduce software processing overhead but trade off policy compliance or flexibility for performance. This dissertation demonstrates data center packet processing can be made efficient, scalable, policy compliant, and flexible. I propose a novel architecture for dividing packet processing functionality across the network interface card (NIC), the operating system, and the application. First, with FlexNIC I develop a reconfigurable NIC model that supports scalable NIC-software processing. Second, I demonstrate FlexTCP, a data center TCP network stack for FlexNIC, and show that FlexTCP increases per-core throughput by up to 10.6× compared to Linux and up to 4.1× compared to kernel bypass while still enforcing policy constraints. Finally, I use FlexNIC speed for three data center applications, customizing and integrating NIC processing with application logic, demonstrating a throughput improvement by up to 2.3× for these applications.