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

937

积分

0

好友

120

主题
发表于 3 小时前 | 查看: 2| 回复: 0
本帖最后由 云栈大前端 于 2025-12-24 17:11 编辑

TL;DR

全文约 3 万字,围绕 SIGCOMM 论文 《Falcon: A Reliable, Low Latency Hardware Transport》 做了较完整的翻译、整理与工程化对比分析,并结合 CIPU eRDMA 的实现经验讨论其取舍与边界。本文为技术观点讨论,不涉及任何推广信息。

论文链接:https://dl.acm.org/doi/10.1145/3718958.3754353


0. Abstract:为什么要做 Falcon?

论文在摘要里先肯定了 RoCE 的优势:“high performance with minimal host CPU”。Kernel bypass 确实能显著降低 CPU 负担,但作者紧接着强调 RoCE “best suited to special-purpose deployments”,本质是在说:RoCE 的高性能建立在一个苛刻假设之上——网络必须近似无损(lossless)。

在通用以太网数据中心里,拥塞与丢包是常态。为了创造“无损”环境,RoCE 部署通常依赖 PFC,但 PFC 本身会引入严重问题:例如队头阻塞(Head-of-Line Blocking)与死锁,部署和调试成本极高,运维复杂度也会显著上升。

因此,RoCE 往往被限制在专用隔离网络中(如存储网络、AI 训练后端网络)。Falcon 的问题背景也就非常明确:如何让硬件传输在“有损的通用以太网数据中心”里稳定工作,并保持高性能?

Falcon 的定位是:

“We introduce Falcon, the first hardware transport that supports multiple Upper Layer Protocols (ULPs) and heterogeneous application workloads in general-purpose Ethernet datacenter environments (with losses and without special switch support).”

这里有三个关键词:

  • hardware transport:可靠传输能力在硬件侧落地,追求线速与低延迟;
  • general-purpose Ethernet datacenter environments:不依赖 PFC、不依赖交换机特殊功能(例如 Adaptive Routing/Packet Spray),甚至不要求依赖 INT 等 Telemetry;
  • multiple ULPs:用统一传输承接 RDMA、NVMe 以及其他异构 workload。

作者归纳的技术支柱主要有四条:

  1. delay-based congestion control with multipath load balancing:基于 Timely/Swift 的延迟信号拥塞控制,并扩展到多路径(如 PLB)。
  2. a layered design with a simple request-response transaction interface:把上层 RDMA/NVMe 等语义映射到简化的 Push/Pull 事务模型,降低“每个 ULP 各做一套可靠传输”的复杂度。
  3. hardware-based retransmissions and error-handling for scalability:把 SACK、快速恢复、错误处理尽可能放在硬件数据路径中,避免异常导致性能断崖式下降。
  4. a programmable engine for flexibility:引入可编程引擎(FAE)做策略,硬件做机制,平衡性能与可演进性。

1. Introduction:目标与约束是什么?

现代数据中心工作负载(HPC、横向扩展 AI/ML、实时分析)对网络提出了非常明确的要求:高带宽、低延迟、高消息速率(Mops/sec),同时还要“尽量少占用主机 CPU”。

论文用 Google 软件传输 Pony Express 与硬件 Falcon 做了对比,强调硬件加速的性能空间:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 1

作者给出的目标非常清晰:

  • 基于商用以太网数据中心网络连接计算、存储与加速器;
  • 通过行业标准接口(如 IB Verbs、NVMe)支持混合工作负载;
  • 在多样网络条件(丢包、乱序、超售、多租户、异构拓扑)下仍保持可预测性能。

从云的视角看,“标准接口”极其关键:标准接口意味着更低的迁移成本与更好的生态兼容。文章后续也多次围绕这一点展开对比。

此外,作者也指出硬件传输在可靠性、拥塞控制、多路径方面往往落后于软件传输(Google 在软件侧已有 Swift/RACK-TLP、PLB/PRR 等能力),Falcon 的一个重要动机就是把这些“生产级能力”带回硬件路径。

