rVNF: Reliable, scalable and performant cellular VNFs in the cloud - Katsarakis, Antonios; Tan, Zhaowei; Balkwill, Matthew; Radunovic, Bozidar; Bainbridge, Andrew; Dragojevic, Aleksandar; Grot, Boris; Zhang, Yongguang (Microsoft, 2021)
State management is one of the main design challenges for virtual network functions (VNFs). While progress has been made with conventional IP middle-boxes, much less has been done in the cellular space. Cellular VNFs have different design requirements. In addition to high performance, they impose high availability, and they manage a complex set of states that require a strong notion of transaction to achieve reliability. We argue that the current state-of-the-art does not address well these requirements. This work introduces rVNF, an in-memory distributed transactional data store designed for cellular VNFs. rVNF has two parts. The first is a novel transactional protocol that explores state access locality for efficiency. The second one is a fast and replicated load balancer that enforces the access locality through customized routing. The combination of the two allows us to build a flexible state access API that can be combined into arbitrary transactions. rVNF is efficient, low-latency, highly available and offers strong transactional semantics. Our evaluation shows that rVNF can process several 100k transactions per second, can virtualize existing cellular core components and protocols with little effort, and several times outperforms existing external data stores.