Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

协同防御:利用DCQCN和PFC构建无拥塞、零丢包的数据中心网络

2025-09-12

DCQCN ( Data Center Quantized Congestion Notification),数据中心量化拥塞通知。它是一种专门为数据中心网络设计的端到端拥塞控制协议。其核心目的是在使用RDMA(RoCEv2) 的网络中,高效地管理网络拥塞,从而保证高吞吐、低延迟和零丢包(或极低丢包)。
简单来说,DCQCN就是RDMA在以太网(RoCE)环境中的“交通警察”,它确保高速数据流不会造成网络堵塞。
本文参阅文献:Congestion Control for Large-Scale RDMA Deployments.pdf

在现代RDMA数据中心网络中,PFC和DCQCN必须同时部署。PFC为RDMA提供了一个安全的、无损的链路层保障,而DCQCN则在更上层智能地管理流量,防止PFC的负面效应出现并优化全局网络效率。它们一快一慢,一局部一全局,共同构成了RoCE网络的拥塞管理基石。

DCQCN的运行条件

DCQCN依赖于PFC(Priority-based Flow Control) 来构建无损链路层,防止因为缓冲区过载导致的丢包。首先,在交换机端口上为承载RoCEv2流量的优先级(例如Priority 3)启用PFC。必须为每个端口预留足够的“空中”缓存(t_flight),以容纳在PFC PAUSE消息生效过程中,对端可能继续发送的数据包。(此值通常与端口速率和链路延迟有关)

数据中心交换机需要支持ECN和RED功能,这是CP(交换机)算法运行的基础。(大多数现代数据中心交换机都支持此功能。)

终端主机必须使用支持RoCEv2DCQCN的智能网卡(如NVIDIA ConnectX系列),并安装相应的驱动程序和管理工具(如dcbtool)。

PFC – 优先级流量控制

工作机制:接收端交换机端口上的某个优先级队列(如RoCE流量队列)的缓冲区即将被填满。接收端会向发送端发送一个 Pause Frame,告诉它“暂停发送”这个特定优先级的流量。发送端收到后,立即停止发送该优先级的流量,直到接收端发送“解除暂停”的信号或等待一段时间后超时恢复。PFC可以实现无损网络,确保在拥塞时也不会丢包。这对于RDMA的可靠性和性能至关重要。

DCQCN – 数据中心量化拥塞通知

工作机制:交换机检测到拥塞,给数据包打上标记。接收端收到标记包后,向发送端发送拥塞通知包。发送端收到通知后,主动降低自己的发送速率,从源头上减少注入网络的数据量。DCQCN主动管理拥塞,通过降低发送速率来缓解网络中的拥塞点,同时保证不同数据流之间的公平性。

DCQCN与PFC的协同配置

在实际的RoCE网络中,PFC和DCQCN是同时启用、协同工作的。它们的交互流程完美呈现了“治标”与“治本”的结合:

瞬时微突发: 当网络中出现短暂的流量突发时,交换机缓冲区可能瞬间被填满。此时,PFC会迅速介入,触发暂停机制,防止了丢包。这是“治标”,解决了瞬时问题。

持续拥塞: 如果拥塞是持续性的(例如多个服务器同时向一个目标发送大量数据),PFC会反复被触发。虽然它防止了丢包,但并没有解决根本问题。拥塞还在持续,缓冲区始终很高,最终导致延迟增加。

DCQCN根除拥塞: 就在PFC工作的同时,交换机也检测到了持续的拥塞(高队列深度)。它开始给数据包打ECN标记。接收端生成CNP,CNP通知发送端降低速,DCQCN机制随后被激活,交换机队列深度开始下降,拥塞根源得到缓解。随着DCQCN发挥作用,网络中的拥塞被消除,交换机缓冲区水位下降。PFC检测到队列低于阈值,便会发送“解除暂停”的信号,链路恢复正常传输。

特性PFCDCQCN
层级数据链路层网络层/传输层
范围逐跳端到端
机制发送暂停帧,强制停止发送发送通知,建议发送端降速
目标治标:实现无损,避免丢包治本:管理拥塞源,消除拥塞
比喻交警在路口临时封路交通中心让所有车辆慢行
协作角色应急刹车,应对瞬时突发巡航控制,进行长期流量调节
DCQN与PFC的协同工作,构成了现代RDMA数据中心网络拥塞管理的黄金标准。它们并非简单的替代关系,而是相辅相成、各司其职的完美搭档:PFC在链路层提供毫秒级的无损保障,果断处置瞬时突发,为高性能应用守住“零丢包”的生命线;而DCQCN在端到端层面实施精细化的速率调控,从源头化解持续拥塞,确保了网络整体的高效与公平。
正是这种“局部快速制动”与“全局智能调速”的深度融合,才共同铸就了高速、稳定、可扩展的新一代数据中心网络的坚实根基,使得RDMA技术得以在以太网上释放其全部潜能。

DCQCN的应用与部署

DCQCN由Mellanox(现NVIDIA的一部分)在其网卡中实现,并广泛应用于微软等大型数据中心,以支持其云存储、分布式缓存等需要高吞吐量和低延迟的服务。由于其重要性和影响力,DCQCN在2025年获得了SIGCOMM“经典之作奖”。

  • AI与大模型训练:在数据并行、流水线并行和张量并行等分布式训练模式中,节点间需要频繁同步海量参数(通常达百GB级别)。DCQCN能有效减少网络拥塞,避免因PFC“刹停”或丢包导致的计算长尾延迟,保障训练任务高效运行。
  • 高性能计算(HPC)​​:用于需要极高网络带宽和极低延迟的科学计算、模拟等场景,DCQCN帮助RDMA实现接近线速的传输。
  • 云存储与分布式系统:如微软的云存储服务,DCQCN保障了后端存储节点间大数据块传输的效率和稳定性,同时极大降低了CPU开销。

要想实现DCQCN,你的数据中心网络需要满足一些特定条件,并理解其三个核心组件(对应下图)的职责:

组件角色与职责硬件要求
​交换机 (CP)​​监控出口队列长度,超过阈值时根据RED算法对数据包进行ECN标记。支持ECN和RED功能的标准数据中心交换机。
​接收端网卡 (NP)​​检测带有ECN标记的数据包,生成CNP拥塞通知包并返回给发送端。支持RoCEv2的智能网卡
​发送端网卡 (RP)​​根据收到的CNP包降低发送速率;在未收到CNP时逐步提升速率。支持RoCEv2的智能网卡

智算中心的硬件核心在于为 RoCEv2提供稳定、高性能的无损网络环境。这不仅需要网卡支持,更需要交换机的深度配合。CX-N系列数据中心交换机通过其超低时延、无损网络技术、对大容量缓存的优化、高级遥测功能以及对自动化运维的支持,为DCQCN协议在AI计算、高性能计算等场景中的高效、稳定运行提供了坚实的硬件基础。

【参考文献】

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2