论文也给出了核心设计要点概览:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 2


2. 现有硬件传输的不足及业务需求

2.1 业务需求(R1-R5)

这一章的方法论做得很扎实:作者先定义“好的硬件传输协议应该满足什么”,再用它批判 RoCE 的不足。五个需求(R1-R5)构成评估框架:

  • R1:可预测性能(Predictable Performance)
    强调不是“平均值”,而是 稳定性接近最优,尤其关注长尾。
  • R2:适应多样化网络(Adaptability to Diverse Networks)
    要能在超售、多租户、异构拓扑等“真实网络”里生存。
  • R3:压力下鲁棒性(Robustness under stress)
    高带宽、高 Mops、海量 QP,同时应对乱序、丢包、抖动、拥塞等极端情况。
  • R4:兼容性
    支持 IB Verbs 与 NVMe,尽量不改应用。
  • R5:易运维与可演进
    不希望“修一个问题就得换硬件”,需要机制与策略分离与在线迭代能力。

这五条几乎就是“云上通用 RDMA/存储网络”的现实约束集合。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 3

2.2 RoCEv2 的缺陷

论文用 R1-R5 框架系统性批判 RoCE,结论是:RoCE 继承了 Infiniband 时代“近似无损”的基因,在有损、多路径的以太网环境中会暴露结构性问题。

缺陷一:丢包恢复机制落后

  • 传统 RoCE 依赖 Go-Back-N,丢一个包可能回退重传一串包。
  • 即便启用 Selective Repeat(SR),也存在:
    • 非通用:并非所有 RDMA 操作都支持;
    • 低效:NACK 触发的恢复慢且不精确;
    • 语义冲突:丢包后乱序交付会冲击 IB Verbs 语义。

RoCE 接收端为了维持顺序,丢包后往往丢弃乱序到达包,导致无法像 TCP 那样精准反馈缺失区间;如果要上 SACK 级别信令,通常需要大改硬件缓冲或调整语义。

论文里也用公式与图说明了 Go-Back-N 的丢包容忍性问题:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 4

缺陷二:协议层不支持多路径

多路径天然带来乱序,而 RoCE 的丢包检测与严格保序语义对乱序非常敏感,很容易把乱序误判为丢包,触发伪重传、队列膨胀、吞吐下降,最终很多系统又不得不回到 PFC(无损)来掩盖路径差异,形成恶性循环。

缺陷三:拥塞控制与数据路径分离

RoCE 拥塞控制多为“外挂式”:依赖带外 probe 收集信号,响应迟缓。与之对照,Falcon(以及 TCP/Swift)强调带内信号与逐包响应,能在数据中心这种快速变化的环境里更及时地收敛。与拥塞控制相关的更通用网络基础可参考云栈社区的网络/系统专题资料。


3. 概述及设计原则

作者在这一章把 R1-R2 与 R3-R5 分开讨论:前者偏端到端性能,后者偏硬件实现与生态兼容。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 5

3.1 Falcon Overview

Falcon 是面向连接(connection-oriented)的可靠传输,为 RDMA、NVMe 等 ULP 提供端到端可靠性,主要组件:

  1. ULP 映射层:把 RDMA/NVMe 操作映射到 Falcon 连接与事务,处理流控。
  2. 事务层(TL):请求-响应接口、资源管理、调度与排序。
  3. 包交付层(PDL):基于延迟的拥塞控制、时间轮整形、SACK/RACK-TLP 丢包恢复。
  4. Falcon 自适应引擎(FAE):可编程策略引擎,协同实现 CC 与多路径。
  5. 加密:可与 PSP/IPSec 等结合做认证与加密。

Falcon 的分层设计继承了 Pony Express 的思想,但职责拆分不同:Falcon 让 TL 负责 ULP 操作排序,而分片更多由 ULP 自己处理。

3.2 在多样网络中实现可预测性能(D1)

作者认为很多接收端驱动方案(Homa/NDP/EQDS/pHost)依赖“网络无超售”的假设不现实;Packet Spray 需要相对同构拓扑,对跨域或异构网络不友好。因此 Falcon 的关键原则是:

D1:基于延迟的拥塞控制 + 多路径负载均衡

  • 基于 Swift 的逐包 RTT 测量,利用多时间戳把延迟分解到主机、NIC 与网络;
  • 用时间轮(Carousel / Timing Wheel)做细粒度整形,改善公平性并降低拥塞队列;
  • 多路径侧用 subflow + PLB/PRR 做“实时调度 + 保护性换路”。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 6

丢包恢复方面,Falcon 选择 SACK + RACK-TLP:用时间启发式区分乱序与丢包,并对尾部丢包用 TLP 加速恢复。

3.3 硬件设计挑战与原则(D2-D5)

硬件实现必须同时覆盖“顺序到达的快路径”和“丢包/乱序/超时/错误”的常态路径,并在 O(100K) 连接规模下避免性能断崖。因此作者提出:

  • D2:分层设计
    明确职责边界,降低硬件复杂度。
  • D3:支持多 ULP 的简单接口
    用统一事务接口接入更多协议。
  • D4:带反压与错误处理的资源准入
    通过片上缓冲吸收乱序,硬件快速重传,逐连接反压实现隔离,避免错误路径拖垮吞吐。
  • D5:硬件辅助的可编程引擎(FAE)
    策略在软件可迭代,机制在硬件线速执行。

软硬件划分图:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 7


4. 详细设计

4.1 可靠性:bitmap SACK + RACK-TLP

Falcon 的目标是在乱序与丢包都常见的情况下,尽量少重传并尽快恢复。

  • 接收端(RX)
    用 bitmap 维护接收窗口的 PSN 状态,并在 ACK 中携带。只要片上资源允许,会接收乱序包,甚至包含窗口之外的数据包(这会带来实现复杂度,但可提高鲁棒性)。论文示例中使用 128-bit bitmap。

  • 发送端(TX)
    收到 ACK 后,结合时间戳与 bitmap 用 RACK 启发式定位需要重传的包:
    1) bitmap 标记已收的包忽略;
    2) 在“约一个 RTT 内”的包先不触发重传,避免把乱序当丢包;
    3) 超过 rack_rto 的包触发重传。

  • TLP(Tail Loss Probe)
    长时间无进展时发送探测包,促使接收端回 ACK,再由 RACK 推动快速恢复。

  • FAE 的作用
    根据网络 RTT 与抖动动态计算 rack_rto 与 TLP 参数,实现“机制/策略分离”。

这一设计在“有损 + 多路径乱序”场景下尤其关键:RACK 的时间窗口本质上把发送窗口分成“乱序容忍区”和“真实丢包区”。

关于 bitmap 方式的一个工程取舍:窗口大小受 bitmap 覆盖范围限制。若链路 BDP 非常大(例如更高带宽、更长 RTT 的跨域路径),窗口绕回与覆盖不足可能会带来额外复杂性,需要在实现上进行补偿设计。

4.2 可编程拥塞控制:fcwnd + ncwnd(Swift 变体)

Falcon 把拥塞控制拆成两层:

  • FAE:实现 CC 算法,根据 CC 信号计算窗口;
  • PDL:测量信号并用调度器 + 时间轮执行窗口。

Falcon 使用两个窗口:

  • fcwnd:网络拥塞窗口(Fabric Congestion Window)
  • ncwnd:NIC 拥塞窗口(NIC Congestion Window)
  • 有效窗口为两者的最小值。

网络拥塞信号(Fabric):用硬件时间戳测 RTT 分量。数据包携带 t1,远端记录 t2,ACK 携带 t3 和最新 t1/t2,本地记录 t4,无需时钟同步即可估算网络延迟:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 8

接收端 NIC 拥塞信号(Rx NIC):用 Rx 缓冲区占用率作为反馈,随 ACK 返回给发送端,驱动 ncwnd,防止“网络没堵但接收端 NIC/主机侧堵了”的隐性拥塞导致丢包。

