找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4359

积分

0

好友

561

主题
发表于 1 小时前 | 查看: 2| 回复: 0

前言

在下一代可编程交换机和 SmartNIC 的前端设计中,我们往往追求极高的吞吐量与极低的延迟。对于 TB 级的以太网接口(如 800 Gbps 甚至 1.6 Tbps),传统的解析器(Parser)设计面临着巨大的挑战。

传统的处理方法要么采用 FSM(有限状态机)受限于总线宽度无法提升吞吐,要么采用流水线(Pipeline)架构为了支持更深的解析(如 504 字节)而严重牺牲功耗、面积和延迟——尤其是在处理 64 字节小包时。

这篇来自 APNet 2021 的论文《HyperParser: A High-Performance Parser Architecture for Next Generation Programmable Switch and SmartNIC》提出了一种全新的 ASIC/FPGA 通用架构,能在单实例下把吞吐量推向惊人的数 Tbps,同时保持极低的确定性延迟。

核心痛点

在 TB 级吞吐的数字 IC 和 FPGA 设计中,采用超宽总线(如 4096-bit/512-byte)进行解析主要面临三个挑战:

  • 交叉开关的面积爆炸:提取报头字段通常依赖 Crossbar,其 $O(N^2)$ 的面积复杂度在超宽总线下是无法接受的,严重影响功耗与成本。
  • 协议识别延迟:逐层识别嵌套的协议头部非常耗时,且极容易成为时序与性能的瓶颈。
  • FPGA 部署耗时漫长:传统的 P4 到 RTL 解析器,每次修改解析图都需要重新综合与布局布线,耗费数十分钟,迭代效率极低。

架构设计

HyperParser架构框图:配置电路、逆蝶形网络、SRAM仿真TCAM与蝶形网络的数据/控制路径示意图

作者摒弃了传统的 Crossbar,跨界引入了密码学电路中的网络结构,整体架构极简且纯硬件逻辑流水线:

  • Inverse Butterfly Network(逆蝶形网络):通过 $O(N\log N)$ 面积复杂度的网络,在比特级别高效提取并聚合用于识别协议的"协议位"(Protocol Bits)。
  • SRAM-emulated TCAM(SRAM 模拟 TCAM):由于现代 FPGA 没有硬连线 TCAM,架构采用并行版 StrideBV,根据提取的协议位快速且低延迟地识别协议类型。
  • Butterfly Network(蝶形网络):同样以 $O(N\log N)$ 的复杂度,在字节级别提取关心的报头字段,并将其分散对齐到 PHV(报头向量)的正确位置。
  • Configuration Circuit(配置电路):面向 LUT 的设计策略,将用户定义的解析图直接转换为网络控制信号和 TCAM 初始值。

性能数据

作者在 14nm/28nm ASIC 以及类似 AMD Virtex UltraScale+ 的 FPGA 平台上进行了综合测试,结果非常炸裂:

  • TB 级极高吞吐:在核心性能上,ASIC 实现吞吐量达 3.2-6.8 Tbps,FPGA 实现 1.3-2.8 Tbps,轻松 Hold 住 800G 以太网。
  • 极低且确定的延迟:ASIC 延迟仅为固定的 11.7 ns;FPGA 延迟也压低至 40 ns。
  • 秒级重配置:得益于固定的 LUT 位置与连线,修改解析协议的 FPGA 部署时间从数十分钟骤降至几十秒,无需经历漫长的重新综合。
  • 资源占用极低:FPGA 实现仅消耗约 43K LUTs,面积相比传统方案提升约 20%,且不随解析图的复杂度而增加。

相关应用

其基于 Verilog 的高性能解析器设计支持 P4 语言,可应用于智能网卡和可编程交换机,与 NPU 协同优化数据流处理。

写在最后

这篇论文为 Tbps 级别的网络数据面处理提供了降维打击的思路。它证明了通过巧妙的拓扑网络替换传统交叉开关,可以在 PPAL(性能、功耗、面积、延迟)上取得全面胜利。

如果你正在做高速网络接口设计,这篇论文中 Butterfly Network 的降维思想和面向 LUT 的秒级重配策略非常值得借鉴。

项目链接:


https://github.com/FPGA-Networking/HyperParser



上一篇:FPGA下PCIe Straddle模式的微架构设计与RTL实现
下一篇:Codex 开启 1M 上下文教程:GPT-5.6 Sol 配置与 OpenCodex 冲突避坑
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-18 05:51 , Processed in 0.878395 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表