数据中心无损网络中通过数据包弹跳避免队头阻塞的方法技术

技术编号:35101598 阅读:70 留言:0更新日期:2022-10-01 17:08
数据中心无损网络中通过数据包弹跳避免队头阻塞的方法,当出端口出现拥塞,其队列长度超过一定阈值时,将到该出端口且与无辜流共入端口的拥塞流数据包从最小负载出端口弹跳到相邻的上游交换机,以避免入端口触发PFC出现队头阻塞问题。当出端口的队列长度减小到弹跳阈值以下,为保证数据包有序传输和低延时开销,如果弹跳的数据包是乱序包,则在弹跳延时和乱序延时之间进行折中,再决定是否继续弹跳。如果弹跳延时小于乱序重传延时,则继续弹跳数据包。否则直接转发数据包到目的出端口。本发明专利技术通过在交换机上的数据包弹跳机制解决了数据中心无损网络中PFC队头阻塞问题,同时在弹跳和乱序延时之间进行折中,保证了延时开销最小的有序传输。销最小的有序传输。销最小的有序传输。

【技术实现步骤摘要】
数据中心无损网络中通过数据包弹跳避免队头阻塞的方法


[0001]本专利技术涉及数据处理
,尤其指一种数据中心无损网络中通过数据包弹跳避免队头阻塞的方法。

技术介绍

[0002]过去几年中,在主要云提供商如微软和谷歌的现代数据中心已在融合以太网广泛部署了远程直接内存访问(RDMA)的网络协议(RoCEv2),实现了以极低CPU开销的低延时和高吞吐率的数据传输。为了避免因数据包丢失导致RDMA性能急剧下降,RoCEv2使用基于优先级的流控机制(PFC)来防止交换机缓存溢出。当交换机入端口(或队列)的缓存占用超过一定阈值,则触发PFC机制,暂停上游交换机相关的端口(或队列),直到入端口的队列长度下降到另一个阈值则恢复上游交换机端口的数据传输。由于PFC是基于端口(或队列)的工作机制,当一个端口被PFC暂停后,该端口中与造成拥塞无关的无辜流也会被暂停,即出现队头阻塞的问题。
[0003]为了缓解拥塞,减少PFC触发,缓解PFC引起的负面影响,很多端到端的传输协议如DCQCN,TIMELY,HPCC,Swift等被提出来。但他们没有区分与拥塞无关的无辜流和真正导致拥塞的拥塞流,造成对无辜流不必要的降速。最近提出的PCN识别真正的拥塞流并仅对这些拥塞流进行速率调节。但这些传输协议都是端到端的拥塞控制,拥塞信号的反馈至少需要1个往返延时(RTT),因此它们不能及时解决突发流量引起的瞬时拥塞,也很难控制在一个RTT内就发送完数据的小流。而现代高速数据中心网络中有大概60%~90%的流可以在一个RTT内完成。因此,即使部署了端到端的传输协议,PFC仍然会触发,造成队头阻塞,显著增加了流的完成时间。总之,为了提升应用性能和用户体验,PFC的队头阻塞是一个亟待解决的问题。

技术实现思路

[0004]为了解决数据中心无损网络中PFC大的队头阻塞问题,本专利技术提供一种数据中心无损网络中通过数据包弹跳避免队头阻塞的方法。
[0005]为了解决上述技术问题,本专利技术采用如下技术方法:一种数据中心无损网络中通过数据包弹跳避免队头阻塞的方法,包括:
[0006]步骤一,初始化链路基础往返延时RTT、链路带宽C、链路基础延时d、弹跳阈值更新周期T
th
、PFC触发阈值Q
PFC
、ECN阈值Q
ECN
、交换机出端口数量N、入端口转发最后一个无辜流数据包的时间t[i]、出端口转发最后一个拥塞流数据包序号f.SEQ、弹跳阈值Q
th
、弹跳阈值更新周期的起始时间t、交换机活跃流数量n0、无辜流检测时间窗口T;
[0007]步骤二,交换机监听是否有新数据包到达,若有新数据包到达,转步骤三;否则继续监听是否有新数据包到达;
[0008]步骤三,判断当前数据包是否为拥塞流数据包,若是,转步骤四;否则,转发当前数据包到目的出端口,设置当前入端口转发最后一个无辜流数据包的时间t[i]为当前时间;
[0009]步骤四,判断出端口队列长度是否大于或等于弹跳阈值Q
th
,若是,转步骤五;否则,转步骤六;
[0010]步骤五,判断当前拥塞流数据包的入端口是否有无辜流,若是,将当前数据包从最小负载出端口转发到相邻上游交换机;否则,将转发当前数据包到目的出端口;
[0011]步骤六,判断当前数据包是否是有序数据包,若是,则转发当前数据包到目的出端口,设置当前出端口转发最后一个拥塞流数据包序号f.SEQ为当前数据包序号;否则,转步骤七;
[0012]步骤七,判断数据包弹跳延时是否小于乱序重传延时,若是,则将当前数据包从最小负载出端口转发到相邻上游交换机;否则,转发当前数据包到目的出端口。
[0013]进一步地,所述步骤一中,初始化时,链路带宽C设置为交换机出端口的带宽值;链路基础延时d设置为5μs;链路基础往返延时RTT设置为60us;弹跳阈值更新周期T
th
设置为50μs;PFC触发阈值Q
PFC
设置为256KB;ECN阈值Q
ECN
设置为32KB;无辜流检测时间窗口T设为3RTT;入端口转发最后一个无辜流数据包的时间t[i]、出端口转发最后一个拥塞流数据包序号f.SEQ、弹跳阈值Q
th
、弹跳阈值更新周期的起始时间t、交换机活跃流数量n0均设置为0。
[0014]进一步地,从所述步骤二中监听到有新数据包到达至步骤七执行前的任一时间,判断当前时间与弹跳阈值更新周期的起始时间t的差值是否大于或等于弹跳阈值更新周期T
th
,若大于或等于弹跳阈值更新周期T
th
,则更新弹跳阈值Q
th
,并将弹跳阈值更新周期的起始时间t设置为当前时间,否则直接转至下一步。
[0015]更进一步地,更新所述弹跳阈值Q
th
的方法如下:
[0016]假设在时刻t
b
触发弹跳机制时的出端口队列长度为Q
th
,交换机当前活跃的n条流中有m条流的数据包发生弹跳,在数据包弹跳期间T
b
,n

m条未弹跳流的流量为NT,在时刻t
b
+T
b
时,最大的弹跳流量为BT,则在弹跳结束时,最大的出端口队列长度Q(t
b
+T
b
)为:
[0017][0018]其中,NT和BT采用如下公式进行计算:
[0019][0020][0021]为了保证弹跳的数据包返回到交换机时不触发PFC,在弹跳结束时最大的出端口队列长度Q(t
b
+T
b
)需满足以下条件:
[0022][0023]其中,N为交换机出端口数量;
[0024]同时,为了保证弹跳机制不会使得端到端的拥塞信号(如ECN通知和重复ACK)被阻塞,更新后的弹跳阈值Q
th
需满足以下条件:
[0025]Q
th
>Q
ECN
ꢀꢀꢀ
(5)
[0026]综合公式(1)、(4)、(5),得到更新后的弹跳阈值Q
th
的取值范围为:
[0027][0028]取数据包的最小弹跳时间为2d,得到更新后的弹跳阈值Q
th
为:
[0029][0030]更进一步地,所述步骤三中,判断当前数据包是否为拥塞流数据包的方法是,若出端口的队列长度>=1,则判断到该出端口的所有数据包都是拥塞流数据包。
[0031]更进一步地,所述步骤五中,判断当前拥塞流数据包的入端口是否有无辜流的方法是,当前时间减去入端口转发最后一个无辜流数据包的时间t[i]小于或等于无辜流检测时间窗口T时,则认为当前拥塞流数据包的入端口有无辜流,否则,认为当前拥塞流数据包的入端口没有无辜流,则将转发当前数据包到目的出端口。
[0032]再进一步地,所述步骤六中,根本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.数据中心无损网络中通过数据包弹跳避免队头阻塞的方法,其特征在于,包括:步骤一,初始化链路基础往返延时RTT、链路带宽C、链路基础延时d、弹跳阈值更新周期T
th
、PFC触发阈值Q
PFC
、ECN阈值Q
ECN
、交换机出端口数量N、入端口转发最后一个无辜流数据包的时间t[i]、出端口转发最后一个拥塞流数据包序号f.SEQ、弹跳阈值Q
th
、弹跳阈值更新周期的起始时间t、交换机活跃流数量n0、无辜流检测时间窗口T;步骤二,交换机监听是否有新数据包到达,若有新数据包到达,转步骤三;否则继续监听是否有新数据包到达;步骤三,判断当前数据包是否为拥塞流数据包,若是,转步骤四;否则,转发当前数据包到目的出端口,设置当前入端口转发最后一个无辜流数据包的时间t[i]为当前时间;步骤四,判断出端口队列长度是否大于或等于弹跳阈值Q
th
,若是,转步骤五;否则,转步骤六;步骤五,判断当前拥塞流数据包的入端口是否有无辜流,若是,将当前数据包从最小负载出端口转发到相邻上游交换机;否则,将转发当前数据包到目的出端口;步骤六,判断当前数据包是否是有序数据包,若是,则转发当前数据包到目的出端口,设置当前出端口转发最后一个拥塞流数据包序号f.SEQ为当前数据包序号;否则,转步骤七;步骤七,判断数据包弹跳延时是否小于乱序重传延时,若是,则将当前数据包从最小负载出端口转发到相邻上游交换机;否则,转发当前数据包到目的出端口。2.根据权利要求1所述的数据中心无损网络中通过数据包弹跳避免队头阻塞的方法,其特征在于:所述步骤一中,初始化时,链路带宽C设置为交换机出端口的带宽值;链路基础延时d设置为5μs;链路基础往返延时RTT设置为60us;弹跳阈值更新周期T
th
设置为50μs;PFC触发阈值Q
PFC
设置为256KB;ECN阈值Q
ECN
设置为32KB;无辜流检测时间窗口T设为3RTT;入端口转发最后一个无辜流数据包的时间t[i]、出端口转发最后一个拥塞流数据包序号f.SEQ、弹跳阈值Q
th
、弹跳阈值更新周期的起始时间t、交换机活跃流数量n0均设置为0。3.根据权利要求2所述的数据中心无损网络中通过数据包弹跳避免队头阻塞的方法,其特征在于:从所述步骤二中监听到有新数据包到达至步骤七执行前的任一时间,判断当前时间与弹跳阈值更新周期的起始时间t的差值是否大于或等于弹跳阈值更新周期T
th
,若大于或等于弹跳阈值更新周期T
th
,则更新弹跳阈值Q
th
,并将弹跳阈值更新周期的起始时间t设置为当前时间,否则直接转至下一步。4.根据权利要求3所述的数据中心无损网络中通过数据包弹跳...

【专利技术属性】
技术研发人员:胡晋彬罗望卿何熠王进
申请(专利权)人:长沙理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1