DCQCN ( Data Center Quantized Congestion Notification),數(shù)據(jù)中心量化擁塞通知。它是一種專門為數(shù)據(jù)中心網(wǎng)絡設計的端到端擁塞控制協(xié)議。其核心目的是在使用RDMA(RoCEv2) 的網(wǎng)絡中,高效地管理網(wǎng)絡擁塞,從而保證高吞吐、低延遲和零丟包(或極低丟包)。
簡單來說,DCQCN就是RDMA在以太網(wǎng)(RoCE)環(huán)境中的“交通警察”,它確保高速數(shù)據(jù)流不會造成網(wǎng)絡堵塞。
本文參閱文獻:Congestion Control for Large-Scale RDMA Deployments.pdf
為什么需要DCQCN?
現(xiàn)代數(shù)據(jù)中心應用需要高吞吐量和超低延遲網(wǎng)絡,具有低 CPU 開銷。標準 TCP/IP 堆棧不能滿足這些要求,但RDMA可以。在 IP 路由的數(shù)據(jù)中心網(wǎng)絡上,RDMA 使用 RoCEv2 協(xié)議部署,該協(xié)議依賴于基于優(yōu)先級的流量控制 (PFC) 可實現(xiàn)無中斷網(wǎng)絡。

但是,由于隊頭阻塞和帶寬分配不均等問題,PFC 會導致應用程序性能不佳。為了緩解這些問題,DCQCN誕生了。
DCQCN是如何工作的?

DCQCN 是一種基于速率的擁塞控制協(xié)議,它模仿了著名的QCN(Quantized Congestion Notification),但做了適應數(shù)據(jù)中心的修改,更適合RDMA的高性能、低開銷特性。
- 發(fā)送方:速率調(diào)節(jié)的起點(運行RDMA應用的服務器)
- 交換機:擁塞的檢測和通知者(支持ECN的交換機)
- 接收方:通知的轉(zhuǎn)發(fā)者(運行RDMA應用的服務器)
整個過程可以分為以下四個步驟:
步驟 1: 擁塞檢測與標記(在交換機發(fā)生)
交換機持續(xù)監(jiān)控其出口端口的隊列深度。當某個端口的隊列長度超過一個預設的閾值(Kmin)時,交換機判斷該端口發(fā)生了擁塞。對于經(jīng)過該擁塞端口的數(shù)據(jù)包,交換機會以一定概率將其IP頭中的ECN(顯式擁塞通知) 字段標記為“擁塞遭遇”(CE)。這個概率隨著隊列變長而增加。
步驟 2: 擁塞通知(接收方 -> 發(fā)送方)
被標記了ECN的數(shù)據(jù)包會繼續(xù)被發(fā)送到接收方服務器。接收方的網(wǎng)卡識別到這個ECN標記后,不會像傳統(tǒng)TCP一樣等待ACK包,而是立即生成并發(fā)送一個名為“CNP”(Congestion Notification Packet)的特殊控制包 directly返回給發(fā)送方。
CNP包非常小(約64字節(jié)),擁有最高優(yōu)先級,以確保它能最快速度地返回給發(fā)送方,幾乎無延遲地報告擁塞。
步驟 3: 速率調(diào)節(jié)(在發(fā)送方發(fā)生)
發(fā)送方收到CNP包后,就知道其發(fā)出的數(shù)據(jù)流在某處造成了網(wǎng)絡擁塞。發(fā)送方會根據(jù)內(nèi)置的算法立即降低其數(shù)據(jù)發(fā)送速率(Rate)。這個降速過程是多級的:
- 快速恢復:首先進行一次大幅度的降速(乘以一個小于1的因子,如 0.5),以快速緩解網(wǎng)絡壓力。
- 主動減少:之后進入一個階段,持續(xù)地、較小幅度地降低速率。
- 主動增加:當一段時間內(nèi)沒有收到新的CNP包時,發(fā)送方會認為擁塞已經(jīng)解除,開始緩慢地、逐步地增加發(fā)送速率(加法增加),以重新探知可用帶寬。
這個“降-增”的循環(huán)過程使得DCQCN能夠動態(tài)、平滑地適應網(wǎng)絡狀態(tài),既不會過于激進導致帶寬浪費,也不會過于保守導致延遲升高。
DCQCN的應用與部署
DCQCN由Mellanox(現(xiàn)NVIDIA的一部分)在其網(wǎng)卡中實現(xiàn),并廣泛應用于微軟等大型數(shù)據(jù)中心,以支持其云存儲、分布式緩存等需要高吞吐量和低延遲的服務。由于其重要性和影響力,DCQCN在2025年獲得了SIGCOMM“經(jīng)典之作獎”。
- AI與大模型訓練:在數(shù)據(jù)并行、流水線并行和張量并行等分布式訓練模式中,節(jié)點間需要頻繁同步海量參數(shù)(通常達百GB級別)。DCQCN能有效減少網(wǎng)絡擁塞,避免因PFC“剎?!被騺G包導致的計算長尾延遲,保障訓練任務高效運行。
- 高性能計算(HPC)??:用于需要極高網(wǎng)絡帶寬和極低延遲的科學計算、模擬等場景,DCQCN幫助RDMA實現(xiàn)接近線速的傳輸。
- 云存儲與分布式系統(tǒng):如微軟的云存儲服務,DCQCN保障了后端存儲節(jié)點間大數(shù)據(jù)塊傳輸?shù)男屎头€(wěn)定性,同時極大降低了CPU開銷。
要想實現(xiàn)DCQCN,你的數(shù)據(jù)中心網(wǎng)絡需要滿足一些特定條件,并理解其三個核心組件(對應下圖)的職責:
組件 | 角色與職責 | 硬件要求 |
?交換機 (CP)?? | 監(jiān)控出口隊列長度,超過閾值時根據(jù)RED算法對數(shù)據(jù)包進行ECN標記。 | 支持ECN和RED功能的標準數(shù)據(jù)中心交換機。 |
?接收端網(wǎng)卡 (NP)?? | 檢測帶有ECN標記的數(shù)據(jù)包,生成CNP擁塞通知包并返回給發(fā)送端。 | 支持RoCEv2的智能網(wǎng)卡 |
?發(fā)送端網(wǎng)卡 (RP)?? | 根據(jù)收到的CNP包降低發(fā)送速率;在未收到CNP時逐步提升速率。 | 支持RoCEv2的智能網(wǎng)卡 |
智算中心的硬件核心在于為 RoCEv2提供穩(wěn)定、高性能的無損網(wǎng)絡環(huán)境。這不僅需要網(wǎng)卡支持,更需要交換機的深度配合。CX-N系列數(shù)據(jù)中心交換機通過其超低時延、無損網(wǎng)絡技術、對大容量緩存的優(yōu)化、高級遙測功能以及對自動化運維的支持,為DCQCN協(xié)議在AI計算、高性能計算等場景中的高效、穩(wěn)定運行提供了堅實的硬件基礎。

