Disaggregating Stateful Network Functions - Bansal, Deepak; DeGrace, Gerald; Tewari, Rishabh; Zygmunt, Michal; Gai, Silvano; Baldi, Mario; Doddapaneni, Krishna; Selvarajan, Arun; Arumugam, Arunkumar; Raman, Balakrishnan; Gupta, Avijit; Jain, Sachin; et al. (2023 Networked Systems Design and Implementation, 2023)
For security, isolation, metering and other purposes, public clouds today implement complex network functions at every server. Today's implementations, in software or on FPGAs and ASICs that are attached to each host, are becoming increasingly complex, costly and bottlenecks to scalability. We present a different design that disaggregates network function processing off the host and into shared resource pools by making novel use of appliances which tightly integrate general-purpose ARM cores with high-speed stateful match processing ASICs. When work is skewed across VMs, such disaggregation can offer better reliability and performance over the state-of-art at a lower per-server cost. We describe our solutions to the consequent challenges and present results from a production deployment at a large public cloud.