数据传输方法及高性能计算设备技术

技术编号:39189048 阅读:13 留言:0更新日期:2023-10-27 08:36
本申请提供一种数据传输方法及高性能计算设备,该高性能计算设备包括分别运行第一进程、第二进程、第三进程的第一处理器核、第二处理器核、第三处理器核,第二处理器核、第三处理器核分别包括第一硬件队列、第二硬件队列,方法包括:首先第一进程分别发送第一数据搬移指令和第二数据搬移指令至第一硬件队列和第二硬件队列,指示第一硬件队列将第一进程发送至第二进程的第一数据搬移至第一硬件队列,指示第二硬件队列将第一进程发送至第三进程的第二数据搬移至第二硬件队列,最后第二进程和第三进程分别从对应的硬件队列中获取第一数据和第二数据,其中,第一硬件队列及第二硬件队列并行进行数据搬移。该方法能够提高MPI近邻集合通信的效率。集合通信的效率。集合通信的效率。

【技术实现步骤摘要】
数据传输方法及高性能计算设备


[0001]本申请涉及计算
,尤其涉及一种数据传输方法及高性能计算(high performance computing,HPC)设备。

技术介绍

[0002]消息传递接口标准(message passing interface,MPI)是一个跨语言的通信协议,支持点对点和集合通信。MPI的目标是高性能,大规模性和可移植性,是当今高性能计算的主要通信模型。通常情况下,在高性能计算的典型场景的应用中,MPI通信占比都比较高。例如,在MPI近邻集合通信(neighborhood collective communication)中,通信组中的每个进程均与多个邻居进程进行数据交换。
[0003]目前,在MPI近邻集合通信中,一个进程与多个邻居进程通信时,只能串行通信,存在着通信效率低的问题。

技术实现思路

