System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于CXL共享内存的数据传输方法及相关设备技术_技高网

基于CXL共享内存的数据传输方法及相关设备技术

技术编号:41289094 阅读:5 留言:0更新日期:2024-05-11 09:38
本申请实施例公开了一种基于CXL共享内存的数据传输方法及相关设备,该方法包括:第一计算设备向第二计算设备发送数据传输通知;在收到第二计算设备的响应消息的情况下,第一计算设备向第二计算设备发送数据读取通知,然后将待传输数据写入共享内存;第二计算设备基于数据读取通知,从共享内存中读取该待传输数据。本申请实施例中,第一计算设备可以先向第二计算设备发送数据读取通知,再将待传输数据写入共享内存,相比在数据写入完成后再发送通知的方式,可以减少由于网络时延导致的数据传输耗时。

【技术实现步骤摘要】

本申请涉及通信,具体涉及一种基于cxl共享内存的数据传输方法及相关设备。


技术介绍

1、在传统的计算系统架构中,计算系统中的多个计算设备之间需要通过通信链路进行数据传输,在待传输数据较大时,需要占用较多的通信资源,从而可能导致计算设备的其他业务运行受到影响。在计算设备的业务数量多、数据传输需求大的场景下,该方案无法同时满足计算设备的数据传输需求和业务开展需求。


技术实现思路

1、本申请实施例提供一种基于cxl共享内存的数据传输方法及相关设备,能够同时满足计算系统中计算设备的数据传输需求和业务开展需求。

2、第一方面本申请实施例提供了一种基于计算快速链路(compute express link,cxl)共享内存的数据传输方法,该方法应用于第一计算设备;该方法包括:

3、向第二计算设备发送数据传输通知;在收到第二计算设备的响应消息的情况下,向第二计算设备发送数据读取通知;基于该共享内存的地址信息向该共享内存写入待传输数据。

4、其中,该数据传输通知包括共享内存的地址信息,且该数据传输通知用于指示在该第一计算设备和该第二计算设备之间建立通信链路;该共享内存为该第一计算设备和该第二计算设备基于cxl协议共享的内存空间。

5、其中,该响应消息用于指示该第二计算设备与该第一设备之间已经建立通信链路;该数据读取通知用于指示该第二计算设备从该共享内存读取待传输数据。

6、本申请实施例中,第一计算设备和第二计算设备通过共享内存实现数据传输,可以将通信链路和数据链路解耦,数据传输无需占用通信资源,可以同时满足二者的数据传输需求和业务开展需求;同时,第一计算设备可以先向第二计算设备发送数据读取通知,再将待传输数据写入共享内存,这样相比在数据写入完成后再发送通知的方式,可以减少由于网络时延导致的数据传输耗时。

7、在一种可能的实现中,该共享内存包括应答标志区;在该向该第二计算设备发送数据读取通知之后,该方法还包括:在预设时长内确定该应答标志区是否具有第一预设标识;其中,该第一预设标识用于指示该第二计算设备已接收到该数据读取通知;若在该预设时长内该应答标志区不具有该第一预设标识,则重新向该第二计算设备发送该数据读取通知。

8、本申请实施例中,通过设置应答标志区,可以确保第二计算设备接收到数据读取通知,提高了数据传输的可靠性。

9、在一种可能的实现中,该共享内存包括完成标志区;在该基于该共享内存的地址信息向该共享内存写入待传输数据之后,该方法还包括:确定该待传输数据是否全部写入该共享内存;若该待传输数据全部写入该共享内存,则在该完成标志区写入第二预设标识;其中,该第二预设标识用于指示该待传输数据已全部写入该共享内存。

10、在另一种可能的实现中,数据传输通知还用于指示写入开始标志和写入完成标志;第一计算设备可以在写入该待传输数据时,在该待传输数据的写入首地址之前加入该写入开始标志,在该待传输地址的写入尾地址之后加入该写入完成标志;当第二计算设备在该共享内存检测到该写入开始标志和该写入完成标志时,可以读取该二者之间的待传输数据。

11、本申请实施例中,在第一计算设备将待传输数据全部写入该共享内存的情况下,通过在共享内存中添加代表待传输数据写入完成的标志,可以避免第二计算设备在待传输数据写入完成前就读取数据,导致接收的数据不完整的情况,提高了数据传输的可靠性。

12、在一种可能的实现中,该待传输数据包括多个数据切片;该共享内存包括切片计数区、每个该数据切片对应的切片数据区以及每个该数据切片对应的切片完成标志区;该切片计数区用于指示已写入该共享内存的数据切片的数量;每个该切片数据区用于写入对应的数据切片;该基于该共享内存的地址信息向该共享内存写入待传输数据,包括:确定是否存在待写入的数据切片;若存在待写入的数据切片,则向对应的切片数据区写入该待写入的数据切片;在与该待写入的数据切片对应的切片完成标志区写入第三预设标识,并更新该切片计数区中已写入该共享内存的数据切片的计数;其中,该第三预设标识用于指示该数据切片已经全部写入该切片数据区。

