一种基于ToR交换机的数据中心RDMAIncast解决方法及系统技术方案

技术编号:36683559 阅读:12 留言:0更新日期:2023-02-27 19:43
本发明专利技术提供一种基于ToR交换机的数据中心RDMA Incast解决方法及系统,所述方法的步骤包括:基于发送端交换机感知incast情况,若发生incast情况,则将数据流缓存;基于接收端交换机获取用户接收端的网卡接收速率,基于网卡接收速率计算单位时间内用户接收端能接收的数据量大小,基于单位时间内用户接收端能接收的数据量大小计算链路利用率,基于所述链路利用率计算接收端交换机在单位时间内能接收的数据量大小,基于接收端交换机在单位时间内能接收的数据量大小计算接收端交换机的接收速率,基于与发送端交换机相连接的发送端数量和接收端交换机的接收速率计算每个发送端交换机的发送速率,发生incast情况的所述发送端交换机基于发送速率向接收端交换机发送数据。换机基于发送速率向接收端交换机发送数据。换机基于发送速率向接收端交换机发送数据。

【技术实现步骤摘要】
一种基于ToR交换机的数据中心RDMA Incast解决方法及系统


[0001]本专利技术涉及数据传输
,尤其涉及一种基于ToR交换机的数据中心RDMA Incast解决方法及系统。

技术介绍

[0002]云服务凭借其强大的算力资源和无限的存储能力,成为当今信息技术企业发展的重要依赖。亚马逊、阿里巴巴、谷歌等云服务资源提供商采用数据中心(data center,DC)向大规模在线学习、分布式存储、网络搜索等应用提供服务。随着上层应用技术的不断发展,数据中心基础设施的性能被提出了更高的要求。数据中心的链路速率从过去的1/10Gbps增长到现如今的100Gbps。资源解耦需要将网内时延控制在3

5μs才能保证良好的程序性能,而机器学习则希望数据中心的网内尾时延小于50μs。数据中心中的高链路速率与低时延需求给传输控制的设计带来了巨大的挑战。
[0003]传统TCP网络协议栈需要操作系统内核的介入来进行数据拷贝。在高链路速率下,TCP传输将造成高CPU占用率,导致传输延迟通常在几百微秒。此外,操作系统内核线程所支持的最大带宽仅为几十Gbps。这样的传输性能已无法满足现如今数据中心的需求。于是,远程直接内存访问(remote direct memory access,RDMA)技术应用到数据中心网络中。RDMA无需通信双方操作系统介入,直接对内存进行读写。通过绕过内核,RDMA实现了高链路速率、低CPU占用率和微秒级网内传输时延。数据中心使用的RDMA技术为RoCE(RDMAover converged ethernet),其最新版本RoCEv2的数据链路层与网络层使用现有传统网络。学术界针对RDMA的传输控制已提出了多种方案。
[0004]然而,现有的RDMA网络容易出现Incast问题,Incast问题是指在数据中心网络浅缓存、高链路速率情况下,当请求方向多个服务器同步请求数据传输后,网内多个服务器几乎同时相应数据传输。这会导致数据中心网内短时间内涌入大量数据包,造成网络灾难性崩溃。
[0005]现有的Incast问题解决方案中通常需要在RDMA网络的相邻层的交换机之间均布置窗口,采用窗口层层限制传输,布置难度较大。

技术实现思路

[0006]鉴于此,本专利技术的实施例提供了一种基于ToR交换机的数据中心RDMA Incast解决方法,以消除或改善现有技术中存在的一个或更多个缺陷。
[0007]本专利技术的一个方面提供了一种基于ToR交换机的数据中心RDMA Incast解决方法,RDMA网络中包括与发送端相连接的发送端交换机和与用户接收端相连接的接收端交换机,所述发送端交换机和接收端交换机均为ToR交换机,所述方法的步骤包括:
[0008]基于发送端交换机感知incast情况,若发生incast情况,则将数据流缓存在发送端交换机中;
[0009]基于接收端交换机获取用户接收端的网卡接收速率,基于网卡接收速率计算单位
时间内用户接收端能接收的数据量大小,基于单位时间内用户接收端能接收的数据量大小计算接收端交换机的链路利用率,基于所述链路利用率计算接收端交换机在单位时间内能接收的数据量大小,基于接收端交换机在单位时间内能接收的数据量大小计算接收端交换机的接收速率,基于与发送端交换机相连接的发送端数量和接收端交换机的接收速率计算每个发送端交换机的发送速率,发生incast情况的所述发送端交换机基于发送速率向接收端交换机发送数据。
[0010]采用上述方案,本方案只需在RDMA网络的发送端交换机和接收端交换机布置程序,利用发送端交换机感知incast情况,当发生incast情况时,将数据流进行缓存,避免大量数据流涌入RDMA网络造成数据拥堵,另一方面,接收端交换机根据用户接收端的情况计算接收端交换机的最大接收速率,并为每个发送端交换机分配发送速率,将发送端交换机缓存的数据快速且高效的输出,本方案不需要在发送端交换机和接收端交换机之间的交换机之间进行布置,不仅提高了incast情况的处理效率,且降低了布置难度。
[0011]在本专利技术的一些实施方式中,所述基于发送端交换机感知incast情况的步骤包括:
[0012]所述发送端交换机统计在预设时间长度内经过该发送端交换机发送到同一用户接收端的数据量大小;
[0013]当在预设时间长度内经过该发送端交换机发送到同一用户接收端的数据量大小大于预设的incast阈值时,则判定发生incast情况。
[0014]在本专利技术的一些实施方式中,所述基于发送端交换机感知incast情况的步骤还包括,当判定发生incast情况后,由发送端交换机继续向用户接收端传输第一预设大小的数据量;在所述若发生incast情况,则将数据流缓存在发送端交换机中的步骤中,在由发送端交换机向用户接收端传输第一预设大小的数据量后,将数据流缓存在发送端交换机中。
[0015]在本专利技术的一些实施方式中,所述若发生incast情况,则将数据流缓存在发送端交换机中的步骤还包括基于数据流的输入时间为缓存在发送端交换机的数据流构建队列,在所述发生incast情况的所述发送端交换机基于发送速率向接收端交换机发送数据的步骤中,所述发送端交换机基于队列顺序向接收端交换机发送数据。
[0016]在本专利技术的一些实施方式中,在基于网卡接收速率计算单位时间内用户接收端能接收的数据量大小的步骤中,基于如下公式计算单位时间内用户接收端能接收的数据量大小:
[0017]Δ=B
dip
×
τ
update

