[论文解读] PsPIN: A high-performance low-power architecture for flexible in-network compute
PsPIN 是一款开源的基于 RISC-V 架构的网络内计算加速器,专为 400 Gbit/s 高性能、低功耗数据包处理而设计。它实现了 sPIN 编程模型,支持用户定义的 C/C++ 处理器在轻量级处理集群中并行执行,对 64 B 数据包实现 26 ns 的延迟,芯片面积仅 18.5 mm²(22 nm FDSOI 技术)。
The capacity of offloading data and control tasks to the network is becoming increasingly important, especially if we consider the faster growth of network speed when compared to CPU frequencies. In-network compute alleviates the host CPU load by running tasks directly in the network, enabling additional computation/communication overlap and potentially improving overall application performance. However, sustaining bandwidths provided by next-generation networks, e.g., 400 Gbit/s, can become a challenge. sPIN is a programming model for in-NIC compute, where users specify handler functions that are executed on the NIC, for each incoming packet belonging to a given message or flow. It enables a CUDA-like acceleration, where the NIC is equipped with lightweight processing elements that process network packets in parallel. We investigate the architectural specialties that a sPIN NIC should provide to enable high-performance, low-power, and flexible packet processing. We introduce PsPIN, a first open-source sPIN implementation, based on a multi-cluster RISC-V architecture and designed according to the identified architectural specialties. We investigate the performance of PsPIN with cycle-accurate simulations, showing that it can process packets at 400 Gbit/s for several use cases, introducing minimal latencies (26 ns for 64 B packets) and occupying a total area of 18.5 mm 2 (22 nm FDSOI).
研究动机与目标
- 解决现代数据中心中网络速率(如 400 Gbit/s)与 CPU 处理能力之间日益扩大的性能差距。
- 通过将应用逻辑直接卸载到网卡(NIC)中,实现灵活、高吞吐量且低延迟的数据包处理。
- 设计一种支持可编程、用户自定义处理函数的数据包处理架构,同时保持低功耗和低面积开销。
- 展示基于模块化、可扩展的 RISC-V 架构,实现 400 Gbit/s 线速处理的可行性。
提出的方法
- 设计一种多集群 RISC-V 架构,采用轻量级处理单元,实现数据包处理函数的并行执行。
- 实现 sPIN 编程模型,允许用户为特定数据包流或消息定义 C/C++ 处理函数。
- 集成专用内存子系统,为数据包缓冲区和处理函数数据分别设置独立存储体,减少争用,提升吞吐量。
- 使用周期精确仿真评估多种工作负载下的性能表现,包括序列化、校验和计算以及键值操作。
- 通过最小化控制逻辑并利用 FDSOI 技术(22 nm),实现面积与功耗的优化,其中 87% 的面积用于内存子系统。
- 通过模块化集群设计实现可扩展性,未来可通过增加集群数量或拓宽数据路径支持更高线速。
实验结果
研究问题
- RQ1基于 RISC-V 架构的网卡内加速器能否在极低延迟和低功耗下维持 400 Gbit/s 的线速数据包处理?
- RQ2架构设计选择(如内存分区、集群组织方式及处理单元专业化)如何影响性能与效率?
- RQ3与固定功能或基于 FPGA 的解决方案相比,sPIN 编程模型在实现灵活、应用特定的数据包处理方面具有多大优势?
- RQ4处理函数复杂度和数据包大小对性能瓶颈的影响如何?能否通过架构扩展有效缓解?
- RQ5与现有方案(如 eBPF、P4 或基于 FPGA 的加速器)相比,PsPIN 在面积和功耗效率方面表现如何?
主要发现
- PsPIN 在多种工作负载下实现了 400 Gbit/s 的线速处理,包括序列化、校验和计算和键值操作。
- 系统对 64 字节数据包实现了最低 26 ns 的延迟,证明了其具备低延迟网络内处理能力。
- 采用 22 nm FDSOI 工艺,设计总面积为 18.5 mm²,其中 87% 的面积用于内存子系统。
- 功耗主要来自内存子系统(占 52%),表明内存优化对未来的可扩展性至关重要。
- 对不同数据包大小(256 B、1024 B、4096 B)的处理函数关键时间(HCT)进行了分析,表明核心数量与线速扩展必须保持平衡,以避免性能瓶颈。
- 模块化集群架构可实现可扩展的工作负载处理,不会成为性能瓶颈,通过拓宽数据路径或增加多个加速器,未来可扩展至 1 Tbit/s。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。