分布式计算系统,分布式计算系统中数据传输方法和装置制造方法及图纸

技术编号:34466352 阅读:91 留言:0更新日期:2022-08-10 08:39
本申请公开了一种分布式计算系统,该分布式计算系统中的第一计算节点和第二计算节点都保存有数据流图中第一数据流图参数的名称、大小和通信对端标识的信息,第一计算节点中保存有该第一数据流图参数,第一计算节点和第二计算节点使用各自节点中存储的相同的接口参数生成算法和第一数据流图参数的上述信息,生成各自的三元组,该三元组被用作第一计算节点和第二计算节点间用于传输第一数据流图参数的消息传递接口MPI原语的接口参数。这样,第一计算节点与第二计算节点就可以无需协商地使用MPI原语传输数据流图参数,能够提高计算节点间数据的通信效率,从而提升分布式计算系统对数据流图的计算效率。对数据流图的计算效率。对数据流图的计算效率。

【技术实现步骤摘要】
分布式计算系统,分布式计算系统中数据传输方法和装置
[0001]本申请是分案申请,原申请的申请号是201710769632.8,原申请日是2017年8月31日,原申请的全部内容通过引用结合在本申请中。


[0002]本专利技术涉及计算机领域,尤其涉及分布式计算系统,分布式计算系统中的数据传输方法和装置。

技术介绍

[0003]随着大数据产业和人工智能技术的发展,各类计算平台不断涌现,例如机器学习平台,图计算平台和流计算平台等等。这些计算平台常常被部署在分布式计算系统中以执行大数据计算。例如,机器学习平台通常以数据流图为计算对象,通过将数据流图划分为多个子图或者副本,以及将该多个子图或者副本部署在分布式计算系统中的多个计算节点上,进而可以使用该多个计算节点对数据流图进行协同计算,以提升数据的计算效率。其中,该多个计算节点中的计算节点可以包括多个用于计算的设备,如CPU(Center Processing Unit,中央处理器)以及在该计算节点的主机中配备的加速硬件,例如加速硬件可以是GPU(Graphics Processing Unit,图形处理器)。
[0004]而数据流图在分布式计算系统的计算过程中,需要进行节点间的数据流图参数的通信,这种通信直接影响机器学习平台对数据流图的计算效率。一种现有的方案中,将通常应用于高性能计算领域的消息传递接口(Message Passing Interface,MPI)库技术作为一个外接的插件引入分布式计算系统,以支持该系统中的数据通信,然而,在MPI库技术在进行数据通信前,需要进行数据通信的双方通过信息交互以得到通信对端的信息,从而协商出用于MPI原语的通信参数,而计算平台的通信时序的动态性和随机性使得数据通信的双方难以及时确认对端以及进行协商,该协商过程也增加了计算平台中数据通信的负担,从而影响数据的传输效率。

技术实现思路

