Novel Abstractions for High Performance Network Functions Open Access
Downloadable ContentDownload PDF
The past decade has witnessed the pervasive adoption of cloud computing by enterprises, startups, and individual users. Massive amounts of data are flowing into data centers from a diverse range of applications and devices, generating unprecedented demands and new challenges on networking infrastructure. Today's networks are responsible for more than routing packets and perform a wide range of functionality such as firewalls, proxies, and caches to improve performance and security. Specialized hardware devices are used to run these functions but are no longer a great choice for cloud providers and large carriers due to the high cost and low flexibility. Software-based solutions including Network Function Virtualization (NFV) and Software Defined Networking (SDN) are proposed to renovate current networks but pose many challenging and interesting systems problems. In this thesis, I investigate challenges related to building NFV platforms. I first study performance problems related to the Network Function (NF) communication, and I demonstrate how shared-memory and Remote Direct Memory Access (RDMA) can be used to achieve zero-copy packet delivery, improving the throughput and reducing the latency. I next study how NFV and SDN can be combined to build a non-intrusive monitoring platform, which allows for monitoring and debugging network and application performance in real time. I finally study how a new service chain abstraction with modular TCP stacks and a publish/subscribe event interface can be built to improve flexibility and performance for transport and application layers.