用于降低远程直接存储器访问系统中时延的设备、方法和系统技术方案

技术编号:37773286 阅读:13 留言:0更新日期:2023-06-06 13:39
为了减少RDMA系统中的时延,使用本地定时器及时分发正在发送的消息,以便在发送新的操作或命令之前完成必要的先前操作。在发送预取命令时,这对于RDMA系统特别有用。这对于RDMA系统特别有用。这对于RDMA系统特别有用。

【技术实现步骤摘要】
【国外来华专利技术】用于降低远程直接存储器访问系统中时延的设备、方法和系统


[0001]本专利技术大体上涉及数据通信和远程直接存储器访问(remote direct memory access,RDMA)系统领域;更具体地,涉及用于减少远程直接存储器访问系统中时延的发送设备、接收设备、系统和方法。

技术介绍

[0002]网络中的多个计算设备之间的高速数据通信引起了人们对可靠数据通信和时延的担忧。传统上,多个计算设备采用传统的远程直接存储器访问(remote direct memory access,RDMA)技术来提高数据通信的速度。传统的RDMA技术使计算设备(例如传统的发送设备)能够直接访问另一个计算设备(例如传统的接收设备)的存储器,而不涉及任何计算设备(即传统的发送设备和传统的接收设备)的操作系统(operating system,OS)。传统的RDMA技术依赖于同步事件来维护数据操作的特定执行顺序。例如,在传统的RDMA系统的示例性实现场景中,如果传统的发送设备和传统的接收设备的同步不完善,则可能导致数据通信不可靠。也就是说,如果传统的发送设备(即RDMA发送器)在传统的接收设备执行先前的数据操作之前与传统的接收设备(即RDMA接收器)启动数据(例如数据包)的发送,则数据(或数据包)的发送被暂停或丢弃。此外,不同步的传统的发送设备和传统的接收设备可能导致数据(或数据包)的不完整传输和数据的重传,这反过来又增加了时延(例如尾部时延)并降低了吞吐量。附加地,流量控制不能在单个连接方案中应用,它可能会对共享相同流量类别(或流量网络)的其它连接产生不利影响。流量控制不是逐事件(例如页面故障、缓存未命中等)细粒度的,这导致时延显著增加。
[0003]在另一个示例性场景中,可以使用传统的非固定RDMA技术来加速数据通信的速度。在传统的非固定RDMA技术中,传统的响应设备需要传统的请求设备的虚拟地址(例如目标虚拟地址)来发送数据。如果传统的请求设备的虚拟地址触发了故障(例如页面故障),则数据传输被暂停或丢弃,并可能导致数据重传,这进一步增加了事务完成时延。
[0004]在传统的RDMA的另一个示例性场景中,当数据包到达传统的接收设备时,可能需要附加的信息,例如队列对(queue pair,QP)上下文、内存保护表(memory protection table,MPT)和内存转换表(memory translation table,MTT)。传统的发送设备和传统的接收设备具有有限数量的网络接口控制器(例如网络接口卡)。因此,如果使用网络接口控制器建立了多个连接,则由于网络接口控制器缓存的大小有限,有可能将信息从几个连接驱逐到主机存储器中。因此,在传统的系统中,从主机存储器中获取信息较频繁并且需要时间,而且通常需要几次迭代,这会导致时延增加和性能下降。
[0005]在某些场景下,传统的RDMA框架可以使用围栏来强制数据操作的顺序执行。例如,在RDMA请求具有“围栏标志”的情况下,则在这种情况下,RDMA请求被传统的RDMA发送设备延迟,直到传统的RDMA接收设备向传统的RDMA发送设备发回信号,该信号表明先前的操作已经执行。在这些情况下,由于存在围栏,RDMA请求的总执行时间显著增加,并导致高时延。
在存储过多工作队列元素(work queue element,WQE)的情况下,围栏标志(或围栏)可能会导致传统的RDMA接收设备上的过载。因此,传统的设备、方法和传统的远程直接存储器访问系统存在低效和不可靠的数据通信的技术问题。
[0006]因此,根据上述讨论,需要克服与用于数据通信的传统的远程直接存储器访问(remote direct memory access,RDMA)技术的传统的发送设备、传统的接收设备和传统的方法关联的上述缺点。

技术实现思路