[0005]本专利技术的实施例提供一种分布式计算系统中的数据传输方法、装置以及一种分布式计算系统,能简化MPI技术应用在计算数据流图中的通信过程,无需在数据传输前与通信对端协商对端信息,使得MPI技术能够更好地与分布式部署的计算平台适配,从而提高分布式计算系统中数据传输的效率,从而提升对分布式计算系统数据流图的计算效率。
[0006]为达到上述目的,本专利技术的实施例采用如下技术方案:
[0007]第一方面,本申请提供一种分布式计算系统,该分布式计算系统包括第一计算节点和第二计算节点,其特征在于,所述第一计算节点上的第一图数据结构保存有第一数据流图中的第一数据流图参数的名称、大小和通信对端标识,其中所述第一数据流图参数为所述第一数据流图的一连接边所承载的参数;所述第二计算节点上的第二图数据结构保存有第二数据流图中的所述第一数据流图参数的名称、大小和通信对端标识;所述第一数据
流图中的第一数据流图参数的通信对端标识对应于所述第二计算节点,所述第二数据流图中的所述第一数据流图参数的通信对端标识对应于所述第一计算节点;所述第一计算节点用于,根据所述第一图数据结构中的第一数据流图参数的名称、大小和通信对端标识,利用第一接口参数生成算法生成第一三元组,所述第一三元组包括消息标记、消息大小和目的进程序列号,其中,所述消息标记对应于所述第一数据流图参数的名称,所述消息大小对应于所述第一数据流图参数的大小,所述目的进程序列号对应于所述第二计算节点中接收所述第一数据流图参数的进程;所述第二计算节点用于,根据所述第二图数据结构中的第一数据流图参数的名称、大小和通信对端标识,利用第二接口参数生成算法生成第二三元组,所述第二接口参数生成算法与所述第一接口参数生成算法相同,所述第二三元组包括所述消息标记、所述消息大小和源进程序列号,其中,所述源进程序列号对应于所述第一计算节点中发送所述第一数据流图参数的进程;所述第一计算节点用于,以所述第一三元组作为接口参数,调用消息传递接口MPI发送原语向所述第二计算节点发送所述第一数据流图参数;所述第二计算节点用于,根据所述第二三元组,调用MPI接收原语处理所述第一数据流图参数。
[0008]这样,以第一三元组为接口参数的MPI发送原语与以第二三元组为接口参数的MPI接收原语相对应,这样,在第一图数据结构和第二图数据结构中,包括有通信对端标识,解决了通信对端的进程在数据流图运行过程中不可知的问题,以及,需要传输该第一数据流图参数的通信双方,使用各自计算节点存储的数据流图中的信息和相同的接口参数生成算法生成三元组,就无需向对端交互自己的信息,以及无需协商生成三元组的算法,该方法能够在数据发送方和接收方内独立运行,在双方无交互的情况下生成对应的三元组,简化了使用MPI原语通信的过程,能够提高分布式计算平台中数据传输的效率。
[0009]应理解,根据所述第二三元组,调用MPI接收原语处理所述第一数据流图参数,可以达到使得第二计算节点中的进程能使用该第一数据流图参数进行数据流图的计算的目的。调用MPI接收原语处理所述第一数据流图参数,“处理”在不同的场景下,可以对应不同的操作,本申请不做限定。例如可以是以下操作中的一种或多种:调用MPI接收原语将该第一数据流图参数接收到主机内存的数据缓冲区;调用MPI接收原语修改该第一数据流图参数的标记,以将已在主机内存中的第一数据流图参数提供给计算数据流图的进程使用;将该第一数据流图参数从数据缓冲区存储到目的地址。
[0010]第一数据流图参数的名称(name)用于标识该第一数据流图参数,可以是该第一图数据结构中的一个字段也可以是分散在该第一图数据结构中的信息。该第一数据流图参数的大小(size)用于表示该第一数据流图参数所占的存储空间,也就是该数据流图参数的数据量。
[0011]该第一数据流图中的第一数据流图参数的通信对端标识可以是该第二计算节点的标识;或者该第一数据流图参数的目的地址所在的存储设备的标识,该存储设备位于第二计算节点;或者该第一数据流图参数对应的目的进程的标识,该目的进程位于第二计算节点;或者其他用于指示该第一数据流图参数的接收端的信息。
[0012]对于该第二数据流图中的第一数据流图参数的通信对端标识,类似的,可以是该第一计算节点的标识;或者该第一数据流图参数的源地址所在的存储设备的标识,该存储设备位于第一计算节点;或者第一计算节点汇总发送该第一数据流图参数的进程的标识;
或者其他用于指示该第一数据流图参数的发送端的信息。
[0013]第一计算节点上的第一图数据结构保存有第一数据流图中的第一数据流图参数的名称、大小和通信对端标识,可以是在该第一图数据结构中包括承载该三种信息的字段,也可以是保存有能够得到该第一数据流图参数的名称、大小或者通信对端标识的信息。即所谓“保存有”可以是能够直接从该第一图数据结构中读取,也可以是根据该第一图数据结构中的信息分析获得。
[0014]第二数据流图保存在第二计算节点上,第二数据流图可以是第一数据流图的副本,也可以与第一数据流图都是一个数据流图的两个子图。
[0015]其中,消息标记本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式计算系统,所述分布式计算系统包括第一计算节点和第二计算节点,其特征在于,所述第一计算节点保存有第一数据流图中的第一数据流图参数的名称、大小和通信对端标识,其中所述第一数据流图参数为所述第一数据流图的一连接边所承载的参数;所述第二计算节点保存有第二数据流图中的所述第一数据流图参数的名称、大小和通信对端标识;所述第一数据流图中的第一数据流图参数的通信对端标识对应于所述第二计算节点,所述第二数据流图中的第一数据流图参数的通信对端标识对应于所述第一计算节点;所述第一计算节点用于,利用第一接口参数生成算法生成第一三元组,所述第一三元组包括消息标记、消息大小和目的进程序列号,其中,所述消息标记对应于所述第一计算节点中的所述第一数据流图参数的名称,所述消息大小对应于所述第一计算节点中的所述第一数据流图参数的大小,所述目的进程序列号对应于所述第二计算节点中接收所述第一计算节点中的所述第一数据流图参数的进程;所述第二计算节点用于,利用第二接口参数生成算法生成第二三元组,所述第二接口参数生成算法与所述第一接口参数生成算法相同,所述第二三元组包括所述消息标记、所述消息大小和源进程序列号,其中,所述源进程序列号对应于所述第一计算节点中发送所述第一数据流图参数的进程;所述第一计算节点用于,以所述第一三元组作为接口参数,向所述第二计算节点发送所述第一数据流图参数;所述第二计算节点用于,根据所述第二三元组,所述第一数据流图参数。2.根据权利要求1所述的系统,其特征在于,在以所述第一三元组作为接口参数,向所述第二计算节点发送所述第一数据流图参数的方面,所述第一计算节点用于以所述第一三元组作为接口参数,通过消息传递接口MPI发送原语从所述第一计算节点的主机内存中读取所述第一数据流图参数,以向所述第二计算节点发送所述第一数据流图参数。3.根据权利要求2所述的系统,其特征在于,所述第一计算节点还保存有所述第一数据流图参数所在的存储设备的信息,第一数据流图参数所述第一计算节点还用于在所述存储设备的信息指示为其他存储设备的情况下,将所述第一数据流图参数从所述其他存储设备复制到所述第一计算节点的主机内存,所述其他存储设备为所述第一计算节点中除主机内存外的内存。4.根据权利要求1到3任一权利要求所述的系统,其特征在于,所述第一接口参数生成算法包括第一算法、第二算法和第三算法,在利用第一接口参数生成算法生成第一三元组第一数据流图参数的方面,所述第一计算节点用于:根据所述第一图数据结构中的第一数据流图参数的名称第一数据流图参数和所述第一算法,得到所述第一三元组中的消息标记,根据所述第一图数据结构中的第一数据流图参数的大小和所述第二算法,得到所述第一三元组中的消息大小,以及根据第一图数据结构中的第一数据流图参数的通信对端标识和所述第三算法,得到所述第一三元组中的目的进程序列号;相应的,在根据所述第二图数据结构中的第一数据流图参数的名称、大小和通信对端标识,利用第二接口参数生成算法生成第二三元组第一数据流图参数的方面,所述第二计算节点用于:
根据所述第二图数据结构中的第一数据流图参数的名称和所述第二接口参数生成算法中的第一算法,得到所述第二三元组中的消息标记;根据所述第二图数据结构中的第一数据流图参数的大小和所述第二接口参数生成算法中的第二算法,得到所述第二三元组中的消息大小;以及根据第二图数据结构中的第一数据流图参数的通信对端标识和所述第二接口参数生成算法中的第三算法,得到所述第二三元组中的源进程序列号。5.根据权利要求1到4任一权利要求所述的系统,其特征在于,在根据所述第二三元组,处理所述第一数据流图参数的方面第一数据流图参数,所述第二计算节点用于通过MPI探测原语检测所述第二计算节点主机内存中的数据缓存区,以获得所述第一数据流图参数的第二三元组,所述数据缓存区专用于存储由MPI原语处理的数据;调用MPI接收原语,以处理所述第一数据流图参数,所述MPI接收原语的接口参数包括所述第二三元组。6.根据权利要求1到4任一权利要求所述的系统,其特征在于,所述第一数据流图参数接收原语携带所述第一数据流图参数的目的地址,在通过第一数据流图参数接收原语处理所述第一数据流图参数的方面,所述第二计算节点用于将所述第二三元组作为所述MPI接收原语的接口参数调用所述MPI接收原语,以将所述第一数据流图参数从所述数据缓存区存储到所述目的地址。7.一种分布式计算系统中的数据传输方法,所述分布式计算系统包括第一计算节点和第二计算节点,其特征在于,所述方法包括:其中所述第一数据流图参数为所述第一数据流图的一连接边所承载的参数,所述通信对端标识对应所述第二计算节点;利用第一接口参数生成算法生成第一三元组,所述第一三元组包括消息标记、消息大小和目的进程序列号,其中,所述消息标记对应于第一数据流图参数的名称,所述消息大小对应于所述第一数据流图参数的大小,所述目的进程序列号对应于所述第二计算节点中接收所述第一数据流图参数的进程,其中所述第一数据流图参数为第一数据流图的一连接边所承载的参数;以所述第一三元组作为接口参数,向所述第二计算节点发送所述第一数据流图参数,以便于所述第二计算节点以与所述第一三元组对应的第二三元组作为接口参数,处理所述第一数据流图参数,所述第二三元组是利用第二接口参数生成算法生成的,所述第二接口参数生成算法与所述第一接口生成算法相同。8.根据权利要求7所述的方法,其特征在于,在以所述第一三元组作为接口参数,向所述第二计算节点发送所述第一数据流图参数的方面,所述方法包括:以所述第一三元组作为接口参数,通过消息传递接口MPI发送原语从所述第一计算节点的主机内存中读取所述第一数据流图参数,以向所述第二计算节点发送所述第一流数据流图参数。9.根据权利要求8所述的方法,其特征在于,所述第一计算节点还保存有所述第一数据流图参数所在的存储设备的信息,所述方法还包括:在所述存储设备的信息指示为其他存储设备的情况下,将所述第一数据流图参数从所述其他存储设备复制到所述第一计算节点的主机内存,所述其他存储设备为所述第一计算节点中除主机内存外的内存。10.根据权利要求7到9任一所述的方法,其特征在于,所述第一接口参数生成算法包括
第一算法、第二算法和第三算法,在根据所述第一图数据结构中的第一数据流图参数的名称、大小和通信对端标识,利用第一接口参数生成算法生成第一三元组的方面,所述第一计算节点用于:根据所述第一图数据结构中的第一数据流图参数的名称和所述第一算法,得到所述第一三元组中的消息标记,根据所述第一图数据结构中的第一数据流图参数的大小和所述第二算法,得到所述第一三元组中的消息大小,以及根据第一图数据结构中的第一数据流图参数的通信对端标识和所述第三算法,得到所述第一三元组中的目的进程序列号。11.一种分布式计算系统中的数据传输装置,所述分布式计算系统包括第一计算节点和第二计算节点,其特征在于,所述数据传输装置位于所述第一计算节点,所述数据传输装置包括:确定模块,所述确定模块用于从所述第一计算节点中的第一图数据结构中,确定第一数据流图的第一数据流图参数的名称、大小和通信对端标识,其中...

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

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

1