4.3 多路径:subflow + Flow Label + 逐流 fcwnd

多路径是 Falcon 的核心元素:单连接通过多条路径提升单连接性能与鲁棒性。它需要两类决策:

  1. 为连接选择一组路径(subflow 集合)
  2. 为每个包选择具体 subflow

Falcon 的做法是为每个连接维护一个 flow 列表,每个 flow 对应一个 IPv6 Flow Label,交换机在 ECMP/WCMP 之外对 Flow Label 参与哈希,使不同 flow 映射到不同路径:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 9

Falcon 的关键取舍:

  • 连接内共享 PSN 空间:降低 per-flow PSN 带来的状态开销与硬件复杂度;
  • 逐流维护拥塞状态与 fcwnd:提升调度精度;
  • PDL 负责调度,FAE 负责窗口与 Flow Label 重新分配(PLB/PRR)
  • 可靠性机制(bitmap + RACK-TLP)要能在跨流乱序下正常工作

工程上需要注意的复杂度点:

  • 若每连接 subflow 很多,而连接数达到 O(100K),逐流 fcwnd 的计算与状态管理会显著抬高成本;
  • subflow 较少时又可能出现单 subflow 大象流;
  • PLB/PRR 与 Swift 的协同不好做,收敛速度与稳定性取决于实现细节。

总体上,Falcon 的优势在于:无需依赖交换机特殊能力即可实现多路径(基于 Flow Label 的信息熵扩展),并把多路径机制封装在传输层内。

4.4 支持多种 ULP:Push/Pull 事务模型

Falcon 用统一的 Request-Response Transaction 接口承接多 ULP。核心抽象是两类事务:

  • Push:请求方向响应方发送数据(如写)
  • Pull:请求方从响应方接收数据(如读)

ULP 操作到 Push/Pull 的映射如下:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 10

接口设计要解决两点:

  1. 事务类型是否感知?
    Falcon 选择“类型感知”,以避免请求-响应死锁,并能更精细地做拥塞控制与调度(例如 Pull 响应不受 ncwnd 约束,因为请求方已预留接收资源)。
  2. 事务粒度是什么?
    选择 MTU 粒度:大操作拆成多个 MTU 级 Pull 事务,使资源管理更细粒度、硬件更简化。

排序语义:每连接可配置 ordered 或 unordered。ordered 兼容 IB Verbs 的严格语义;unordered 面向现代应用的独立操作。排序依赖 RSN(请求序列号),而不仅是 PSN。

有序写操作示意:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 11

增强错误通知:除了兼容传统语义,还支持更细粒度的 “CIE(Complete in Error and Continue)”,允许单操作错误不必导致整连接终止,提升大规模系统稳定性。

4.5 硬件资源管理:避免死锁与抖降

Falcon 引入片上资源支持乱序接收与可靠性,资源分两类:

  • contexts:固定大小元数据(序列号、排序/可靠性状态等)
  • buffers:可变大小元数据与数据包载荷

为避免请求-响应协议中的死锁,TL 需要精细的资源划分与生命周期管理。

资源划分(Resource Carving)

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 12

  1. TX / RX 分池:避免“只发不收/只收不发”死锁
  2. Req / Resp 分池:避免请求耗尽资源导致响应无法推进
  3. HoL / non-HoL:保障有序连接的协议推进(HoL 资源阈值以上只接纳队头请求)

资源生命周期:发起方在发出请求时同时预留 Tx 与对端响应的 Rx 资源,从源头抑制反向路径 incast,并保证响应总有资源可接收。

当资源耗尽:

  • 对 ULP 通过 Xon/Xoff 反压;
  • 对网络侧通过资源 NACK 反馈。

4.6 连接隔离:动态阈值 + 逐连接反压

没有隔离时,慢连接会长时间占用资源,拖慢快连接。Falcon 在 TL 中实现隔离:

  • 逐连接 Xon/Xoff 反压;
  • 类似交换机缓冲管理的 动态阈值(DT)
  • FAE 动态调节 DT 的参数,使“慢连接少用资源、快连接多用资源”,提升公平性与尾延迟表现。

