System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于远程直接存储器访问的设备和方法技术_技高网

用于远程直接存储器访问的设备和方法技术

技术编号:40876249 阅读:6 留言:0更新日期:2024-04-08 16:45
提出了一种发送设备和接收设备。所述发送设备用于:维护发送队列,其中,所述发送队列包括一个或多个WQE,每个WQE包括所述WQE的目的地信息;为所述一个或多个WQE中的每一个分配XID,并将每个WQE转换为相应的数据包,其中,每个相应的数据包包括对应的WQE的所述XID,并与PSN关联;将每个数据包发送到所述WQE的目的地信息的所述接收设备;从所述接收设备接收指示对于每个发送的数据包,所述发送的数据包是否被接收的通知消息;基于所述通知消息,所述WQE中携带的信息和所述发送设备持有的信息,确定是否为每个WQE生成完成。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术涉及高性能计算技术,尤其是涉及远程直接存储器访问(remote directmemory access,rdma)技术。本专利技术涉及通过基于数据包的网络传输rdma事务。为此,本专利技术提供了一种用于rdma的设备、方法和数据包格式。


技术介绍

1、应用程序通常需要计算机能够访问驻留在远程计算机上的存储器。rdma使计算机可以执行此类存储器访问操作,而不涉及在计算机上运行的操作系统。rdma在现代数据中心和计算机集群中得到了广泛应用,因为它提供了低延迟的远程操作和高网络带宽。rdma将存储器操作从中央处理器(central processing unit,cpu)卸载到rdma网络接口卡(network interface card,nic)(rdmanetwork interface card,rnic),该rnic可以直接访问存储器。

2、有两种常见的rdma技术:一种是在infiniband规范中定义的,另一种是在因特网工程任务组(internet engineering task force,ietf)中定义的。ietf协议也称为互联网广域rdma协议(internet wide area rdma protocol,iwarp)。具体而言,infiniband rdma有两个变体,使它可以在ip/以太网网络上运行,例如roce和rocev2。

3、这两种rdma技术都将操作定义为软件层“动词”,然后将其转换为发布到rnic队列的工作请求。这种工作请求称为工作队列元素(work queue element,wqe)。rdma还定义了各种传输,rdma动词在这些传输上执行。传输要么是可靠的,要么是不可靠的,其中,软件负责丢失数据包的重传,并且是面向连接或面向数据报的。当一对网络节点建立由队列对(queue pair,qp)指定的rdma通信信道时,指示各种传输。所有当前的rdma传输都提供软件编程模型,在该软件编程模型中,操作按照软件层发布这些操作的顺序(在时间上)发送已完成的信号。

4、如今,rdma技术不支持可靠的传输服务,可靠的传输服务可以管理从多个来源或向多个目的地复用的短消息。在本申请的上下文中,“可靠传输”是指保证消息只交换一次,“短消息”表示操作的最大数据长度是网络的最大传输单元(maximum transfer unit,mtu)。因此,需要一种新的可靠rdma传输方案,用于处理单个数据包长度的消息。


技术实现思路

1、鉴于上述情况,本专利技术的设备和方法旨在提供一种用于rdma的设备和方法。目标是为短消息提出一种新的可靠rdma传输,尤其,实现短消息的乱序处理。一个目的是支持在不依赖于先前或以后的操作的情况下执行每个消息。另一个目的是提供一种方案,用于将来自不同源上层进程或协议(upper-layer process/protocol,ulp)的rdma操作复用到多个目的地。

2、上述和其他目的通过独立权利要求请求保护的主题来实现。其他实现方式在从属权利要求、说明书和附图中是显而易见的。

3、本专利技术的第一方面提供了一种用于rdma的发送设备。所述发送设备用于:维护发送队列,其中,所述发送队列包括一个或多个wqe,其中,每个wqe包括所述wqe的目的地信息,其中,所述目的地信息包括以下各项中的至少一项:接收设备的地址、接收设备的标识和接收设备的目标应用的标识;为所述一个或多个wqe中的每一个分配事务标识(transaction identifier,xid),并将每个wqe转换为相应的数据包,其中,每个相应的数据包包括对应的wqe的所述xid,并与数据包序列号(packet sequence number,psn)关联;将每个数据包发送到所述wqe的目的地信息的所述接收设备;从所述接收设备接收每个发送的数据包的通知消息,其中,所述通知消息指示所述发送的数据包是否在所述接收设备处被接收;基于所述通知消息、所述wqe中携带的信息和所述发送设备持有的信息,确定是否为每个wqe生成完成。

