分布式图学习方法和装置制造方法及图纸

技术编号:34355076 阅读:76 留言:0更新日期:2022-07-31 06:26
本说明书实施例提供了一种分布式图学习方法和装置。该方法中,分布式图中包括跨机节点,该跨机节点被映射为第一设备中的拥有特征数据的主节点以及第二设备中的不拥有特征数据的镜像节点;该方法包括:在一个线程中调度镜像节点进行基于特征数据的计算;判断所述镜像节点是否拥有从主节点同步来的特征数据;如果是,则由镜像节点利用接收到的特征数据进行计算;如果否,在该线程中调度其他节点进行基于特征数据的计算,该镜像节点进入睡眠,在该镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。能够提高图学习的效率。能够提高图学习的效率。能够提高图学习的效率。

【技术实现步骤摘要】
分布式图学习方法和装置


[0001]本说明书一个或多个实施例涉及网络通信技术,尤其涉及分布式图学习方法和装置。

技术介绍

[0002]知识图谱(Knowledge Graph)本质上是一种揭示实体之间关系的语义网络。在知识图谱中,图中的每一个节点都具有自己的各种特征,每一个边也具有自己的各种特征。
[0003]随着信息的爆炸式增长,知识图谱的规模也异常庞大,比如一个知识图谱中可以包括上亿个节点及更多的边。鉴于知识图谱的庞大规模,目前出现了分布式图,即将知识图谱中的所有节点及边分散保存到多个设备中,相应地,也就出现了分布式图学习方法,即由保存各个节点及边的多个设备联合完成分布式图的学习。
[0004]在目前的分布式图学习的方法中,为了保证数据同步的正确性,会使用互斥锁(mutex锁),从而会导致图学习的效率低下。

技术实现思路