[0018]其中,B
dip
表示用户接收端的网卡接收速率,τ
update
表示单位时间的时间长度,Δ表示单位时间内用户接收端能接收的数据量大小;
[0019]在基于单位时间内用户接收端能接收的数据量大小计算接收端交换机的链路利用率的步骤中,基于如下公式计算接收端交换机的链路利用率:
[0020][0021]其中,Δ表示单位时间内用户接收端能接收的数据量大小,qlen表示当前接收端交换机与用户接收端所连端口缓存数据量大小,η表示接收端交换机的链路利用率。
[0022]在本专利技术的一些实施方式中,在基于所述链路利用率计算接收端交换机在单位时
间内能接收的数据量大小的步骤中,获取前一单位时间计算出的接收端交换机在单位时间内能接收的数据量大小,基于前一单位时间计算出的接收端交换机在单位时间内能接收的数据量大小和所述链路利用率计算接收端交换机在当前单位时间内能接收的数据量大小。
[0023]在本专利技术的一些实施方式中,在基于前一单位时间计算出的接收端交换机在单位时间内能接收的数据量大小和所述链路利用率计算接收端交换机在当前单位时间内能接收的数据量大小的步骤中,基于如下公式计算接收端交换机在单位时间内能接收的数据量大小:
[0024][0025]其中,B
dip
表示用户接收端的网卡接收速率,τ...

【技术保护点】

【技术特征摘要】
1.一种基于ToR交换机的数据中心RDMA Incast解决方法,其特征在于,RDMA网络中包括与发送端相连接的发送端交换机和与用户接收端相连接的接收端交换机,所述发送端交换机和接收端交换机均为ToR交换机,所述方法的步骤包括:基于发送端交换机感知incast情况,若发生incast情况,则将数据流缓存在发送端交换机中;基于接收端交换机获取用户接收端的网卡接收速率,基于网卡接收速率计算单位时间内用户接收端能接收的数据量大小,基于单位时间内用户接收端能接收的数据量大小计算接收端交换机的链路利用率,基于所述链路利用率计算接收端交换机在单位时间内能接收的数据量大小,基于接收端交换机在单位时间内能接收的数据量大小计算接收端交换机的接收速率,基于与发送端交换机相连接的发送端数量和接收端交换机的接收速率计算每个发送端交换机的发送速率,发生incast情况的所述发送端交换机基于发送速率向接收端交换机发送数据。2.根据权利要求1所述的基于ToR交换机的数据中心RDMA Incast解决方法,其特征在于,所述基于发送端交换机感知incast情况的步骤包括:所述发送端交换机统计在预设时间长度内经过该发送端交换机发送到同一用户接收端的数据量大小;当在预设时间长度内经过该发送端交换机发送到同一用户接收端的数据量大小大于预设的incast阈值时,则判定发生incast情况。3.根据权利要求1或2所述的基于ToR交换机的数据中心RDMA Incast解决方法,其特征在于,所述基于发送端交换机感知incast情况的步骤还包括,当判定发生incast情况后,由发送端交换机继续向用户接收端传输第一预设大小的数据量;在所述若发生incast情况,则将数据流缓存在发送端交换机中的步骤中,在由发送端交换机向用户接收端传输第一预设大小的数据量后,将数据流缓存在发送端交换机中。4.根据权利要求1所述的基于ToR交换机的数据中心RDMA Incast解决方法,其特征在于,所述若发生incast情况,则将数据流缓存在发送端交换机中的步骤还包括基于数据流的输入时间为缓存在发送端交换机的数据流构建队列,在所述发生incast情况的所述发送端交换机基于发送速率向接收端交换机发送数据的步骤中,所述发送端交换机基于队列顺序向接收端交换机发送数据。5.根据权利要求1所述的基于ToR交换机的数据中心RDMA Incast解决方法,其特征在于,在基于网卡接收速率计算单位时间内用户接收端能接收的数据量大小的步骤中,基于如下公式计算单位时间内用户接收端能接收的数据量大小:Δ=B
dip
×
τ
update
;其中,B
dip
表示用户接收端的网卡接收速率,τ
update
表示单位时间的时间长度,Δ表示单位时间内用户接收端能接收的数据量大小;在基于单位时间内用户接收端能接收的数据量大小计算接收端交换机的链路利用率的步骤中,基于如下公式计算接收端交换机的链路利用率:其中,Δ表示单位时间内用户接收端能接收的数据量大小,glen表示当前接收端交换
机与用户接收端所连端口缓存数据量大小,η表示接收端交换机的链路利用率。6.根据权利要求1所述的基于ToR交换机的数据中心RDMA Incas...

【专利技术属性】
技术研发人员:张娇苏昱臻潘恬黄韬
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1