5. 可扩展硬件传输的实现经验

5.1 集成到 NIC/IPU

Falcon 被做成独立 HW 模块,可集成到 FNIC 或 IPU。论文描述它已集成到 Intel E2100 200Gbps IPU,并扩展到 400/800Gbps。Falcon 依赖:

  • 独立 Timing Wheel 模块(或内置)
  • 靠近以太网端口的精确时间戳
  • 常与内联加密模块协同(利用 PSP/IPsec 的字段携带信息)

集成示意:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 13

Falcon 硬件框图:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 14

5.2 值得注意的实现选择

片上 NIC 资源(On-NIC Resources)
为了乱序缓冲,需要按 BDP 量级规划缓冲。论文给出 200Gbps/50us RTT BDP 约 1.2MB,400Gbps 约 2.4MB,800Gbps 约 4.8MB,并认为在先进工艺下面积开销可控。极端 corner case 还允许从片上 SRAM 溢出到外部 DRAM。

连接状态缓存(Connection State Caching)
在超大规模下缓存 miss 率接近 100% 会导致吞吐和延迟断崖式下降。Falcon 为缓存 miss 预留足够内存带宽,并引入更大的二级缓存以改善 miss 带宽与延迟,代价是面积与带宽开销,但换来“可预测持续性能”。

错误处理(Error Handling)
传统做法把异常留给固件,Falcon 为避免性能抖降,将丢包恢复与错误处理尽量硬件化:维护逐包上下文,硬件线程扫描链表处理超时与重传。


5.3 FAE 的实现与扩展

FAE 运行在 IPU 的通用 CPU 核上,通过共享内存队列与 PDL 通信,采用事件-响应格式:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 15

论文总结的“机制在 PDL,策略在 FAE”的映射大致包括:

  • 可靠性:ACK bitmap、RACK、TLP(PDL) + RTO/阈值计算(FAE)
  • 拥塞/流控:窗口与 pacing(PDL) + fcwnd/ncwnd/IPG/目标延迟等计算(FAE)
  • 多路径:路径感知调度器(PDL) + Flow Label 分配与逐流 CC(FAE)
  • 隔离:动态阈值机制(PDL) + alpha 等动态参数(FAE)

为解决状态管理导致的 cache miss,FAE 从“无状态(PDL 携带状态)”演进到“有状态 + prefetch”,在处理事件前预取后续事件对应状态,降低 miss 代价。


6. 评估

论文评估 Falcon 的可靠性、多路径、硬件性能以及对 MPI/HPC 和热迁移的影响。测试平台为 32 台机器,Falcon NIC 200Gbps;对比 NVIDIA CX-7 400Gbps(RoCE,RTTCC)。多路径与 RACK-TLP 等部分由于缺少大规模真实组网,使用硬件仿真验证的模拟器,拓扑类似 Jupiter 三级网络。

6.1 Falcon 协议性能(对比 RoCE RC)

6.1.1 丢包恢复

丢包影响(goodput):点到点单 QP,8KB 消息,200Gbps,交换机制造丢包/乱序。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 16

结果显示:丢包率上升时 Falcon 吞吐基本维持线速;RoCE(GBN/SR/AR)吞吐显著下降,即便 SR 在 1% 丢包也明显落后。核心原因是 Falcon 的 SACK/RACK-TLP 能精准重传缺失包并快速恢复。

乱序影响与 RACK-TLP:乱序率增加时 Falcon 仍稳定,RoCE 尤其 GBN 几乎崩溃。RACK 用时间启发式区分乱序与丢包,显著降低伪重传。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 17

右图还显示:相较早期 OOO-D(按乱序距离)算法,RACK-TLP 吞吐提升 7–18%,TLP 对尾部丢包尤为有效。

RoCE 不同模式对比:加入 Adaptive Routing 后表现更差。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 18

6.1.2 拥塞控制

