paperbot · PL 论文追踪

全部论文 待读 收藏

P2 PacketMill: toward per-Core 100-Gbps networking

PacketMill:迈向单核 100-Gbps 网络
ASPLOS Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems2021匹配度 1/10 · 该论文聚焦网络包处理性能优化与编译代码生成,属于系统/体系结构领域,与用户关注的静态分析、LLM/Agent 程序分析、浮点程序分析及贝叶斯程序分析无直接关联。引用 46 inbox
Alireza Farshin, Tom Barbette, Amir Roozbeh, Gerald Q. Maguire Jr., Dejan Kostić
crossref: 2026-09-12

AI 速览

一句话:提出 PacketMill,通过元数据模型与代码优化定制网络功能二进制,实现单核近 100 Gbps 包处理。

软件包处理栈存在多层次低效,难以在商用硬件单核上达到 100 Gbps,尤其当新包到达速度比主存访问快 10 倍以上时。PacketMill 提出新的包元数据管理模型,并采用代码优化技术,从高层网络功能配置文件到低层用户态 DPDK 驱动对整个包处理栈进行“研磨”,为给定网络功能生成定制二进制。评估表明,其吞吐最高提升 36.4 Gbps(70%),延迟最多降低 101 us(28%),并仅用单核即可让路由器等非平凡包处理达到约 100 Gbps。

问题
软件包处理栈效率低下,在商用硬件上难以用单核达到 100 Gbps,且新包到达速度远超主存访问。
方法
PacketMill 引入新的包元数据管理模型,并利用代码优化技术从高层网络功能配置到低层 DPDK 驱动进行全栈定制,为给定网络功能生成专用二进制。
评估
在 DPDK 等真实包处理场景中评估,吞吐最高提升 36.4 Gbps(70%),延迟最多降低 101 us(28%),单核实现约 100 Gbps 的路由器等非平凡处理。
原文摘要(Abstract)

We present PacketMill, a system for optimizing software packet processing, which (i) introduces a new model to efficiently manage packet metadata and (ii) employs code-optimization techniques to better utilize commodity hardware. PacketMill grinds the whole packet processing stack, from the high-level network function configuration file to the low-level userspace network (specifically DPDK) drivers, to mitigate inefficiencies and produce a customized binary for a given network function. Our evaluation results show that PacketMill increases throughput (up to 36.4 Gbps -- 70%) & reduces latency (up to 101 us -- 28%) and enables nontrivial packet processing (e.g., router) at ~100 Gbps, when new packets arrive >10× faster than main memory access times, while using only one processing core.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot6115,
  title = {PacketMill: toward per-Core 100-Gbps networking},
  author = {Alireza Farshin and Tom Barbette and Amir Roozbeh and Gerald Q. Maguire Jr. and Dejan Kostić},
  booktitle = {ASPLOS},
  year = {2021},
  doi = {10.1145/3445814.3446724}
}