-
網(wǎng)絡
+關注
關注
14文章
8031瀏覽量
92323 -
PFC
+關注
關注
49文章
1040瀏覽量
109980 -
數(shù)據(jù)中心
+關注
關注
16文章
5430瀏覽量
74370 -
擁塞控制
+關注
關注
0文章
15瀏覽量
8615
發(fā)布評論請先 登錄
一文詳解DCQCN擁塞控制算法

適用于數(shù)據(jù)中心和AI時代的800G網(wǎng)絡
RDMA簡介7之可靠傳輸
PCIe協(xié)議分析儀在數(shù)據(jù)中心中有何作用?
易天重點解析監(jiān)控系統(tǒng)在數(shù)據(jù)中心機房的重要性
數(shù)據(jù)中心中網(wǎng)絡擁塞的危害及其疏散方法的介紹
基于數(shù)據(jù)中心網(wǎng)絡拓撲感知型擁塞控制算法
基于流調(diào)度代價的數(shù)據(jù)中心網(wǎng)絡擁塞控制路由算法
淺談:RDMA能給數(shù)據(jù)中心帶來什么?
數(shù)據(jù)中心以太網(wǎng)和RDMA:超大規(guī)模環(huán)境下的問題

數(shù)字孿生在數(shù)據(jù)中心的應用場景

HPC和數(shù)據(jù)中心融合網(wǎng)絡面臨的技術挑戰(zhàn)

集中電源控制器在數(shù)據(jù)中心的應用

評論