Fabric 拥塞与 incast:5→1 incast,5000:1 压力下 Falcon p99 延迟约为理想值 2 倍,RoCE 高达 8.5 倍;Falcon 总吞吐近线速,RoCE 丢失 13%。说明 Swift 变体在高拥塞下更快、更准地响应。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 19

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 20

Host 拥塞(接收端 PCIe 降速):展示 ncwnd 的价值。Falcon 能在约 5 个 RTT 内收敛到瓶颈带宽,瓶颈解除后也能更快恢复。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 21

6.1.3 多路径(仿真)

这一节基于仿真:两 Rack 各 24 host,对比单路径与多路径。

  • 高负载下多路径延迟可显著降低,并能承受更高网络负载:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 22

  • 拥塞感知调度优于简单轮询(高负载下低 2–4 倍延迟):

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 23

  • ASTRA-sim 模拟训练:多路径可减少通信时间并带来训练时间收益:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 24

6.1.4 硬件性能

不同消息 size 的延迟

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 25

Falcon p99 与中位数很接近,尾延迟控制较好。

带宽可扩展性与 Mops:单 QP 可达 20Mops,12 个 QP 达到 120Mops 峰值。

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 26

连接数扩展:对比 CX7,QP 增加后 CX7 延迟陡增,Falcon 更稳定:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 27

FAE scaling(prefetch):带 prefetch 的 FAE 在百万连接下仍保持稳定处理速率,并对响应延迟与 state size 较不敏感:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 28

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 29

隔离性:混合快流与慢流,无隔离时快流延迟增加 63 倍;启用动态反压后控制在约 3 倍:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 30

6.1.5 真实应用
  • MPI 集合通信(AllReduce/AllToAll):RDMA-Falcon 相对 TCP 提升 4.3–5.5 倍:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 31

  • HPC 应用(GROMACS、WRF):性能提升与时间缩短:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 32

  • NVMe-over-Falcon:网络存储可达本地 SSD 90%+:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 33

  • VM 热迁移:相较 Pony Express,关键阶段加速明显:

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 34


7. 相关工作要点(论文视角梳理)

论文用表格对比了多类方案(CC、多路径、可编程性、接口等):

Falcon可靠硬件传输解析:对比CIPU eRDMA多路径 - 图片 - 35

其中几个对比点值得关注:

  • Swift vs RTTCC:Swift 强调带内时间戳,RTTCC 偏带外 probe;
  • UET(UEC):偏 libfabric,与 IB Verbs 生态兼容路径不同;
  • SRD:更偏应用侧排序与接口选择;Falcon 强调“多路径 + 仍兼容 IB Verbs 严格语义”。

8. 总结:Falcon 的价值与边界

论文给出的总结要点是:Falcon 试图把硬件传输从“专用无损网络”带到“通用有损以太网数据中心”,并同时覆盖专用与通用工作负载。其关键特征包括:

  • 分层架构(ULP/TL/PDL/FAE)
  • 硬件机制 + 软件策略(可演进)
  • 原生多路径(同时兼顾有序语义)
  • SACK/RACK-TLP 等现代可靠性机制
  • 不依赖 PFC、无需特殊交换机功能即可获得可预测性能

从工程取舍角度看,Falcon 的设计亮点在于:在保持 IB Verbs 兼容的前提下,把“有损 + 多路径 + 可预测性能”这组矛盾约束尽可能同时满足;其挑战与潜在代价也集中在:片上资源规划、连接状态缓存体系、逐流状态与算法收敛、以及在极端 BDP/跨域场景下窗口与状态管理的复杂度。


参考资料

  1. Falcon: A Reliable, Low Latency Hardware Transport
    https://dl.acm.org/doi/10.1145/3718958.3754353
  2. 转自公众号作者:zartbot



上一篇:RDMA与RoCEv2十年反思:协议演进与无损网络陷阱
下一篇:RDMA与RoCEv2十年反思:协议演进、无损网络与现代化路径
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2025-12-24 20:52 , Processed in 0.413470 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

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