中文

状态-计算复制:高速有状态包处理的并行化

网络与互联网体系结构 2024-06-18 v2

摘要

随着摩尔定律的放缓,面向 CPU 的软件包处理将被网卡(NIC)新兴的线速显著超越。单核包处理吞吐量已经饱和。我们考虑利用多个 CPU 核进行高速包处理的问题。关键挑战在于状态——多个数据包必须读取并更新的内存。利用多核扩展吞吐量的主流方法涉及状态分片,即在同一核上处理所有更新同一状态(即流)的数据包。然而,鉴于真实流大小分布的重尾特性,该方法在不久的将来将难以为继,因为总吞吐量受到单核性能的严格限制。本文提出状态-计算复制,一种利用复制将单个有状态流的吞吐量扩展到多核的原则。我们的设计借助运行在 NIC 或机架顶交换机上的数据包历史定序器,使多核能无需显式同步地更新状态。我们使用真实数据中心和广域互联网轨迹进行的实验表明,状态-计算复制能够确定性地、且与流大小分布无关地,在一系列真实包处理程序上将总包处理吞吐量随核数线性扩展。

关键词

引用

@article{arxiv.2309.14647,
  title  = {State-Compute Replication: Parallelizing High-Speed Stateful Packet Processing},
  author = {Qiongwen Xu and Sebastiano Miano and Xiangyu Gao and Tao Wang and Adithya Murugadass and Songyuan Zhang and Anirudh Sivaraman and Gianni Antichi and Srinivas Narayana},
  journal= {arXiv preprint arXiv:2309.14647},
  year   = {2024}
}