[0005]本说明书一个或多个实施例描述了分布式图学习方法和装置,能够提高图学习的效率。
[0006]根据第一方面,提供了一种分布式图学习方法,其中,所述分布式图中包括跨机节点,该跨机节点被映射为第一设备中的拥有特征数据的主节点以及第二设备中的不拥有特征数据的镜像节点;该方法包括:在一个线程中调度镜像节点进行基于特征数据的计算;判断所述镜像节点是否拥有从主节点同步来的特征数据;如果是,则由镜像节点利用接收到的特征数据进行计算;如果否,在所述线程中调度其他节点进行基于特征数据的计算,该镜像节点进入睡眠,在该镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。
[0007]其中,所述镜像节点中预先设置有状态机,该状态机包括:数据同步状态及计算状态;该方法进一步包括:根据镜像节点是否拥有所述特征数据来设置所述数据同步状态的值,根据所述镜像节点是否在执行基于特征数据的计算来设置所述计算状态的值;利用所述镜像节点的数据同步状态的值,执行所述判断所述镜像节点是否拥有从主节点同步来的特征数据的步骤;利用所述镜像节点的计算状态的值,执行所述在所述镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。
[0008]其中,主节点分批次将对应神经网络的每一层的特征数据同步给镜像节点;所述数据同步状态包括:分别对应于该每一层的数据同步状态;所述计算状态包括:分别对应于该每一层的计算状态;
所述设置所述数据同步状态的值,包括:当镜像节点拥有从主节点同步来的第M层的特征数据时,将对应该第M层的数据同步状态置为第一状态值,否则将对应该第M层的数据同步状态置为第二状态值;所述设置所述计算状态的值,包括:当镜像节点在执行第M层的基于特征数据的计算时,将对应该第M层的计算状态置为第三状态值,否则将对应该第M层的计算状态置为第四状态值;其中,M层为所述神经网络的任意一层。
[0009]其中,由计算线程负责调度镜像节点进行计算;计算线程执行到所述神经网络的第N层;其中,N层为所述神经网络的任意一层;所述利用所述镜像节点的数据同步状态的值执行所述判断所述镜像节点是否拥有从主节点同步来的特征数据的步骤,包括:如果对应第N层的数据同步状态为第一状态值,则判断出镜像节点已经拥有所述特征数据;如果对应第N层的数据同步状态为第二状态值,则判断出镜像节点还未拥有所述特征数据;其中,由网络线程负责调度从主节点到镜像节点的特征数据的传输;网络线程执行到所述神经网络的第N层;所述利用所述镜像节点的计算状态的值执行所述在所述镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点,包括:如果所述镜像节点中对应第N层的计算状态为第四状态值,网络线程只将所述主节点同步的特征数据传输给所述镜像节点;如果所述镜像节点中对应第N层的计算状态为第三状态值,则网络线程将主节点同步的特征数据传输给所述镜像节点,并在传输完毕之后,唤醒所述镜像节点。
[0010]其中,所述状态机包括:L个比特位,其中,L等于所述神经网络的层数的两倍;对应每一层的数据同步状态、计算状态均分别使用所述L个比特位中的一个比特位进行标识;表征数据同步状态的比特位的不同值表示数据同步状态的不同值;表征计算状态的比特位的不同值表示计算状态的不同值。
[0011]其中,由网络线程配置表征数据同步状态的比特位的值,由计算线程配置表征计算状态的比特位的值;利用原子操作中的原子指令控制所述网络线程及所述计算线程执行配置比特位的值的流程。
[0012]根据第二方面,提供了一种分布式图学习的装置,该装置包括:调度触发模块,配置为在一个线程中调度镜像节点进行基于特征数据的计算;判断模块,配置为判断所述镜像节点是否拥有从主节点同步来的特征数据;第一计算模块,配置为在所述镜像节点拥有从主节点同步来的特征数据时,触发镜像节点利用接收到的特征数据进行计算;第二计算模块,配置为在所述镜像节点未拥有从主节点同步来的特征数据时,触发在所述线程中调度其他节点进行基于特征数据的计算,触发该镜像节点进入睡眠,在该
镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。
[0013]根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
[0014]根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
[0015]对于本说明书实施例提供的分布式图学习的方法及装置,在一个线程中,不是逐个节点计算,如果镜像节点还未拥有从主节点同步来的特征数据,比如主节点向镜像节点同步特征数据的过程还未完成或者未开始,那么,可以让该镜像节点进入睡眠,而不是对整个线程上锁,并让该镜像节点所在线程中的拥有特征数据的其他节点计算特征值,从而不会浪费计算资源,提高了图学习的效率。进一步地,由于采用了对镜像节点进行睡眠加唤醒的方式,不会导致在操作系统层面的程序调度,降低了操作的复杂度,提高了系统性能。
附图说明
[0016]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是分布式图学习应用的系统架构示意图。
[0018]图2是本说明书一个实施例中分布式图学习的方法的流程图。
[0019]图3是本说明书另一个实施例中分布式图学习的方法的流程图。
[0020]图4是本说明书一个实施例中分布式图学习的装置的结构示意图。
[0021]图5是本说明书另一个实施例中分布式图学习的装置的结构示意图。
具体实施方式
[0022]如前所述,在目前的分布式图学习的方法中,为了保证图学习过程中数据同步的正确性,会使用互斥锁,从而会导致图学习的效率低下。
[0023]比如,参见图1,在一张分布式图中,节点A、D本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.分布式图学习方法,其中,所述分布式图中包括跨机节点,该跨机节点被映射为第一设备中的拥有特征数据的主节点以及第二设备中的不拥有特征数据的镜像节点;该方法包括:在一个线程中调度镜像节点进行基于特征数据的计算;判断所述镜像节点是否拥有从主节点同步来的特征数据;如果是,则由镜像节点利用接收到的特征数据进行计算;如果否,在所述线程中调度其他节点进行基于特征数据的计算,该镜像节点进入睡眠,在该镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。2.根据权利要求1所述的方法,其中,所述镜像节点中预先设置有状态机,该状态机包括:数据同步状态及计算状态;该方法进一步包括:根据镜像节点是否拥有所述特征数据来设置所述数据同步状态的值,根据所述镜像节点是否在执行基于特征数据的计算来设置所述计算状态的值;利用所述镜像节点的数据同步状态的值,执行所述判断所述镜像节点是否拥有从主节点同步来的特征数据的步骤;利用所述镜像节点的计算状态的值,执行所述在所述镜像节点拥有从主节点同步来的特征数据之后唤醒该镜像节点。3.根据权利要求2所述的方法,其中,主节点分批次将对应神经网络的每一层的特征数据同步给镜像节点;所述数据同步状态包括:分别对应于该每一层的数据同步状态;所述计算状态包括:分别对应于该每一层的计算状态;所述设置所述数据同步状态的值,包括:当镜像节点拥有从主节点同步来的第M层的特征数据时,将对应该第M层的数据同步状态置为第一状态值,否则将对应该第M层的数据同步状态置为第二状态值;所述设置所述计算状态的值,包括:当镜像节点在执行第M层的基于特征数据的计算时,将对应该第M层的计算状态置为第三状态值,否则将对应该第M层的计算状态置为第四状态值;其中,第M层为所述神经网络的任意一层。4.根据权利要求3所述的方法,其中,由计算线程负责调度镜像节点进行基于特征数据的计算;计算线程执行到所述神经网络的第N层;其中,第N层为所述神经网络的任意一层;所述利用所述镜像节点的数据同步状态的值执行所述判断所述镜像节点是否拥有从主节点同步来的特征数据的步骤,包括:如果对应第N层的数据同步状态为第一状态值,则判断出镜像节点已经拥有所述特征数据;如果对应第N层的数据同步状态为第二状...

【专利技术属性】
技术研发人员:郭志强
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1