[0004]本申请提供一种数据传输方法及高性能计算设备,可以解决MPI近邻集合通信中一个进程与多个邻居进程通信时,存在的通信效率低的问题。
[0005]第一方面,提供一种数据传输方法,该方法应用于高性能计算设备,高性能计算设备包括第一处理器核、第二处理器核、第三处理器核,第二处理器核包括第一硬件队列、第三处理器核包括第二硬件队列,第一处理器核运行第一进程、第二处理器核运行第二进程、第三处理器核运行第三进程,该方法包括:首先,第一进程发送第一数据搬移指令至第一硬件队列,以及发送第二数据搬移指令至第二硬件队列,然后,第一硬件队列根据第一数据搬移指令将第一进程发送至第二进程的第一数据从第一进程的内存空间搬移至第一硬件队列中,第二硬件队列根据第二数据搬移指令将第一进程发送至第三进程的第二数据从第一进程的内存空间搬移至第二硬件队列中,最后,第二进程从第一硬件队列获取第一数据,第三进程从第二硬件队列获取第二数据,其中,第一硬件队列及第二硬件队列并行进行第一数据及第二数据的搬移。
[0006]以第一进程与第二进程通信为例,具体实现中,MPI近邻集合通信所属的应用可以预先定义好第一进程与第二进程通信使用的硬件队列,即上述第二处理器核包括的第一硬件队列,并建立第一进程的标识、第二进程的标识和第一硬件队列的标识之间的绑定关系,从而建立第一进程、第二进程和第一硬件队列之间的绑定关系。第一进程和第二进程在通信时,可以基于第一进程、第二进程和第一硬件队列之间的绑定关系,获知通信使用的硬件队列为第一硬件队列,然后通过第一硬件队列进行通信,例如,上文所述第一进程发送第一数据搬移指令至第一硬件队列以及第二进程从第一硬件队列中获取第一数据。
[0007]具体实现中,由于第二进程可以基于MPI集合通信所属的应用建立的第一进程、第二进程和第一硬件队列之间的绑定关系,预先获知与第一进程通信使用的硬件队列为第一硬件队列,因此,第二进程可以直接轮询第一硬件队列,确定第一硬件队列是否已将第一数
据搬移至第一硬件队列,在确定第一硬件队列已将第一数据搬移至第一硬件队列时,从第一硬件队列中获取第一数据,第一进程无需向第二进程发送通知消息。
[0008]可以看出,上述方法中,第一进程通过向第一硬件队列和第二硬件队列发送第一数据搬移指令和第二数据搬移指令,使得第一硬件队列和第二硬件队列根据第一数据搬移指令和第二数据搬移指令并行进行第一数据和第二数据的搬移,相较于现有技术中,第一处理器核以串行方式搬移第一数据和第二数据,可以提高第一进程向第二进程和第三进程传输数据的效率,从而提高通信效率。
[0009]而且,上述方法中,第一进程在通过第一硬件队列和第二硬件队列搬移第一数据和第二数据后,第二进程和第三进程分别从第一硬件队列和第二硬件队列中获取第一数据和第二数据即可,在该过程中,第一进程无需向第二进程和第三进程发送通知消息,第二进程和第三进程无需在接收到第一进程发送的通知消息后才能获取第一数据和第二数据,因此,可以进一步提高第一进程向第二进程和第三进程传输数据的效率,从而进一步提高通信效率。
[0010]此外还可以看出,上述方法中,第一进程通过第一硬件队列和第二硬件队列进行数据搬运工作,相较于现有技术中,第一进程通过第一处理器核进行数据搬运工作,这样可以使得第一处理器核专注于计算工作,提高第一处理器核的利用率,从而提高高性能计算设备的计算资源利用率。
[0011]在一种可能的实现方式中,第一数据及第二数据携带第一进程的标识,第二进程和第三进程根据第一进程的标识识别第一数据及第二数据为第一进程发送的数据。如此,可以使得接收数据的进程确定发送数据的进程的身份。
[0012]具体实现中,第二进程可能会同时与多个进程进行通信,实施上述实现方式,第一数据携带第一进程的标识,可以使得后续第二进程在从第一硬件队列中获取第一数据时,根据第一数据携带的第一进程的标识识别出第一数据为第一进程发送的数据,然后,获取第一数据。如此,可以保证第一进程和第二进程之间的通信准确性。同样地,第二数据携带第一进程的标识,可以保证第一进程和第三进程之间的通信准确性。
[0013]在一种可能的实现方式中,第一方面提供的方法还包括如下步骤:
[0014]第二进程将第一数据搬移至第二进程的内存空间,第三进程将第三数据搬移至第三进程的内存空间。
[0015]实施上述实现方式,第二进程可以在需要使用第一数据进行计算操作时,再从第二进程的内存空间中取出第一数据,实现第一数据的灵活取用。同样地,第三进程可以在需要使用第二数据进行计算操作时,再从第三进程的内存空间中取出第二数据,实现第二数据的灵活取用。
[0016]在一种可能的实现方式中,第一方面提供的方法还包括如下步骤:
[0017]首先,第二进程发送第三数据搬移指令至第一硬件队列,第三进程发送第四数据搬移指令至第二硬件队列,然后,第一硬件队列根据第三数据搬移指令从第二进程的内存空间将第二进程发送至第一进程的第三数据搬移至第一硬件队列,第二硬件队列根据第四数据搬移指令从第三进程的内存空间将第三进程发送至第一进程的第四数据搬移至第二硬件队列,最后,第一进程从第一硬件队列获取第三数据,以及从第二硬件队列获取第四数据。
[0018]上述方法中,第二进程和第三进程通过向第一硬件队列和第二硬件队列发送第三数据搬移指令和第四数据搬移指令,使得第一硬件队列和第二硬件队列根据第三数据搬移指令和第四数据搬移指令进行第三数据和第四数据的搬移,然后第一进程从第一硬件队列和第二硬件队列中获取第三数据和第四数据即可,在该过程中,第二进程和第三进程无需向第一进程发送通知消息,第一进程无需在接收到第二进程和第三进程发送的通知消息后才能获取第三数据和第四数据,可以提高第二进程和第三进程向第一进程传输数据的效率,从而提高通信效率。
[0019]此外还可以看出,上述方法中,第二进程和第三进程通过第一硬件队列和第二硬件队列进行数据搬运工作,相较于现有技术中,第二进程和第三进程通过第二处理器核和第三处理器核进行数据搬运工作,这样可以使得第二处理器核和第三处理器核专注本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,所述方法应用于高性能计算设备,所述高性能计算设备包括第一处理器核、第二处理器核、第三处理器核,所述第二处理器核包括第一硬件队列、所述第三处理器核包括第二硬件队列,所述第一处理器核运行第一进程、所述第二处理器核运行第二进程、所述第三处理器核运行第三进程,所述方法包括:所述第一进程发送第一数据搬移指令至所述第一硬件队列,以及发送第二数据搬移指令至所述第二硬件队列;所述第一硬件队列根据所述第一数据搬移指令将所述第一进程发送至所述第二进程的第一数据从所述第一进程的内存空间搬移至所述第一硬件队列中;所述第二硬件队列根据所述第二数据搬移指令将所述第一进程发送至所述第三进程的第二数据从所述第一进程的内存空间搬移至所述第二硬件队列中;其中所述第一硬件队列及所述第二硬件队列并行进行所述第一数据及所述第二数据的搬移;所述第二进程从所述第一硬件队列获取所述第一数据,所述第三进程从所述第二硬件队列获取所述第二数据。2.根据权利要求1所述的方法,其特征在于,所述第一数据及所述第二数据携带所述第一进程的标识,所述第二进程和所述第三进程根据所述第一进程的标识识别所述第一数据及所述第二数据为所述第一进程发送的数据。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述第二进程将所述第一数据搬移至所述第二进程的内存空间,所述第三进程将所述第三数据搬移至所述第三进程的内存空间。4.根据权利要求1至3任意一项所述的方法,其特征在于,所述方法还包括:所述第二进程发送第三数据搬移指令至所述第一硬件队列,所述第三进程发送第四数据搬移指令至所述第二硬件队列;所述第一硬件队列根据所述第三数据搬移指令从所述第二进程的内存空间将所述第二进程发送至所述第一进程的第三数据搬移至所述第一硬件队列中;所述第二硬件队列根据所述第四数据搬移指令从所述第三进程的内存空间将所述第三进程发送至所述第一进程的第四数据搬移至所述第二硬件队列中;所述第一进程从所述第一硬件队列获取所述第三数据,以及从所述第二硬件队列获取所述第四数据。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述第一进程与所述第二进程及所述第三进程之间通过消息传递接口MPI进行通信。6.一种高性能计算设备,其特征在于,...

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

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

1