[0007]本专利技术旨在提供用于减少远程直接存储器访问(remote direct memory access,RDMA)系统中的时延的发送设备、接收设备、方法和系统。本专利技术旨在提供一种用于通过传统的设备、方法和传统的远程直接存储器访问系统来解决现有的低效和不可靠的数据通信问题的方案。本专利技术的目的是提供一种至少部分克服现有技术中遇到的问题的方案,并提供用于高效(例如降低时延)和可靠数据通信的改进的设备、方法和系统。本专利技术的目的是通过所附独立权利要求中提供的方案实现的。本专利技术的有利实现方式在从属权利要求中进一步定义。
[0008]在一方面中,本专利技术提供了一种发送设备。发送设备包括存储器、控制器和通信接口。存储器用于存储本地起搏定时器。控制器用于生成第一消息,第一消息包括第一操作类型的指示。控制器还用于通过通信接口向接收设备发送第一消息。控制器还用于生成第二消息,第二消息包括第二操作类型的指示。控制器还用于确定第二操作类型是否与第一操作类型关联,如果关联,则控制器还用于确定本地起搏定时器是否超过自发送第一消息以来的定时器时长,其中,本地起搏定时器是第一操作类型定时器,如果超过,则控制器还用于通过通信接口向接收设备发送第二消息。
[0009]本专利技术的发送设备能够确定与远程直接存储器访问(remote direct memory access,RDMA)相关的第二操作类型是否与第一操作类型关联。在这种情况下,发送设备能够向接收设备发送第二消息,而无需等待来自接收设备的指示消息,该指示消息指示第一操作类型完成。发送设备使用本地起搏定时器对第一消息和第二消息等多个消息(或数据包)的发送进行起搏。本地起搏定时器用于测量自发送第一消息以来的定时器时长。在本地起搏定时器超过定时器时长之后,控制器向接收设备发送第二消息,而无需等待指示消息。因此,通过使用本地起搏定时器,发送设备显著减少了第一消息和第二消息的总执行时间,从而降低了时延。此外,本地起搏定时器还能够维持第一消息和第二消息的正确发送顺序,因此,能够实现可靠的数据通信,并提高整体吞吐量和效率。
[0010]在一种实现方式中,控制器还用于确定第二操作类型是否不与第一操作类型关联,如果不关联,则控制器还用于通过通信接口向接收设备发送第二消息,而不论本地起搏定时器是否超过自发送第一消息以来的定时器时长。
[0011]如果第二操作类型不与第一操作类型关联,则发送设备的控制器向接收设备发送第二消息。此外,控制器不等待本地起搏定时器超过定时器时长,这反过来又能够降低时延(或提高快速数据事务),同时维持第一消息和第二消息的正确发送顺序。
[0012]在另一种实现方式中,控制器还用于生成第三消息。第三消息包括第三操作类型的指示,其中,第三操作类型与第一操作类型关联。控制器还用于确定本地起搏定时器是否
超过自发送第二消息以来的定时器时长,如果超过,则控制器还用于通过通信接口向接收设备发送第三消息。
[0013]第三操作类型与第一操作类型关联。例如,当第二操作类型已经执行时,第三操作类型开始执行。发送设备的控制器使用本地起搏定时器按顺序在第二消息的传输之后起搏第三消息的传输。本地起搏定时器用于测量自发送第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种发送设备(102、502、602、702),其特征在于,所述发送设备(102、502、602、702)包括存储器(202)、控制器(206)和通信接口(208),所述存储器(202)用于存储本地起搏定时器(204),所述控制器(206)用于:生成第一消息(502A),所述第一消息(502A)包括第一操作类型的指示;通过所述通信接口(208)向接收设备(104、504、604、704A、704B)发送所述第一消息(502A);生成第二消息(502B),所述第二消息(502B)包括第二操作类型的指示;确定所述第二操作类型是否与所述第一操作类型关联,如果关联,则:确定所述本地起搏定时器(204)是否超过自发送所述第一消息(502A)以来的定时器时长,其中,所述本地起搏定时器(204)是第一操作类型定时器;如果超过,则:通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第二消息(502B)。2.根据权利要求1所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于:确定所述第二操作类型是否不与所述第一操作类型关联,如果不关联,则:无论所述本地起搏定时器(204)是否超过自发送所述第一消息(502A)以来的所述定时器时长,都通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第二消息(502B)。3.根据权利要求1或2所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于:生成第三消息(502C),所述第三消息(502C)包括第三操作类型的指示,其中,所述第三操作类型与所述第一操作类型关联;确定所述本地起搏定时器(204)是否超过自发送所述第二消息(502B)以来的所述定时器时长;如果超过,则:通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第三消息(502C)。4.根据权利要求3所述的发送设备(102、502、602、702),其特征在于,所述第三操作类型为所述第二操作类型。5.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述第一操作类型为所述第二操作类型。6.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于:从所述接收设备(104、504、604、704A、704B)接收确认消息;响应于此,无论所述本地起搏定时器(204)是否超过所述定时器时长,都通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第二消息(502B)。7.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于调整所述定时器时长。8.根据权利要求7所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于根据以下中的一个或多个调整所述定时器时长:
通过所述通信接口(208)建立的活动连接的数量;关于所述接收器(104、504、604、704A、704B)的操作状态的信息;接收到的否定确认[NAK]消息的数量;从所述接收器(104、504、604、704A、704B)接收的指示。9.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述定时器时长与所述操作类型关联,其中,第一定时器时长与一种操作类型关联,第二定时器时长与另一种操作类型关联。10.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述第一操作类型与内存区域关联,所述第二操作类型与同一内存区域关联。11.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于,除了确定所述本地起搏定时器(204)是否超过自发送所述第一消息(502A)以来的所述定时器时长之外,还确定流量拥塞定时器是否超过自发送所述第一消息(502A)以来的拥塞定时器时长,如果超过,则:通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第二消息(502B)。12.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述控制器(206)还用于除了确定所述本地起搏定时器(204)是否超过自发送所述第一消息(502A)以来的所述定时器时长之外,还确定所述本地起搏定时器(204)是否超过自发送所述第一消息(502A)以来的拥塞定时器时长,如果超过,则:通过所述通信接口(208)向所述接收设备(104、504、604、704A、704B)发送所述第二消息(502B)。13.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述发送设备(102、502、602、702)用作远程直接存储器访问系统(100、700)中的请求设备。14.根据权利要求13所述的发送设备(102、502、602、702),其特征在于,所述第一操作类型指示所述接收设备(104、504、604、704A、704B)待执行的准备动作,所述第二操作类型指示执行所述准备动作的操作。15.根据上述权利要求中任一项所述的发送设备(102、502、602、702),其特征在于,所述发送设备(102、502、602、702)用作远程直接存储器访问系统(100、700)中的响应设备。16.根据权利要求15所述的发送设备(102、502、602、702),其特征在于,所述第一操作类型指示读操作,所述第一消息(502A)指示读结果,所述第二操...

【专利技术属性】
技术研发人员:本沙哈尔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1