4、例如,wqe是由源ulp(例如,应用程序或软件)发布或发出并推送到qp中的rdma操作或事务。wqe发送到对等体,或从对等体接收。qp表示通信端点,由发送队列(send queue,sq)和接收队列(receive queue,rq)或共享接收队列(shared receive queue,srq)组成。根据本专利技术,提供了一种方案,支持独立处理每个wqe或每个消息,即,不依赖于先前或以后的操作而执行每个wqe或每个消息。每个wqe包括其自己的目的地信息(例如,目标id、目的地ip地址等),从而使第一方面的发送设备能够处理多个连续的wqe,每个wqe可以发往不同的目标。每个wqe都与唯一的xid关联,接收端可以使用该xid来检测重复操作,并保证消息只交换一次。

5、发送设备可以基于某些情况决定是否发送wqe完成的信号。传统上,rdmaqp始终在某些操作码(rq处理等)上生成完成。没有进行控制来操作条件完成。根据本专利技术,完成可以是可配置的。

6、在第一方面的一种实现方式中,每个wqe携带仅限于适合于单个网络最大传输单元中的消息。

7、特别地,本专利技术提出了一种新的可靠rdma传输方案,用于处理长达单个数据包长度的消息,即短消息。

8、在第一方面的一种实现方式中,当对应于相应数据包的所述wqe包括写入操作请求或发送操作请求时,并且所述通知消息指示所述相应数据包在所述接收设备处被接收时,所述发送设备还用于确定所述wqe成功完成。

9、rdma操作包括读取、写入、发送、接收、原子操作等。对于写入操作或发送操作,例如,一旦接收设备确认接收到对应数据包,发送设备就认为写入操作或发送操作成功完成。

10、在第一方面的一种实现方式中,当对应于相应数据包的所述wqe包括读取操作请求或原子操作请求时,所述发送设备还用于:作为对所述原子操作请求或所述读取操作请求的原子操作响应或读取操作响应,分别接收指示所述相应数据包已经由所述接收设备处理的响应数据包,其中,所述响应数据包包括响应wqe的xid和包括所述读取操作请求或所述原子操作请求的所述wqe的xid;确定所述wqe成功完成。

11、例如,对于读取操作或原子操作,发送设备还期望来自接收设备的读取操作响应或原子操作响应。即,当接收设备确认接收到对应数据包,读取/原子wqe未完成,而是只有当发送设备接收到合适的响应数据包时才完成。在这种情况下,接收设备相应地操作以提供携带所需数据的响应数据包。例如,读取操作响应包括发送设备打算从接收设备获取的数据。根据本专利技术,响应数据包携带转换为响应数据包的响应wqe的xid,以及对应于操作请求的wqe的xid。需要说明的是,在这种情况下,接收设备也可以认为是发送携带wqe的数据包的“发送设备”。

12、在第一方面的一种实现方式中,获取与所述接收设备关联的最大可接受接收超时数量;当接收超时数本文档来自技高网...

【技术保护点】

1.一种用于远程直接存储器访问(remote direct memory access,RDMA)的发送设备(100),其中,所述发送设备(100)用于:

2.根据权利要求1所述的发送设备(100),其特征在于,每个WQE(102、102')携带仅限于适合于单个网络最大传输单元中的消息。

3.根据权利要求1或2所述的发送设备(100),其特征在于,当对应于相应数据包(103)的所述WQE(102)包括写入操作请求或发送操作请求时,并且所述通知消息(201)指示所述相应数据包(103)在所述接收设备(200)处被接收时,所述发送设备(100)还用于:

4.根据权利要求1或2所述的发送设备(100),其特征在于,当对应于相应数据包(103)的所述WQE(102)包括读取操作请求或原子操作请求时,发送设备(100)所述发送设备(100)还用于:

5.根据权利要求1或2所述的发送设备(100),其特征在于,用于:

6.根据权利要求1或2所述的发送设备(100),其特征在于,每个发送的数据包(103)的所述通知消息(201)包括接收器未就绪(receiver not ready,RNR)指示,其中,所述RNR指示指示所述接收设备(200)无法处理所述发送的数据包,其中,所述发送设备(100)还用于:

7.根据权利要求6所述的发送设备(100),其特征在于,所述WQE(102)还包括指示最大可接受RNR指示数量的参数,其中,所述发送设备(100)还用于:

8.根据权利要求6或7所述的发送设备(100),其特征在于,所述通知消息(201)包括多个RNR指示,每个RNR指示指示所述接收设备(200)无法处理特定发送的数据包。

9.根据权利要求6至8中任一项所述的发送设备(100),其特征在于,所述RNR指示还指示所述超时值。

10.根据权利要求8和9所述的发送设备(100),其特征在于,每个RNR指示还指示所述接收设备(200)无法在特定超时值内处理特定发送的数据包。

11.根据权利要求10所述的发送设备(100),其特征在于,用于:

12.根据权利要求11所述的发送设备(100),其特征在于,支持的超时值的数量是可配置的,并在所有通信设备上商定。

13.根据权利要求1至12中任一项所述的发送设备(100),其特征在于,所述发送队列(101)的一个或多个WQE(102、102')包括第一WQE和第二WQE,其中,所述第一WQE和所述第二WQE包括不同的目的地信息。

14.根据权利要求1至13中任一项所述的发送设备(100),其特征在于,所述发送队列(101)的一个或多个WQE(102、102')包括WQE集合,所述WQE集合包括相同的目的地信息,其中,所述发送设备(100)还用于:

15.根据权利要求1至14中任一项所述的发送设备(100),其特征在于,每个WQE(102、102')还与从所述发送设备(100)发送的优先级关联。

16.根据权利要求1至15中任一项所述的发送设备(100),其特征在于,用于:

17.根据权利要求13和16所述的发送设备(100),其特征在于,包括所述相同的目的地信息的所述WQE集合是从不同的ULP中获取的。

18.根据权利要求16或17所述的发送设备(100),其特征在于,从不同ULP获取的WQE的XID从相同的XID池中分配,与从不同ULP获取的所述WQE关联的数据包的PSN从相同的PSN池中分配。

19.根据权利要求15和权利要求16至18中任一项所述的发送设备(100),其特征在于,每个WQE(102、102')的所述优先级是基于从其获取所述WQE(102、102)的所述ULP确定的。

20.根据权利要求1至19中任一项所述的发送设备(100),其特征在于,每个数据包(103、103')还与标识流块的流块ID关联,其中,所述流块包括多个数据包,对应于所述WQE(102、102')的所述数据包(103、103')还包括所述流块ID。

21.根据权利要求20所述的发送设备(100),其特征在于,用于:

22.一种用于远程直接存储器访问(remote direct memory access,RDMA)的接收设备(200),其中,所述接收设备(200)用于:

23.根据权利要求22所述的接收设备(200),其特征在于,当对应于相应数据包(103)的所述WQE(102)包括写入操作请求或发送操作请求时,所述接收设备(200)还用于:

2...

【技术特征摘要】
【国外来华专利技术】

1.一种用于远程直接存储器访问(remote direct memory access,rdma)的发送设备(100),其中,所述发送设备(100)用于:

2.根据权利要求1所述的发送设备(100),其特征在于,每个wqe(102、102')携带仅限于适合于单个网络最大传输单元中的消息。

3.根据权利要求1或2所述的发送设备(100),其特征在于,当对应于相应数据包(103)的所述wqe(102)包括写入操作请求或发送操作请求时,并且所述通知消息(201)指示所述相应数据包(103)在所述接收设备(200)处被接收时,所述发送设备(100)还用于:

4.根据权利要求1或2所述的发送设备(100),其特征在于,当对应于相应数据包(103)的所述wqe(102)包括读取操作请求或原子操作请求时,发送设备(100)所述发送设备(100)还用于:

5.根据权利要求1或2所述的发送设备(100),其特征在于,用于:

6.根据权利要求1或2所述的发送设备(100),其特征在于,每个发送的数据包(103)的所述通知消息(201)包括接收器未就绪(receiver not ready,rnr)指示,其中,所述rnr指示指示所述接收设备(200)无法处理所述发送的数据包,其中,所述发送设备(100)还用于:

7.根据权利要求6所述的发送设备(100),其特征在于,所述wqe(102)还包括指示最大可接受rnr指示数量的参数,其中,所述发送设备(100)还用于:

8.根据权利要求6或7所述的发送设备(100),其特征在于,所述通知消息(201)包括多个rnr指示,每个rnr指示指示所述接收设备(200)无法处理特定发送的数据包。

9.根据权利要求6至8中任一项所述的发送设备(100),其特征在于,所述rnr指示还指示所述超时值。

10.根据权利要求8和9所述的发送设备(100),其特征在于,每个rnr指示还指示所述接收设备(200)无法在特定超时值内处理特定发送的数据包。

11.根据权利要求10所述的发送设备(100),其特征在于,用于:

12.根据权利要求11所述的发送设备(100),其特征在于,支持的超时值的数量是可配置的,并在所有通信设备上商定。

13.根据权利要求1至12中任一项所述的发送设备(100),其特征在于,所述发送队列(101)的一个或多个wqe(102、102')包括第一wqe和第二wqe,其中,所述第一wqe和所述第二wqe包括不同的目的地信息。

14.根据权利要求1至13中任一项所述的发送设备(100),其特征在于,所述发送队列(101)的一个或多个wqe(102、102')包括wqe集合,所述wqe集合包括相同的目的地信息,其中,所述发送设备(100)还用于:

15.根据权利要求1至14中任一项所述的发送设备(100),其特征在于,每个wqe(102、102')还与从所述发送设备(100)发送的优先级关联。

16.根据权利要求1至15中任一项所述的发送设备(100),其特征在于,用于:

17.根据权利要求13和16所述的发送设备(100),其特征在于,包括所述相同的目的地信息的所述wqe集合是从不同的ulp中获取的。

18...

【专利技术属性】
技术研发人员:本沙哈尔·贝尔彻鲁文·科恩大卫·加诺阿米特·杰伦
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1