CN117544567A - 存传一体的rdma数据中心拥塞控制方法 - Google Patents
存传一体的rdma数据中心拥塞控制方法 Download PDFInfo
- Publication number
- CN117544567A CN117544567A CN202410027995.4A CN202410027995A CN117544567A CN 117544567 A CN117544567 A CN 117544567A CN 202410027995 A CN202410027995 A CN 202410027995A CN 117544567 A CN117544567 A CN 117544567A
- Authority
- CN
- China
- Prior art keywords
- congestion
- receiving end
- network card
- ssd
- flag bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012546 transfer Methods 0.000 title claims description 9
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 230000004927 fusion Effects 0.000 claims description 4
- 238000009499 grossing Methods 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims 1
- 238000009825 accumulation Methods 0.000 abstract description 4
- 238000004883 computer application Methods 0.000 abstract description 2
- 238000013403 standard screening design Methods 0.000 description 74
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开存传一体的RDMA数据中心拥塞控制方法,属于计算机应用技术领域,包括:接收端接收数据包时,记录ECN标志位,根据接收端网卡的缓存占用检测接收端网卡侧拥塞程度;接收端通过跟踪单位时间内接收端网卡向SSD发送报文的数量以及使用写盘的EWMA时延实时刻画SSD侧的拥塞程度;接收端融合ECN标志位、接收端网卡拥塞标志位、SSD拥塞标志位三者的拥塞信息,更新反馈信号ACK中的拥塞标志位,并反馈给发送端;发送端根据ACK更新速率变量Rate,控制发送端的发送速率,有效解决了当前网卡与SSD间带宽不匹配,容易堆积并反压网卡、无法有效处理网卡与SSD侧数据的堆积等问题。
Description
技术领域
本发明属于计算机应用技术领域,具体涉及存传一体的RDMA数据中心拥塞控制方法。
背景技术
高带宽、低延迟是网络应用对数据中心的基本需求。然而,随着数据中心流量规模不断增大,在极短时间内传输大量数据传输极具挑战。传统的TCP协议已经成为现代数据中心发展的瓶颈。传统的TCP协议设计初衷是为了以毫秒级的时延将数据包由网络一端传输至另一端,难以满足当前应用对网络微秒级的数据传输需求。具体来说,TCP/IP 协议在数据包处理过程中,要经过操作系统及其他软件层,将数据在系统内存、处理器缓存和网络控制器缓存间来回复制。上述操作给服务器的CPU 和内存造成了沉重的负担,并加重了网络带宽、处理器速度与内存带宽三者间的“不匹配性”,引起了较长的网络延迟。当下,越来越多的数据中心正在采用RDMA取代TCP。得益于零拷贝网络和内核旁路机制,RDMA可以实现高吞吐量和低延迟的网络性能。与使用传统模式发送、接收数据相比,RDMA给数据中心的数据传输带来了更低的传输时延、更高的吞吐量、超低的CPU和内存资源占用率等特性。
目前,RDMA数据中心常见的拥塞控制协议,如DCQCN、TIMELY、HPCC等,由于没有考虑端侧的拥塞控制,难以将接收端网卡和SSD的拥塞状况准确反映到发送端,并且无法根据端侧网卡和SSD的拥塞状况做出及时的调整。Gimbal算法在端侧实现了基于延迟的SSD拥塞控制算法、SSD写入成本的动态估计、以virtual slots为粒度运行的公平调度和端到端的的基于credit流量控制。可以有效提高吞吐量并降低尾延。但是,Gimbal算法适用于定制硬件,普通数据中心的环境对Gimbal不适用, 因此,需要一种能够在普通商用网卡上运行的、对端侧拥塞进行有效处理的拥塞控制方法。
发明内容
本发明的目的是为RDMA数据中心提供一种存传一体的拥塞控制方法,通过综合考虑了网络、网卡、SSD三个可能的拥塞点。通过融合三方的拥塞信息,对发送端进行拥塞反馈。有效解决网卡与SSD直接速率不匹配,容易堆积并反压网卡、现有端侧拥塞处理方案无法协同处理网络侧拥塞等问题。
本发明是通过以下技术方案来实现的,存传一体的RDMA数据中心拥塞控制方法,所述方法包括如下步骤:
步骤1:发送端发送数据包,数据包在网络中通过拥塞端口时,会被交换机标记上
ECN;接收端接收数据包时,记录ECN标志位,同时监听接收端网卡的缓存占用NIC buffer,
检测接收端网卡侧拥塞程度,更新接收端网卡拥塞标志位;
步骤2:为了快速响应拥塞,接收端通过跟踪单位时间内接收端网卡向SSD发送报
文的数量,预测SSD可能发生的拥塞,更新SSD标志位;
步骤3:为了在快速响应拥塞的同时保证拥塞反馈的准确性,接收端使用写盘的
EWMA时延实时刻画SSD侧的拥塞程度,更新SSD标志位;
步骤4:融合标志位和标志位,如果步骤2中或步骤3中检测结果为拥塞,
则SSD侧存在拥塞,否则SSD侧不存在拥塞,更新SSD拥塞标志位;根据步骤2标志位
和步骤3标志位的结果更新SSD拥塞标志位,步骤2或步骤3检测出SSD拥塞,则将
SSD拥塞标志位置为1,否则将SSD拥塞标志位置为0;
步骤5:接收端融合ECN标志位、接收端网卡拥塞标志位、SSD 拥塞标志位
三者的拥塞信息,更新反馈信号ACK中的拥塞标志位,并反馈给发送端;
步骤6:发送端收到带有拥塞标志的反馈信号ACK后,更新速率变量Rate,并根据速率变量Rate调整窗口大小,控制发送端的发送速率。
进一步地,步骤1所述的接收端接收数据包时,记录ECN标志位,同时监听接收端网
卡缓存占用NIC buffer,检测接收端网卡侧拥塞程度,更新接收端网卡拥塞标志位;具
体如下:
步骤1-1:对接收端网卡缓存预先设定阈值Kmin、Kmax,当接收端网卡收到数据包落盘反馈后,记录ECN标志位,同时监听接收端网卡的缓存占用NIC buffer;
步骤1-2:当接收端网卡的缓存占用NIC buffer、阈值Kmin、Kmax之间满足NIC
buffer <Kmin时,表示不存在拥塞,将接收端网卡拥塞标记位置为0;
步骤1-3:当接收端网卡的缓存占用NIC buffer、阈值Kmin、Kmax之间满足Kmax≥
NIC buffer ≥ Kmin时,根据接收端网卡的缓存占用NIC buffer情况计算梯度概率PCT,并
以梯度概率PCT更新接收端网卡拥塞标记位;设置一个概率指数,由以下公式
计算概率PCT:
;
由接收端生成一个0-1之间的随机数N,当梯度概率PCT≥N时,将接收端网卡拥塞
标记置为1;当梯度概率PCT<N时,将接收端网卡拥塞标记置为0;
步骤1-4:当接收端网卡的缓存占用NIC buffer、阈值Kmin, Kmax之间满足NIC
buffer >Kmax时,表示存在拥塞,直接将接收端网卡拥塞标记位置为1。
进一步地,步骤2所述的接收端通过跟踪单位时间内接收端网卡向SSD发送报文的
数量,检测拥塞程度,更新SSD标志位,具体如下:
步骤2-1:接收端网卡为挂载的每个SSD维护一个报文计数器Data,记录单位时间内接收端网卡向对应SSD发送的数据量,当接收端网卡向SSD发送一个数据包时,使用如下方式更新报文计数器:
;
其中,代表当前发送的数据包的大小;为当前的报文计数器,
为原本的报文计数器;
步骤2-2:每隔时间T,接收端检查报文计数器Data,设定报文计数器Data单位时间
T内接收端网卡向SSD内写入的数据量的阈值,如果报文计数器Data和阈值之间满足 Data,代表接收端网卡单位时间内向SSD发送的
报文过多,存在拥堵,则将SSD标志位置为1,否则将SSD标志位置为0;并使用如下
公式重置所有报文计数器计数:
。
进一步地,步骤3所述的接收端使用写盘的EWMA时延实时刻画SSD侧的拥塞程度,
更新SSD标志位,具体如下:
步骤3-1:每个接收端网卡维护一个流表flowTable,流表flowTable记录接收端网
卡发送的每个数据包的源IP地址sip、目的端口号port和发送数据包的时刻sendTime,接收
端网卡向SSD发送数据包后,使用sendTime属性记录当前时间戳,具体
为:
;
步骤3-2:接收端网卡收到SSD发来的落盘反馈后,再次获取当前时间戳,并根据当前时间戳和流表flowTable计算写盘时延
Latency,具体为:
;
步骤3-3:为了过滤写盘时延Latency计算的不准确性和瞬态抖动,使用写盘时延
Latency和平滑系数更新写盘的EWMA时延,具体操作如下:
;
其中,表示上一次的写盘的EWMA时延,表示当前写盘的
EWMA时延;
步骤3-4:设定时延阈值,如果与阈值之间满足,存在拥堵,则将SSD标志位置为1;否则将SSD标志位置为0。
进一步地,步骤5所述的接收端融合ECN标志位、接收端网卡拥塞标志位、SSD
拥塞标志位三者的拥塞信息,更新反馈信号ACK中的拥塞标志位,并反馈给发送
端,具体如下:
步骤5-1:接收端收到数据包的落盘信号后,生成向发送端的反馈信号ACK;
步骤5-2:如果接收端数据包的ECN标志位、网卡拥塞标志位和SSD拥塞标志位满足或或,则将ACK中的拥塞标志位置为1,否则将拥塞
标志位置为0;
步骤5-3:接收端向发送端发送带有拥塞标志位的ACK,并将接收端网卡拥塞标志
位和SSD拥塞标志位重置为0。
进一步地,步骤6所述的发送端收到带有拥塞标志的反馈信号ACK后,更新速率变量Rate,并根据速率变量Rate调整窗口大小,控制发送端的发送速率,具体如下:
步骤6-1:开始时,默认以链路带宽C作为速率变量Rate的初始值,并根据当前网络
拓扑的baseRTT设置初始窗口大小,baseRTT定义为当前没有遇到任何拥塞时数据包
的RTT,在数据中心网络中,baseRTT看成是一个定值,具体为:
;
步骤6-2:发送端收到带有拥塞标志的ACK后,使用DCQCN更新速率变量Rate,并更新窗口值Win,更新窗口值的公式如下:
。
发送端收到带有拥塞标志的ACK后,为避免过度反应,发送端在N us的周期内只会对同一个数据流的一个拥塞标志做出反应。
上述是从针对RDMA数据中心中端网协同拥塞控制关键技术问题展开研究,为解决端网速率不匹配的问题提出存传一体的数据中心拥塞控制方法。网卡与SSD间带宽的不匹配,将导致数据在网卡及SSD中进行堆积,从而反压网络,导致数据传输速度慢,处理效率低等问题。目前绝大部分研究工作主要关注如何处理数据在网络中的拥塞,无法有效处理网卡与SSD侧数据的堆积问题。
本发明具有以下有益效果:
(1)本发明将端侧与网络侧的拥塞情况协同考虑,设计了多方拥塞信号融合与处理方案,可以同时兼顾网络、网卡、SSD可能存在的拥塞。通过多信号融合与处理,可有效评估端侧和网络侧的拥塞状态,并将细粒度的拥塞状态反馈至发送端,由发送端进行合理的速率调节。
(2)通过跟踪单位时间内接收端网卡向SSD发送报文的数量和使用写盘的EWMA时延实时刻画SSD侧的拥塞程度,使用主动预测和被动检测两种方式共同刻画SSD的拥塞状态,可以快速高效地获得SSD中的拥塞信息。解决了SSD带宽动态变化且数据堆积细节不可知引起的端侧拥塞状态难感知的问题。
(3)对网卡缓存状态进行监听,并将其作为拥塞信号之一进行拥塞控制方法设计,大幅降低网卡缓存的空间占用率,使设计的拥塞控制方案可有效部署于数据中心现有的基础设施上。
(4)使用窗口控制链路中inflight数据包数量,可以加快发送端速率收敛,快速消除端侧和网络侧存在的拥塞。并且可以有效容忍因拥塞点排队延迟而导致的反馈延迟。
(5)拥塞反馈信号由ACK直接携带至发送端,不需要额外的拥塞反馈报文,节省了网络开支。
附图说明
图1是本发明实施例的总体流程图。
图2是本发明实施例中接收端处的流程图。
图3是本发明实施例中发送端处的流程图。
具体实施方式
下面结合说明书附图对本发明的技术方案做进一步的详细说明。
本发明提出了存传一体的RDMA数据中心拥塞控制方法,包括以下三个主体:
反映点RP:本发明为发送端,当收到携带了拥塞标记位的ACK报文时,RP判断出当前流量发送速率会导致网络拥塞。需要更新速率变量Rate并调节窗口大小。
拥塞点CP:本发明为交换机、网卡、SSD,会分别通过不同的方式进行拥塞检测。
通知点NP:本发明中为网卡,会在向发送端返回ACK时综合考虑网络、网卡、SSD三方面的拥塞情况,生成融合的拥塞控制信号,由ACK携带至发送端。
本发明由拥塞检测模块、反馈信号生成模块、发送方速率调节模块组成,图1为存传一体的RDMA数据中心拥塞控制方法的总体流程图。
(一)、拥塞检测模块包括以下步骤:图2为接收端处的流程图,如图2所示,
步骤1:发送端发送数据包。数据包在网络中通过拥塞端口时,会被交换机标记上
ECN。接收端在接收数据包时,记录ECN标志位,同时监听接收端网卡的缓存占用,更新接收
端网卡拥塞标志位;如果接收端网卡的缓存占用超过设定的阈值,表示存在拥堵,将接
收端网卡拥塞标志位置为1,否则置为0。
步骤1-1:对接收端网卡缓存预先设定阈值Kmin, Kmax;当接收端网卡收到数据包落盘反馈后,记录ECN标志位,同时监听接收端网卡的缓存占用NIC buffer;
ECN是RFC 3168文档所定义,在数据包内设置一个拥塞标志位。兼容ECN的交换机会在检测到拥塞时对网络数据包打ECN标记,在这里,接收端在接收数据包时,会检测数据包中是否被标记了ECN,如果是,将该数据包的ECN标志位置为1,否则置为0。交换机对ECN的具体处理过程和现有的拥塞控制方法DCQCN完全相同,不再赘述。
步骤1-2:当接收端网卡缓存占用NIC buffer、阈值Kmin, Kmax之间满足NIC
buffer < Kmin时,将接收端网卡拥塞标记位置为0,代表接收端网卡的缓存占用不存
在拥塞;
步骤1-3:当接收端网卡缓存占用NIC buffer、阈值Kmin, Kmax之间满足Kmax≥
NIC buffer≥ Kmin时,根据接收端网卡的缓存占用情况计算梯度概率PCT,并以概率PCT更
新接收端网卡拥塞标记。设置一个概率指数,由以下公式计算概率PCT:
由接收端生成一个0-1之间的随机数N,当梯度概率PCT≥N,将接收端网卡拥塞标
记置为1;当梯度概率PCT<N,将接收端网卡拥塞标记置为0。
步骤1-4:当接收端网卡缓存占用NIC buffer、阈值Kmin, Kmax之间满足NIC
buffer > Kmax时,直接将接收端网卡拥塞标记位置为1。
步骤2: 为了尽可能的快速响应拥塞,接收端通过跟踪单位时间内接收端网卡向
SSD发送报文的数量,预测SSD可能发生的拥塞,更新SSD标志位,拥塞时,将置为
1,不拥塞时,将置为0。
步骤2-1:接收端网卡挂载的每个SSD维护一个报文计数器Data,记录单位时间内接收端网卡向对应SSD发送的数据量,当接收端网卡向SSD发送一个数据包时,使用如下方式更新报文计数器:
其中,代表当前发送的数据包的大小;Data在原本的基础上再加上
packet.Size;
步骤2-2:每隔时间T,接收端检查报文计数器Data,如果报文计数器Data和阈值之间满足Data,代表接收端网卡单位时间内向SSD发送的报
文过多,存在拥堵,则将SSD标志位置为1,否则将SSD标志位置为0。并使用如下公
式重置所有报文计数器计数:
步骤3:为了在快速响应拥塞的同时保证拥塞反馈的准确性,使用分层的拥塞检
测,在步骤2进行拥塞预测的同时,接收端使用写盘的EWMA时延实时刻画SSD侧的拥塞程度,
更新SSD标志位,拥塞时,将置为1,不拥塞时,将置为0。
步骤3-1:每个接收端网卡维护一个流表flowTable,流表flowTable记录接收端网
卡发送的每个数据包的源IP地址(sip)、目的端口号(port)和发送数据包的时刻
(sendTime),接收端网卡向SSD发送数据包后,使用sendTime属性记录当前时间戳,具体进行如下操作:
步骤3-2:接收端网卡收到SSD发来的落盘反馈后,再次获取当前时间戳,并根据当前时间戳和flowTable计算写盘时延
Latency,具体操作如下:
步骤3-3:为了过滤写盘时延Latency计算的不准确性和瞬态抖动,使用写盘时延
Latency和平滑系数更新写盘的EWMA时延,对时延信号进行平滑处理,从而评估
SSD当前拥塞程度,具体操作如下:
;
其中,表示上一次的写盘的EWMA时延,表示当前的写盘
的EWMA时延;
步骤3-4:如果EWMA时延与阈值之间满足,存在拥堵,则将SSD标志位置为1;否则将SSD标志位置为0。
步骤2和步骤3是对SSD分层进行拥塞预测和实时拥塞预测,在其中任一步中检测
出拥塞,SSD拥塞标志都会被置为1,否则将SSD拥塞标志位置为0。
(二)、反馈信号生成模块包括以下步骤:
步骤4: 接收端融合网络(ECN标志位)、网卡(接收端网卡拥塞标志位)、SSD
(SSD 拥塞标志位)三者的拥塞信息,更新反馈信号ACK中的拥塞标志位,并反馈给
发送端。
步骤4-1:接收端收到数据包的落盘信号后,生成向发送端的反馈信号ACK。
步骤4-2:如果数据包的ECN标志位、接收端网卡拥塞标志位和SSD拥塞标志位满足或或,则将ACK中的拥塞标志位置为置为1,否则将
拥塞标志位置为0。
步骤4-3:接收端向发送端发送反馈信号ACK,并将网卡拥塞标志和SSD拥塞标
志重置为0。
(三)、发送方速率调节模块包括以下步骤:
步骤5:发送端收到带有拥塞标志位=1的ACK后,更新速率变量Rate,并根据速
率变量Rate调整窗口大小,控制发送端的发送,图3为发送端处的流程图,如图3所示。
步骤5-1:开始时,默认以链路带宽C作为速率变量Rate的初始值。并根据当前网络
拓扑的baseRTT设置初始窗口大小,baseRTT定义为当前没有遇到任何拥塞时数据包
的RTT,在数据中心网络中,多数情况下baseRTT可以看成是一个定值。具体操作如下所示:
速率变量Rate的初始值;
步骤5-2:发送端收到带有拥塞标志的ACK后,使用DCQCN更新速率变量Rate,更新窗口值Win。为避免过度反应,发送方在N毫秒的周期内只会对同一个数据流的一个拥塞标志做出反映。更新窗口值的公式如下:
仿真实验:
这里使用有256个服务器节点的类fat-tree拓扑,链路带宽100Gbps,链路时延1us。其中,240个节点为计算节点,16个节点为存储节点,每个存储节点搭载4个SSD。存储节点网卡NIC buffer大小为6MB,每个SSD的控制器内缓存为20MB。SSD以8KB为单位对数据包进行落盘操作,落盘的速度为每8KB需要8~12μs。使用AliStorage2019工作负载生成流量,依据SSD的消费能力设定了重度负载(100%)、中度负载(80%)、轻度负载(50%)三种场景。每种场景下分别测试了DCQCN、HPCC、Timely、Gimbal与本发明的方法下的流量的传输时延和IOPS。
实验结果如下:
表1 重度负载总体时延
如表1所示,在重度负载下,DCQCN平均时延约15.2ms,尾时延(99th)约73.2ms,HPCC平均时延约11.6ms,尾时延(99th)约46.9ms,Timely平均时延约15.9ms,尾时延(99th)约77.9ms,Gimbal平均时延约17.9ms,尾时延(99th)约73.6ms,其中,HPCC在四组对比算法中表现最好。本发明将平均时延降低到了约3.3ms,将尾时延(99th)降低到了约14.7ms,相比HPCC,平均时延下降了约71.6%,尾时延(99th) 下降了约68.7%。
表2 重度负载平均IOPS
从表2可以看出,在重度负载下,三个算法中DCQCN的整体IOPS最好,为约23.3万次,本发明与之对比,IOPS上升了约63.8%。
表3 中度负载总体时延
如表3所示,在中度负载下,DCQCN平均时延约15.6ms,尾时延(99th)约75.8ms,HPCC平均时延约10.7ms,尾时延(99th)约46.5ms,Timely平均时延约15.3ms,尾时延(99th)约77.5ms,Gimbal平均时延约17.1ms,尾时延(99th)约75.1ms,其中,HPCC在四组对比算法中表现最好。本发明将平均时延降低到了约1.3ms,将尾时延(99th)降低到了约8.1ms,相比HPCC,平均时延下降了约87.9%,尾时延(99th) 下降了约82.6%。
表4 中度负载平均IOPS
从表4可以看出,在中度负载下,三个算法中DCQCN的整体IOPS最好,约为23.9万次,本发明与之对比,IOPS上升了 约37.5%。
表5 轻度负载 总体时延
如表5所示,在轻度负载下,DCQCN平均时延约5.3ms,尾时延(99th)约45.6ms,HPCC平均时延约6.5ms,尾时延(99th)约46.5ms,Timely平均时延约7.2ms,尾时延(99th)约54.2ms,Gimbal平均时延约12.6ms,尾时延(99th)约70.0ms,其中,DCQCN在四组对比算法中表现最好。本发明将平均时延降低到了约0.9ms,将尾时延(99th)降低到了约5.5ms,相比DCQCN,平均时延下降了约83.1%,尾时延(99th) 下降了约87.0%。
表6 轻度负载平均IOPS
从表6可以看出,在轻度负载下,三个算法中DCQCN的整体IOPS最好,为22.9万次,本发明与之对比,IOPS上升了约15.3%。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (9)
1.存传一体的RDMA数据中心拥塞控制方法,其特征在于,所述方法包括如下步骤:
步骤1:发送端发送数据包,数据包在网络中通过拥塞端口时,被交换机标记上ECN;接收端接收数据包时,记录ECN标志位,同时监听接收端网卡的缓存占用NIC buffer,检测接收端网卡侧拥塞程度,更新接收端网卡拥塞标志位;
步骤2:接收端通过跟踪单位时间内接收端网卡向SSD发送报文的数量,检测拥塞程度,更新SSD标志位;
步骤3:接收端使用写盘的EWMA时延实时刻画SSD侧的拥塞程度,更新SSD标志位;
步骤4:融合标志位和标志位/>,如果步骤2中或步骤3中检测结果为拥塞,则SSD侧存在拥塞,否则SSD侧不存在拥塞,更新SSD拥塞标志位/>;
步骤5:接收端融合ECN标志位、接收端网卡拥塞标志位、SSD 拥塞标志位/>三者的拥塞信息,更新反馈信号ACK中的拥塞标志位/>,并反馈给发送端;
步骤6:发送端收到带有拥塞标志的反馈信号ACK后,更新速率变量Rate,并根据速率变量Rate调整窗口大小,控制发送端的发送速率。
2.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤1所述的接收端接收数据包时,记录ECN标志位,同时监听接收端网卡的缓存占用NICbuffer,检测接收端网卡侧拥塞程度,更新接收端网卡拥塞标志位;具体如下:
步骤1-1:对接收端网卡缓存预先设定阈值Kmin、Kmax,当接收端网卡收到数据包落盘反馈后,记录ECN标志位,同时监听接收端网卡的缓存占用NIC buffer;
步骤1-2:当接收端网卡的缓存占用NIC buffer、阈值Kmin、Kmax之间满足NIC buffer<Kmin时,表示不存在拥塞,将接收端网卡拥塞标记位置为0;
步骤1-3:当接收端网卡的缓存占用NIC buffer、阈值Kmin、Kmax之间满足Kmax≥NICbuffer ≥ Kmin时,根据接收端网卡的缓存占用NIC buffer情况计算梯度概率PCT,并以梯度概率PCT更新接收端网卡拥塞标记位;设置一个概率指数/>,由以下公式计算概率PCT:
;
步骤1-4:当接收端网卡的缓存占用NIC buffer、阈值Kmin, Kmax之间满足NIC buffer>Kmax时,表示存在拥塞,将接收端网卡拥塞标记位置为1。
3.根据权利要求2所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤1-3中,由接收端生成一个0-1之间的随机数N,当梯度概率PCT≥N时,将接收端网卡拥塞标记置为1;当梯度概率PCT<N时,将接收端网卡拥塞标记/>置为0。
4.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤2所述的接收端通过跟踪单位时间内接收端网卡向SSD发送报文的数量,检测拥塞程度,更新SSD标志位,具体如下:
步骤2-1:记录单位时间内接收端网卡向对应SSD发送的数据量,当接收端网卡向SSD发送一个数据包时,使用如下方式更新报文计数器:
;
其中,代表当前发送的数据包的大小;/>为当前的报文计数器,/>为原本的报文计数器;
步骤2-2:每隔时间T,接收端检查报文计数器Data,设定报文计数器Data单位时间T内接收端网卡向SSD内写入的数据量的阈值,如果报文计数器Data和阈值之间满足 Data/>,代表接收端网卡单位时间内向SSD发送的报文过多,存在拥堵,则将SSD标志位/>置为1,否则将SSD标志位/>置为0;并使用如下公式重置所有报文计数器计数:
。
5.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤3所述的接收端使用写盘的EWMA时延实时刻画SSD侧的拥塞程度,更新SSD标志位,具体如下:
步骤3-1:每个接收端网卡维护一个流表flowTable,流表flowTable记录接收端网卡发送的每个数据包的源IP地址sip、目的端口号port和发送数据包的时刻sendTime,接收端网卡向SSD发送数据包后,使用sendTime属性记录当前时间戳,具体为:
;
步骤3-2:接收端网卡收到SSD发来的落盘反馈后,再次获取当前时间戳,并根据当前时间戳/>和流表flowTable计算写盘时延Latency,具体为:
;
步骤3-3:使用写盘时延Latency和平滑系数更新写盘的EWMA时延,具体操作如下:
;
其中,表示上一次的写盘的EWMA时延,/>表示当前写盘的EWMA时延;
步骤3-4:设定时延阈值,如果/>与阈值/>之间满足/>,存在拥堵,则将SSD标志位/>置为1;否则将SSD标志位/>置为0。
6.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤4具体为:根据步骤2标志位和步骤3标志位/>的结果更新SSD拥塞标志位/>,步骤2或步骤3检测结果为拥塞,则将SSD拥塞标志位/>置为1,否则将SSD拥塞标志位/>置为0。
7.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤5所述的接收端融合ECN标志位、接收端网卡拥塞标志位、SSD 拥塞标志位/>三者的拥塞信息,更新反馈信号ACK中的拥塞标志位/>,并反馈给发送端,具体如下:
步骤5-1:接收端收到数据包的落盘信号后,生成向发送端的反馈信号ACK;
步骤5-2:如果接收端数据包的ECN标志位、网卡拥塞标志位和SSD拥塞标志位/>满足/>或/>或/>,则将ACK中的拥塞标志位/>置为1,否则将拥塞标志位/>置为0;
步骤5-3:接收端向发送端发送带有拥塞标志位的ACK,并将接收端网卡拥塞标志位和SSD拥塞标志位/>重置为0。
8.根据权利要求1所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,步骤6所述的发送端收到带有拥塞标志的反馈信号ACK后,更新速率变量Rate,并根据速率变量Rate调整窗口大小,控制发送端的发送速率,具体如下:
步骤6-1:开始时,默认以链路带宽C作为速率变量Rate的初始值,并根据当前网络拓扑的baseRTT设置初始窗口大小,在数据中心网络中,baseRTT看成是一个定值,具体为:
;
步骤6-2:发送端收到带有拥塞标志的ACK后,使用DCQCN更新速率变量Rate,并更新窗口值Win,更新窗口值的公式如下:
。
9.根据权利要求8所述的存传一体的RDMA数据中心拥塞控制方法,其特征在于,发送端收到带有拥塞标志的ACK后,发送端在N us的周期内只会对同一个数据流的一个拥塞标志做出反应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410027995.4A CN117544567B (zh) | 2024-01-09 | 2024-01-09 | 存传一体的rdma数据中心拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410027995.4A CN117544567B (zh) | 2024-01-09 | 2024-01-09 | 存传一体的rdma数据中心拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117544567A true CN117544567A (zh) | 2024-02-09 |
CN117544567B CN117544567B (zh) | 2024-03-19 |
Family
ID=89794244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410027995.4A Active CN117544567B (zh) | 2024-01-09 | 2024-01-09 | 存传一体的rdma数据中心拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117544567B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291389A (zh) * | 2011-07-14 | 2011-12-21 | 南京邮电大学 | 一种卫星网络中跨层拥塞控制方法 |
US20190044861A1 (en) * | 2018-09-26 | 2019-02-07 | Intel Corporation | Technologies for congestion control for ip-routable rdma over converged ethernet |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
CN112910789A (zh) * | 2019-12-03 | 2021-06-04 | 华为技术有限公司 | 拥塞控制方法以及相关设备 |
WO2021203985A1 (zh) * | 2020-04-09 | 2021-10-14 | 华为技术有限公司 | 一种拥塞信息同步的方法以及相关装置 |
US11258719B1 (en) * | 2020-08-24 | 2022-02-22 | Keysight Technologies, Inc. | Methods, systems and computer readable media for network congestion control tuning |
US20220094640A1 (en) * | 2019-06-17 | 2022-03-24 | Huawei Technologies Co., Ltd. | Congestion control method and apparatus, communications network, and computer storage medium |
CN114513472A (zh) * | 2020-10-29 | 2022-05-17 | 华为技术有限公司 | 网络拥塞控制方法及装置 |
WO2023011179A1 (zh) * | 2021-08-05 | 2023-02-09 | 清华大学 | 一种拥塞控制方法及装置 |
CN115883463A (zh) * | 2022-11-14 | 2023-03-31 | 北京邮电大学 | 基于网络负载的数据中心内拥塞控制方法和系统 |
US20230107366A1 (en) * | 2020-05-30 | 2023-04-06 | Huawei Technologies Co., Ltd. | Network congestion control method, apparatus, device, and system, and storage medium |
US20230127722A1 (en) * | 2022-05-17 | 2023-04-27 | Intel Corporation | Programmable transport protocol architecture |
CN116471238A (zh) * | 2023-03-28 | 2023-07-21 | 广州大学 | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 |
CN116489106A (zh) * | 2023-06-21 | 2023-07-25 | 新华三技术有限公司 | 一种拥塞控制方法、装置、转发芯片及客户端 |
US20230344777A1 (en) * | 2022-04-20 | 2023-10-26 | Oracle International Corporation | Customized processing for different classes of rdma traffic |
CN117173834A (zh) * | 2023-01-12 | 2023-12-05 | 北京有竹居网络技术有限公司 | 一种基于快速重路由的拥塞恢复方法、装置、设备和介质 |
-
2024
- 2024-01-09 CN CN202410027995.4A patent/CN117544567B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291389A (zh) * | 2011-07-14 | 2011-12-21 | 南京邮电大学 | 一种卫星网络中跨层拥塞控制方法 |
US20190044861A1 (en) * | 2018-09-26 | 2019-02-07 | Intel Corporation | Technologies for congestion control for ip-routable rdma over converged ethernet |
US20220094640A1 (en) * | 2019-06-17 | 2022-03-24 | Huawei Technologies Co., Ltd. | Congestion control method and apparatus, communications network, and computer storage medium |
US20210119930A1 (en) * | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
CN112910789A (zh) * | 2019-12-03 | 2021-06-04 | 华为技术有限公司 | 拥塞控制方法以及相关设备 |
WO2021203985A1 (zh) * | 2020-04-09 | 2021-10-14 | 华为技术有限公司 | 一种拥塞信息同步的方法以及相关装置 |
US20230107366A1 (en) * | 2020-05-30 | 2023-04-06 | Huawei Technologies Co., Ltd. | Network congestion control method, apparatus, device, and system, and storage medium |
US11258719B1 (en) * | 2020-08-24 | 2022-02-22 | Keysight Technologies, Inc. | Methods, systems and computer readable media for network congestion control tuning |
CN114513472A (zh) * | 2020-10-29 | 2022-05-17 | 华为技术有限公司 | 网络拥塞控制方法及装置 |
WO2023011179A1 (zh) * | 2021-08-05 | 2023-02-09 | 清华大学 | 一种拥塞控制方法及装置 |
US20230344777A1 (en) * | 2022-04-20 | 2023-10-26 | Oracle International Corporation | Customized processing for different classes of rdma traffic |
US20230127722A1 (en) * | 2022-05-17 | 2023-04-27 | Intel Corporation | Programmable transport protocol architecture |
CN115883463A (zh) * | 2022-11-14 | 2023-03-31 | 北京邮电大学 | 基于网络负载的数据中心内拥塞控制方法和系统 |
CN117173834A (zh) * | 2023-01-12 | 2023-12-05 | 北京有竹居网络技术有限公司 | 一种基于快速重路由的拥塞恢复方法、装置、设备和介质 |
CN116471238A (zh) * | 2023-03-28 | 2023-07-21 | 广州大学 | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 |
CN116489106A (zh) * | 2023-06-21 | 2023-07-25 | 新华三技术有限公司 | 一种拥塞控制方法、装置、转发芯片及客户端 |
Non-Patent Citations (5)
Title |
---|
YONGRUI HU ET AL.: "DCQCN Advanced (DCQCN-A): Combining ECN and RTT for RDMA Congestion Control", 2021 IEEE 5TH INFORMATION TECHNOLOGY, NETWORKING, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE, 4 November 2021 (2021-11-04) * |
严定宇: "RoCEv2网络拥塞控制研究", 中国优秀硕士学位论文全文数据库, no. 9, 15 September 2023 (2023-09-15) * |
刘军;韩骥;魏航;郭亮;: "数据中心RoCE和无损网络技术", 中国电信业, no. 07, 15 July 2020 (2020-07-15) * |
曾高雄;胡水海;张骏雪;陈凯;: "数据中心网络传输协议综述", 计算机研究与发展, no. 01, 15 January 2020 (2020-01-15) * |
黄米青;: "无损网络下交换机实现", 电脑知识与技术, no. 34, 5 December 2019 (2019-12-05) * |
Also Published As
Publication number | Publication date |
---|---|
CN117544567B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11575609B2 (en) | Techniques for congestion management in a network | |
US20200280518A1 (en) | Congestion management techniques | |
Lu et al. | {Multi-Path} transport for {RDMA} in datacenters | |
US20220303217A1 (en) | Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device | |
US20210218808A1 (en) | Small Message Aggregation | |
CN115152193A (zh) | 针对ip路由数据中心网络使用自适应路由和基于拥塞提示的节流改进端到端拥塞反应 | |
CN116018790A (zh) | 基于接收方的精密拥塞控制 | |
US20220014478A1 (en) | Resource consumption control | |
JP7451689B2 (ja) | ネットワーク輻輳処理方法、モデル更新方法、および関連装置 | |
Chen et al. | Mp-rdma: enabling rdma with multi-path transport in datacenters | |
US20070226347A1 (en) | Method and apparatus for dynamically changing the TCP behavior of a network connection | |
CN111935031B (zh) | 一种基于ndn架构的流量优化方法及系统 | |
US20180013677A1 (en) | Congestion control within a communication network | |
Lu | Sed: An sdn-based explicit-deadline-aware tcp for cloud data center networks | |
US20220311711A1 (en) | Congestion control based on network telemetry | |
CN117354253A (zh) | 一种网络拥塞通知方法、装置及存储介质 | |
CN117544567B (zh) | 存传一体的rdma数据中心拥塞控制方法 | |
CN112751776B (zh) | 拥塞控制方法和相关装置 | |
Yan et al. | An enhanced congestion control mechanism in infiniband networks for high performance computing systems | |
Xu et al. | ABQ: Active buffer queueing in datacenters | |
Le et al. | SFC: Near-source congestion signaling and flow control | |
Zhou et al. | Flow-aware explicit congestion notification for datacenter networks | |
Bangash et al. | Incast mitigation in a data center storage cluster through a dynamic fair-share buffer policy | |
CN116155823A (zh) | 网络拥塞数据处理方法、装置、系统和计算机设备 | |
Attar | Packet transport mechanisms for data center networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |