TAXI下一代 Corundum 智能网卡
🚀 Taxi:下一代 Corundum 智能网卡以及它对 TSN 的真正价值
如果你做 FPGA 网络或者 SmartNIC,一定听过 Corundum。
但大多数人的真实体验是:
❗“很强,但基本看不懂,更别说改了”
这其实不是你的问题,而是 Corundum 本身的问题:
- pipeline 太深
- queue / descriptor 太复杂
- 更偏“最终产品”,不是“可学习架构”
于是作者干了一件很有意思的事:
👉 直接重写一版 NIC —— 这就是 Taxi
🧠 一、Taxi 本质:不是优化,而是“重构 Corundum”
很多人以为 Taxi 是 Corundum 的一个分支,其实不是。
更准确说:
👉 Taxi 是 Corundum 下一代架构的“试验场 + 重构平台”
根据作者在社区的说明:
- corundum-proto:教学版
- corundum-micro:下一代主线
- corundum-lite / ng:性能版本
而且作者明确说:
proto 是“简化设计,方便理解” (Reddit)
🔥 二、为什么要重写 Corundum?
一句话总结:
👉 原版 Corundum 太“工业化”,但不适合演进
原版问题(很多人踩过)
做过 Corundum 的应该都有感觉:
- descriptor 链复杂
- queue manager 很重
- pipeline 深且耦合严重
- driver 逻辑不轻
👉 结果就是:
❗想加一个 feature,要改一堆模块
Taxi 的思路(很关键)
作者做了一个非常“反直觉”的选择:
👉 先做减法,再做优化
于是就有了:
🧩 三、三代 Corundum:从“能看懂”到“能用”再到“能打”
1️⃣ corundum-proto:把 NIC 讲清楚
核心特点:
- 极简 datapath
- 几乎没有复杂调度
- 独立 driver
- 性能:2–4Gbps (Reddit)
社区评价很真实:
“非常适合学习 NIC 设计” (Reddit)
👉 我的理解:
这不是“弱化版”,而是:
👉 第一版“人能读懂”的 FPGA NIC
2️⃣ corundum-micro:真正要用的版本
当前状态:pre-alpha
目标(作者给得很具体):
- 1 packet / 10 cycles
- 250MHz → 跑满 10G
- 400MHz → 有机会到 25G (Reddit)
计划引入:
- command queue
- variable descriptor
- scheduler
- SR-IOV / DPDK
👉 重点:
👉 这是“工程版本”,不是 demo
3️⃣ corundum-ng:未来(400G)
作者已经明确:
- 下一代目标:400G ( hacker news)
👉 这直接进入:
- DPU
- 数据中心 SmartNIC
⚙️ 四、Taxi 真正的技术价值(核心部分)
✅ 1. 数据路径“做减法”(这点非常关键)
传统 NIC:
1 | |
Taxi proto:
1 | |
👉 少了什么?
- 多级队列
- descriptor 链嵌套
- 调度耦合
这个变化的本质是:
❗从“硬件优先设计” → “架构可维护设计”
这在 FPGA 世界里其实很少见。
✅ 2. NIC 开始像“软件系统”
Taxi 的方向非常明确:
- driver 深度参与
- devlink / ethtool
- 后续 DPDK
👉 你会发现:
👉 NIC 不再只是 RTL,而是“系统工程”
✅ 3. 参数化 + 可组合
作者提到:
- datapath width 可调
- buffer size 可调
- datapath 可共享 (Reddit)
例如:
- 4×1G(共享 datapath)
- 1×10G(独占 datapath)
👉 这其实是:
👉 从 IP → 平台 的转变
✅ 4. 内建协议栈(Zircon)
Taxi 里有个很关键的点:
- 内建 UDP/IP stack ( hacker news)
👉 这意味着:
数据可以在 FPGA 内部直接处理,而不是一定走 host
🔥 五、重点:Taxi 对 TSN 网卡意味着什么?
这一段是关键(你这个方向核心)。
🧩 TSN 本质需求
TSN(时间敏感网络)核心就三件事:
- 时间同步(PTP / 802.1AS)
- 确定性调度(Qbv / Qav)
- 可控延迟路径
🧠 为什么 Taxi 很适合做 TSN?
✅ 1. 时间基础已经有了(PTP)
Corundum 本身:
- 支持硬件 timestamp
- 支持 PTP
👉 这点非常关键:
TSN 的第一步就是“时间统一”
✅ 2. 调度能力正在补齐(micro)
corundum-micro 正在引入:
- scheduler
- queue manager (Reddit)
👉 这正好对应:
- Qbv(时间门控)
- Qav(带宽整形)
✅ 3. 数据路径可控(比传统 NIC 更适合 TSN)
传统 NIC:
- pipeline 深
- 延迟不可控
Taxi:
- pipeline 可裁剪
- latency 可预测
👉 这点在 TSN 非常重要:
❗确定性比吞吐更重要
✅ 4. FPGA 可编程优势
Taxi + FPGA:
- 可以插入 gate control(时间窗口)
- 可以做 frame preemption
- 可以实现硬件级 traffic shaping
👉 传统网卡基本做不到这点(除非专用芯片)
📌 一个很重要的判断
👉 Taxi 很可能成为“开源 TSN 网卡”的基础架构
💰 六、项目价值(说点实在的)
1️⃣ 门槛真的被拉低了
作者提到:
- 用 ~$200 FPGA 板开发 ( hacker news)
👉 这意味着:
- 不再需要 Alveo
- 普通开发者也能做 NIC
2️⃣ 教学价值非常高
以前学 NIC:
- 看 datasheet
- 看厂商 IP
现在:
- 直接读 RTL
- 改 driver
- 自己跑 NIC
3️⃣ 工业潜力(被低估)
Taxi 可以做:
- SmartNIC
- TSN 网卡
- 工业以太网
- 数据中心 offload
🔮 七、未来潜力(结合 TSN 说点判断)
🚀 方向1:TSN + SmartNIC 融合
未来趋势很明显:
- TSN(确定性)
- SmartNIC(可编程)
Taxi 正好卡在中间:
👉 可编程 TSN 网卡
🚀 方向2:网络即计算
未来 NIC 不只是转发:
- 数据预处理
- 实时控制
- AI pipeline
Taxi + Corundum 本来就是:
in-network compute 平台 ( hacker news)
🚀 方向3:FPGA DPU 化
corundum-ng:
- 400G
- 深 pipeline
👉 本质就是:
FPGA 版 DPU
⚠️ 八、一些现实问题(别被吹过头)
说点真实的:
- corundum-micro 还没稳定
- TSN 需要自己补(没有现成模块)
- Vivado 依然很痛苦
👉 但:
架构已经是对的
🧩 总结(工程师视角)
Taxi 这件事的意义,不在于“性能更高”,而在于:
👉 把 FPGA NIC 从“黑盒工程”变成“可演进架构”
尤其在 TSN 方向:
👉 它几乎是目前最好的开源切入点
🧠 最后一段(人话总结)
如果你只是想用 NIC:
👉 Taxi 现在还不够成熟
但如果你想:
- 做 TSN 网卡
- 做 SmartNIC
- 做 FPGA 网络架构
那 Taxi 很可能是:
👉 **未来几年最值得跟的项目之一