13、本申请实施例中,第一计算设备将待传输数据以数据切片的方式写入共享内存,第二计算设备在检测到对应的切片完成标志区包括第三预设标识时读取该完整的数据切片,可以提高数据传输时的读写并发能力,从而提高传输性能;另外,通过共享内存实现分片传输,相比通过通信链路进行分片传输的方式,能够节省大量的通信资源。

14、在一种可能的实现中,该共享内存包括应答标志区和/或完成标志区;在该向该第二计算设备发送数据读取通知之前,该方法还包括:清空该应答标志区和/或该完成标志区。

15、本申请实施例中,通过清空功能区域的数据,可以在第一计算设备或第二计算设备需要基于这些功能区域的数据进行判断时,避免由于这些功能区域原本存在的数据导致误判的情况。

16、第二方面,本申请实施例提供了一种基于cxl共享内存的数据传输方法,该方法应用于第二计算设备;该方法包括:

17、接收第一计算设备发送的数据传输通知;其中,该数据传输通知包括共享内存的地址信息,且该数据传输通知用于指示在该第一计算设备和该第二计算设备之间建立通信链路;该共享内存为该第一计算设备和该第二计算设备基于cxl协议共享的内存空间;基于该数据传输通知向该第一计算设备发送响应消息;其中,该响应消息用于指示该第二计算设备与该第一设备之间已经建立通信链路;接收该第一计算设备发送的数据读取通知;基于该数据读取通知和该共享内存的地址信息,从该共享内存读取待传输数据。

18、在一种可能的实现中,该共享内存包括应答标志区;在该接收该第一计算设备发送的数据读取通知之后,该方法还包括:响应于该数据读取通知,在该应答标志区写入第一预设标识;其中,该第一预设标识用于指示该第二计算设备已接收到该数据读取通知。

19、在一种可能的实现中,该共享内存包括完成标志区;该从该共享内存读取待传输数据,包括:确定该完成标志区是否具有第二预设标识;该第二预设标识用于指示待传输数据全部写入该共享内存;若该完成标志区具有该第二预设标识,则从该共享内存读取该待传输数据。

20、在一种可能的实现中,该待传输数据包括多个数据切片;该共享内存包括切片计数区、每个该数据切片对应的切片数据区以及每个该数据切片对应的切片完成标志区;该切片计数区用于指示已写入该共享内存的数据切片的数量;每个该切片数据区用于写入对应的数据切片;该从该共享内存读取待传输数据,包括:确定待读取的该数据切片对应的切片完成标志区是否具有第三预设标识;其中,该第三预设标识用于指示该数据切片已经全部写入该切片数据区;若该待读取的数据切片对应的切片完成标志区具有该第三预设标识,则读取该待读取的数据切片,并更新已读取的数据切片的计数。

21、其中,该已读取的数据切片的计数为第二计算设备维护的计数,每完成一个数据切片的读取接收,第二计算本文档来自技高网...

【技术保护点】

1.一种基于计算快速链路CXL共享内存的数据传输方法,其特征在于,所述方法应用于第一计算设备;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述共享内存包括应答标志区;

3.根据权利要求1或2所述的方法,其特征在于,所述共享内存包括完成标志区;

4.根据权利要求1-3中任一项所述的方法,其特征在于,所述待传输数据包括多个数据切片;

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述共享内存包括应答标志区和/或完成标志区;

6.一种基于计算快速链路CXL共享内存的数据传输方法,其特征在于,所述方法应用于第二计算设备;所述方法包括:

7.根据权利要求6所述的方法,其特征在于,所述共享内存包括应答标志区;

8.根据权利要求6或7所述的方法,其特征在于,所述共享内存包括完成标志区;

9.根据权利要求6或7所述的方法,其特征在于,

10.根据权利要求9所述的方法,其特征在于,所述共享内存还包括完成标志区;

11.一种第一计算设备,其特征在于,所述第一计算设备包括:第一存储器和第一处理器,所述第一处理器与第一存储器耦合;

12.一种第二计算设备,其特征在于,所述第二计算设备包括:第二存储器和第二处理器;所述第二处理器与第二存储器耦合;

13.一种计算系统,其特征在于,所述计算系统包括如权利要求11所述的第一计算设备、如权利要求12所述的第二计算设备,以及内存设备;

...

【技术特征摘要】

1.一种基于计算快速链路cxl共享内存的数据传输方法,其特征在于,所述方法应用于第一计算设备;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述共享内存包括应答标志区;

3.根据权利要求1或2所述的方法,其特征在于,所述共享内存包括完成标志区;

4.根据权利要求1-3中任一项所述的方法,其特征在于,所述待传输数据包括多个数据切片;

5.根据权利要求1-4中任一项所述的方法,其特征在于,所述共享内存包括应答标志区和/或完成标志区;

6.一种基于计算快速链路cxl共享内存的数据传输方法,其特征在于,所述方法应用于第二计算设备;所述方法包括:

7.根据权利要求6所述的方法,其特征在于...

【专利技术属性】
技术研发人员:姚广忠徐磊刘晓建
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1