English

Application-Defined Receive Side Dispatching on the NIC

Networking and Internet Architecture 2024-09-23 v2 Hardware Architecture

Abstract

Application layer (L7) processing is increasingly implemented in proxies (e.g., Envoy) to simplify administration and management. However, prior work has observed that this reduces application performance and increases resource requirements. The reason is that moving logic out of the application required duplicating some computation and additional inter-process communication. This paper describes QingNiao, a system that moves L7 dispatch (a function implemented by all L7 proxies and affects all messages received by an application) to a NIC that is on the application's communication path. Unfortunately, the data formats and protocols used by modern applications pose a challenge when moving L7 dispatch to NICs. Consequently, when designing QingNiao we had to rethink not just the NIC hardware, but also how applications encode data sent over the network. We prototyped QingNiao using a 100GbE FPGA NIC, and show that for real-world applications QingNiao can achieve 6.6x to 7.15x higher throughput compared to software proxies.

Keywords

Cite

@article{arxiv.2312.04857,
  title  = {Application-Defined Receive Side Dispatching on the NIC},
  author = {Tao Wang and Jinkun Lin and Gianni Antichi and Aurojit Panda and Anirudh Sivaraman},
  journal= {arXiv preprint arXiv:2312.04857},
  year   = {2024}
}
R2 v1 2026-06-28T13:44:46.344Z