SmartChain: Enabling High-Performance Service Chain Partition Between SmartNIC and CPU.

Shuhe Wang,Zili Meng,Chen Sun,Minhu Wang,Mingwei Xu,Jun Bi,Tong Yang,Qun Huang,Hongxin Hu
DOI: https://doi.org/10.1109/icc40277.2020.9149136
2020-01-01
Abstract:Smart Network Interface Cards (SmartNICs) have been widely used to accelerate software-based network functions (NFs). However, from the scope of a service chain, a careless selection of NFs to offload onto SmartNIC could severely degrade the performance due to frequent communications between CPU and SmartNIC. In this paper, we present SmartChain, a high performance and efficient framework that achieves optimal partition of service chains between SmartNIC and CPU. SmartChain consists of two logical steps. First, SmartChain analyzes the suitability of elements in a chain to run on SmartNIC to exploit its high performance. Besides, SmartChain also ensures the dependencies between elements. Second, as our key novelty, SmartChain models the service chain latency and resource constraints, and solves the partition problem with 0-1 integer linear programming. We implement a SmartChain prototype based on Netronome SmartNIC. Evaluation results show that when used in real world cases, SmartChain could reduce the service chain latency by up to 87% with throughput maintained compared with strawman solutions.
What problem does this paper attempt to address?