Scaling Out Service Chains with Programmable NICs

Federal University of Mato Grosso do Sul (UFMS) College of Computing - Network and Distributed Systems Group

Middleboxes are essential for improving network security, performance, and monitoring. Traditionally, middleboxes are deployed in expensive and proprietary hardware. Network function virtualization promises to lower their cost by using commodity servers for implementing network functions in software that can easily be instantiated or moved to many servers. Commodity servers, however, are not optimized for packet processing and generally do not scale as well as custom-built hardware. To make matters worse, a packet generally needs to be processed by a series of network functions in what is called a service chain, which brings additional challenges for scalability, such as cache usage and state management.

In this project, we will develop a framework for dynamic scaling service chains using programmable NICs. We use programmable NICs to schedule flows to CPUs to guarantee flow affinity in such a way that we can increase cache locality, avoid locking for state management, and distribute the load among the cores of a multi-core server.

Professor Ronaldo Alves Ferreira

Other Collaborators
Fabricio Barbosa de Carvalho (Ph.D. Student at UFMS)
Marcos Vieira