CN115827261B - 基于分布式网络的数据同步方法、装置、服务器及介质 - Google Patents
基于分布式网络的数据同步方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN115827261B CN115827261B CN202310030362.4A CN202310030362A CN115827261B CN 115827261 B CN115827261 B CN 115827261B CN 202310030362 A CN202310030362 A CN 202310030362A CN 115827261 B CN115827261 B CN 115827261B
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- local
- server
- processors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了基于分布式网络的数据同步方法、装置、服务器及介质。该方法包括:按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;根据行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。通过本发明的技术方案,能够快速地实现分布式异构网络的数据交互和计算,提升了分布式异构网络的训练效率。
Description
技术领域
本发明涉及分布式异构网络技术领域,尤其涉及基于分布式网络的数据同步方法、装置、设备及介质。
背景技术
在深度学习神经网络领域,通常采用公式Y= Weights * x + biases实现特征提取,可简化成Y=Wx + b的形式来表达,其中,Weights(W)为权重,biases(b)为偏差。由于在分布式异构网络训练过程中,通常需要在一定单位时间内保证服务器集群内各处理器上的权重与偏差一致,因此,在分布式异构网络的训练过程中神经网络各处理器上的数据需要存在频繁的计算和交互。
然而,随着分布式异构网络规模和参数的逐渐扩大,服务器集群内处理器的数量和种类逐渐增多,权重和偏差的数据量也逐渐增大,使得数据交互和计算的时长提升,降低了分布式异构网络的训练效率。因此,如何快速地实现分布式异构网络的数据交互和计算,提升分布式异构网络的训练效率,是目前亟待解决的问题。
发明内容
本发明提供了一种基于分布式网络的数据同步方法、装置、设备及介质,可以解决分布式异构网络的训练效率较低的问题。
根据本发明的一方面,提供了一种基于分布式网络的数据同步方法,应用于分布式异构网络中的服务器集群,服务器集群包含顺序编号的多个服务器,每个服务器包含在服务器内顺序编号的多个处理器,该方法包括:
按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;
根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
根据本发明的另一方面,提供了一种基于分布式网络的数据同步装置,包括:
第一数据交互模块,用于按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
行列位置确定模块,用于根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;
第二数据交互模块,用于根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
第三数据交互模块,用于在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
根据本发明的另一方面,提供了一种服务器,所述服务器包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的基于分布式网络的数据同步方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的基于分布式网络的数据同步方法。
本发明实施例的技术方案,通过按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;之后,根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;并根据行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;进一步,在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步,解决了分布式异构网络的训练效率较低的问题,可以快速地实现分布式异构网络的数据交互和计算,提升了分布式异构网络的训练效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据现有技术提供的一种分布式网络的拓扑结构图;
图2是根据现有技术提供的一种服务器内获取分块数据的流程示意图;
图3是根据现有技术提供的一种服务器内获取分块数据的结果示意图;
图4是根据现有技术提供的一种服务器间进行数据同步的流程示意图;
图5是根据现有技术提供的一种服务器间进行数据同步的结果示意图;
图6是根据现有技术提供的一种服务器内进行数据同步的流程示意图;
图7是根据现有技术提供的一种服务器内进行数据同步的结果示意图;
图8是根据本发明实施例一提供的一种基于分布式网络的数据同步方法的流程图;
图9是根据本发明实施例一提供的一种处理器分组的结构示意图;
图10是根据本发明实施例一提供的一种处理器阵列的结构示意图;
图11是根据本发明实施例二提供的一种基于分布式网络的数据同步方法的流程图;
图12是根据本发明实施例二提供的一种服务器内获取分块数据的流程示意图;
图13是根据本发明实施例二提供的一种服务器内获取分块数据的结果示意图;
图14是根据本发明实施例二提供的一种处理器阵列的数据存储结果图;
图15是根据本发明实施例二提供的一种与目标同行处理器进行一次数据交互的流程示意图;
图16是根据本发明实施例二提供的一种与目标同列处理器进行数据交互的流程示意图;
图17是根据本发明实施例二提供的一种与目标同行处理器进行二次数据同步的结果示意图;
图18是根据本发明实施例二提供的一种可选的基于分布式网络的数据同步方法的流程图;
图19是根据本发明实施例三提供的一种基于分布式网络的数据同步装置的结构示意图;
图20是实现本发明实施例的基于分布式网络的数据同步方法的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是根据现有技术提供的一种分布式网络的拓扑结构图;如图所示,该分布式异构网络包含一个服务器集群,服务器集群包含顺序编号的多个服务器,每个服务器包含在服务器内顺序编号的多个处理器。服务器内部的各处理器通过网络设备进行数据交互,各服务器间通过交换机或路由器进行数据交互。由于在分布式异构网络的训练过程中,通常需要在一定单位时间内保证服务器集群内各处理器上的权重与偏差一致,因此,在分布式异构网络的训练过程中神经网络各处理器上的数据需要存在频繁的计算和交互。
现有技术中,为保证服务器集群内各处理器上的权重与偏差一致,首先,会对所有服务器内的处理器持有的数据做全规约(All Reduce)操作,图2所示为现有技术中服务器内获取分块数据的流程示意图;具体的,服务器内部的指定处理器获取其余处理器中的数据,将所有处理器上的数据进行逻辑运算后,再将运算后的结果等量的分发给其余的处理器,使得服务器内部的各处理器中数据保持一致。图3所示为现有技术中服务器内获取分块数据的结果示意图;具体的,以服务器内部存在三个处理器为例,处理器1中有四个数据(5,1,2,3),处理器2中有四个数据(2,3,3,4),处理器3中有四个数据(3,4,4,5),逻辑运算为求和运算,则各处理器相同位置的数据都是所有原处理器相同位置的原数据的求和,即,5+2+3=10、1+3+4=8、2+3+4=9、3+4+5=12。
进而,在服务器内部的所有处理器中选择一个处理器作为主处理器,与其他服务器内的主处理器进行All Reduce操作,实现服务器间主处理器的数据同步。图4所示为现有技术中服务器间进行数据同步的流程示意图;具体的,以处理器1为主服务器为例,指定主处理器获取其他主处理器中的数据,将所有主处理器中的数据进行逻辑运算后,再将运算后的结果等量的分发给其余主处理器,使得各主处理器中的数据保持一致。图5所示为现有技术中服务器间进行数据同步的结果示意图;具体的,以三个服务器,主处理器为处理器1为例,服务器1的处理器1有四个数据(10,8,9,12),服务器2的处理器1有四个数据(11,9,10,13),服务器3的处理器1有四个数据(12,10,11,14),逻辑运算为求和运算,则各主处理器相同位置的数据都是所有原主处理器相同位置的原数据的求和,即10+11+12=33、8+9+10=27、9+10+11=30、12+13+14=39。
最后,服务器内的主处理器通过广播(Broadcast)的方式将主处理器内的数据传递给服务器内的其余处理器。图6所示为现有技术中服务器内进行数据同步的流程示意图;具体的,以处理器1为主处理器为例,处理器1将自身的数据分发给其余处理器,替换其余处理器之前存储的数据,由此,实现所有处理器的数据同步。图7所示为现有技术中服务器内进行数据同步的结果示意图;具体的,以三个服务器为例,服务器1中处理器1通过计算有四个数据(33,27,30,39),服务器1中处理器2和处理器3都还保持原有的数据(10,8,9,12),通过Broadcast操作后所有处理器的数据都一样。
然而,现有技术在进行服务器间主处理器的数据同步时,一个服务器内只有一个处理器在工作,其余处理器均处于空闲状态,使得处理器资源没有得到充分的利用,使得分布式异构网络的训练效率较低。因此,为解决分布式异构网络的训练效率较低的问题,本发明实施例提出了一种基于分布式网络的数据同步方法。
实施例一
图8为本发明实施例一提供的一种基于分布式网络的数据同步方法的流程图,本实施例可适用于分布式异构网络中的服务器集群进行数据同步的情况,服务器集群包含顺序编号的多个服务器,每个服务器包含在服务器内顺序编号的多个处理器,该方法可以由基于分布式网络的数据同步装置来执行,该基于分布式网络的数据同步装置可以采用硬件和/或软件的形式实现,该基于分布式网络的数据同步装置可配置于服务器中。如图8所示,该方法包括:
S110、按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储。
其中,本机处理器可以指当前进行数据同步的处理器。本机处理器编号可以指本机处理器的编号。通常,为便于对各处理器进行管理,服务器内部的各处理器都存在单独的编号,通常为顺序编号的数字编号。
其中,所属服务器可以指包含本机处理器的服务器。分块数据可以指进行运算逻辑处理后的部分数据结果。通常,分块数据的计算需要与本机处理器编号存在关联关系。示例性的,可以为同一服务器中所有数据位置与本机处理器编号一致的数据经逻辑运算后生成的数据分块。
在一个可选的实施方式中,在按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储之前,还可以包括:根据本机处理器编号确定所属服务器内各处理器间的第一预设通信链路;依据各第一预设通信链路的通信速度,获得通信速度最快的第一目标通信链路;相应的,按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储,包括:按照本机处理器编号通过第一目标通信链路与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储。
其中,第一预设通信链路可以指同一服务器内部各处理器间进行通信的链路。示例性的,可以为以太网,也可以为远程直接数据存(Remote Direct Memory Access,RDMA)等。通常,第一预设通信链路需要根据分布式异构网络的硬件设备确定。第一目标通信链路可以指通信速度最快的第一预设通信链路。
由此,通过筛选各第一预设通信链路的通信速度,获得通信速度最快的第一目标通信链路,进而,利用第一目标通信链路进行服务器内各处理器的数据同步,可以使得网络设备资源得到从分的利用,并且,可以提升服务器内处理器间的数据交互速度。
S120、根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置。
其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定。
其中,处理器阵列可以指根据服务器集群中服务器的数量建立的阵列。通常,需要根据处理器分组建立不同的处理器阵列。对应处理器阵列可以指与本机处理器编号所对应的处理器阵列。
图9所示为处理器分组的结构示意图;其中,分组的个数需要根据各服务器内处理器的个数确定,本发明实施例中以各服务器内处理器的个数为N个为例。每个分组中包含不同服务器内相同处理器编号的处理器。各分组均存在对应的一个处理器阵列。具体的,若服务器集群中服务器的个数为M,可以将M(M=X*Y)拆分为最接近的两个整数值X和Y,再按照X和Y进行行列划分,在获得处理器分组之后,可以将同一分组内的处理器按照服务器编号顺序加入至划分后的阵列中,进而获得处理器阵列。图10所示为处理器阵列的结构示意图;具体的,以服务器集群中服务器的个数为9为例,可以构建3*3的行列阵列,以第一分组为例,则处理器阵列中第一行第一列的元素即为服务器1的处理器1(即S1P1)存储的数据,第一行第二列的元素即为服务器2的处理器1(即S2P1)存储的数据,第一行第三列的元素即为服务器3的处理器1(即S3P1)存储的数据,以此类推,第三行第三列的元素即为服务器9的处理器1(即S9P1)存储的数据。
其中,行列位置可以指本机处理器在对应处理器阵列中的位置。示例性的,以本机处理器为服务器2的处理器1,则其在对应处理器阵列中的行列位置即为第一行第二列。
S130、根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步。
其中,同行处理器可以指在对应处理器阵列中与本机处理器处于同一行的处理器。示例性的,若本机处理器为服务器2的处理器1,则同行处理器可以为服务器1的处理器1和服务器3的处理器1。
其中,同列处理器可以指在对应处理器阵列中与本机处理器处于同一列的处理器。示例性的,若本机处理器为服务器2的处理器1,则同列处理器可以为服务器5的处理器1和服务器8的处理器1。
具体的,在服务器内部各处理器进行数据分块之后,还需要根据本机处理器的编号对服务器间的各处理器进行数据同步,由此,可以保证服务器间处理器编号相同的处理器数据同步。
在一个可选的实施方式中,在与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互之前,还包括:根据所属服务器编号获取服务器集群中所属服务器与其余服务器间的第二预设通信链路;依据各第二预设通信链路的通信速度,获得通信速度最快的第二目标通信链路;相应的,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,包括:通过第二目标通信链路与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互。
其中,第二预设通信链路可以指服务器间各处理器进行通信的链路。第二目标通信链路可以指通信速度最快的第二预设通信链路。在本发明实施例中,第二目标通信链路可以与第一目标通信链路一致,也可以与第一目标通信链路不一致,本发明实施例对此不进行限制。
由此,通过筛选各第二预设通信链路的通信速度,获得通信速度最快的第二目标通信链路,进而,利用第二目标通信链路进行服务器间各处理器的数据同步,可以使得网络设备资源得到从分的利用,并且,可以提升服务器内处理器间的数据交互速度。
S140、在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
具体的,在处理器分组中各个分组对应的处理器阵列内的处理器均完成了数据同步之后,由于各处理器内仅包含数据分块,因此还需要将各服务器内的处理器进行数据同步,由此,才能完成服务器集群内数据同步。
本发明实施例的技术方案,通过按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;之后,根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;并根据行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;进一步,在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步,解决了分布式异构网络的训练效率较低的问题,可以快速地实现分布式异构网络的数据交互和计算,提升了分布式异构网络的训练效率。
实施例二
图11为本发明实施例二提供的一种基于分布式网络的数据同步方法的流程图,本实施例以上述实施例为基础进行细化,在本实施例中具体是对按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储的操作进行细化,具体可以包括:按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第一本地存储数据;按照本机处理器编号获取所属服务器内其他处理器中与所述本机处理器编号具有关联关系的第一关联存储数据;按照预设逻辑计算所述第一本地存储数据及第一关联存储数据,并将逻辑计算结果进行本地存储。如图11所示,该方法包括:
S210、按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第一本地存储数据。
其中,第一本地存储数据可以指本机处理器所存储的与本机处理器编号具有关联关系的数据。示例性的,可以根据服务器内部处理器的个数确定第一本地存储数据与本机处理器编号间的关联关系。具体的,若服务器内处理器的数量为4,本机处理器编号为A,则数据存储位置与本机处理器编号若存在如下关系:B=4a+A;其中,B表示数据存储位置,a为自然数,则表明数据存储位置与本机处理器编号存在关联关系。例如,编号为1、5、9及13等数据存储位置与处理器1存在关联关系。
值得注意的是,服务器内各处理器间的数据存储量相同,即,若服务器内处理器的个数为N,则各处理器内数据存储的数量均为服务器内总数据量的1/N。并且,各处理器内的各存储数据均含有各自的数据存储位置,即字节编号。
S220、按照本机处理器编号获取所属服务器内其他处理器中与所述本机处理器编号具有关联关系的第一关联存储数据。
其中,第一关联存储数据可以指包含本机处理器的所属服务器中,除本机处理器外的其余处理器中存储的与本机处理器编号具有关联关系的数据。
具体的,在获取本地存储的数据之后,还需要获取包含本机处理器的所属服务器内其他处理器中的关联存储数据,进而,将服务器内的各个服务器加入数据同步的过程中,使得处理器资源得到合理的利用。
S230、按照预设逻辑计算所述第一本地存储数据及第一关联存储数据,并将逻辑计算结果进行本地存储。
其中,预设逻辑可以指预先设定的逻辑运算方法。示例性的,可以为加法运算、最大值运算或最小值运算等。预设逻辑需要根据分布式异构网络中算法模型的本身业务需求进行选定,本发明实施例对此不进行限制。
图12所示为服务器内获取分块数据的流程示意图;具体的,以服务器内处理器的数量为N,若本机处理器编号为处理器1,通过执行散射规约(Reduce Scatter),在本地存储中获取字节位置为(4a+1)的数据,并在所属服务器的其余处理器中获取字节位置为(4a+1)的数据,其中,a为自然数,之后,对获取的数据按各数据的字节位置进行预设逻辑计算。
图13所示为服务器内获取分块数据的结果示意图;具体的,以服务器内处理器的个数为3,预设逻辑为求和运算为例,处理器1中有三个数据(5,1,2),处理器2中有三个数据(2,3,3),处理器3中有三个数据(3,4,4)。处理器1执行Reduce Scatter后,得到的本地存储结果为10=5+2+3;处理器2执行Reduce Scatter后,得到的本地存储结果为8=1+3+4;处理器3执行Reduce Scatter后,得到的本地存储结果为9=2+3+4。由此,可以实现数据的分块存储。
S240、根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置。
其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定。
S250、按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与所述目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储。
其中,目标同行处理器可以指同行处理器中的处理器。
具体的,在根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置之后,可以按照本机处理器编号在对应处理器阵列中确定目标同行处理器,并与目标同行处理器进行数据交互,由此,可以使得处理器阵列中每一行的单个处理器持有数据为原来的1/Y,即总数据的1/(N*Y),其中,N表示服务器内处理器的数量,Y表示处理器阵列的列数。进而,可以提升数据同步的通信效率。
在一个可选的实施方式中,按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与所述目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储,包括:按照本机处理器编号确定对应处理器阵列中的目标同行处理器;按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第二本地存储数据;按照本机处理器编号获取目标同行处理器中与所述本机处理器编号具有关联关系的第二关联存储数据;按照预设逻辑计算所述第二本地存储数据及第二关联存储数据,并将逻辑计算结果进行本地存储。
其中,第二本地存储数据可以指本机处理器对第一本地存储数据及第一关联存储数据进行预设逻辑运算后存储至本地的数据。第二关联存储数据可以指目标同行处理器对第一本地存储数据及第一关联存储数据进行预设逻辑运算后存储至本地的数据。
图14是根据本发明实施例二提供的一种处理器阵列的数据存储结果图;具体的,以对处理器分组中的第一组进行处理器阵列的生成,处理器阵列中包含9个不同服务器内的处理器1为例,其中,服务器1处理器1中有三个数据(1,2,3),服务器2处理器1中有三个数据(4,5,6),服务器3处理器1中有三个数据(7,8,9),服务器4处理器1中有三个数据(10,11,12),服务器5处理器1中有三个数据(13,14,15),服务器6处理器1中有三个数据(16,17,18),服务器7处理器1中有三个数据(19,20,21),服务器8处理器1中有三个数据(22,23,24),服务器9处理器1中有三个数据(25,26,27)。各处理器按照服务器编号顺序排列,组成三行三列的处理器阵列。
图15所示为与目标同行处理器进行一次数据交互的流程示意图;具体的,以本机处理器编号为服务器1处理器1,预设逻辑为求和运算为例。首先,按照本机处理器编号服务器1处理器1在处理器阵列中确定目标同行处理器,即服务器2处理器1和服务器3处理器1,之后,通过Reduce Scatter操作,按照本机处理器编号获取本地存储中与本机处理器编号具有关联关系的第二本地存储数据,即1,以及,按照本机处理器编号获取目标同行处理器中与本机处理器编号具有关联关系的第二关联存储数据,即服务器2处理器1中的4和服务器3处理器1中的7,最后,将获取的存储数据进行求和计算得到逻辑计算结果12=1+4+7,并将逻辑计算结果进行本地存储。
由此,当所有的本机处理器均完成与目标同行处理器的数据交互时,处理器阵列中各处理器本地存储的数据即为:服务器1处理器1中含有一个数据12,服务器2处理器1中含有一个数据15,服务器3处理器1中含有一个数据18,服务器4处理器1中含有一个数据39,服务器5处理器1中含有一个数据42,服务器6处理器1中含有一个数据45,服务器7处理器1中含有一个数据66,服务器8处理器1中含有一个数据69,服务器9处理器1中含有一个数据72。
值得注意的是,处理器阵列中各本机处理器与目标同行处理器进行一次数据交互时,可以是并行实现的,由此,可以提升分布式异构网络的训练效率。
S260、按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互。
其中,目标同列处理器可以指同列处理器中的处理器。
在一个可选的实施方式中,按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互,包括:按照本机处理器编号确定对应处理器阵列中的目标同列处理器;按照本机处理器编号获取目标同列处理器中的全部第三关联存储数据;按照预设逻辑及各存储数据的存储位置,计算全部第三关联存储数据及本地存储中的全部第三本地存储数据,并将逻辑计算结果进行本地存储。
其中,第三本地存储数据可以指本机处理器对第二本地存储数据及第二关联存储数据进行预设逻辑运算后存储至本地的数据。第三关联存储数据可以指目标同行处理器对第二本地存储数据及第二关联存储数据进行预设逻辑运算后存储至本地的数据。
图16所示为与目标同列处理器进行数据交互的流程示意图;具体的,以本机处理器编号为服务器1处理器1,预设逻辑为求和运算为例。首先,按照本机处理器编号服务器1处理器1在处理器阵列中确定目标同列处理器,即服务器4处理器1和服务器7处理器1,之后,通过All Reduce操作,按照本机处理器编号获取目标同列处理器中的全部第三关联存储数据,即服务器4处理器1中的39和服务器7处理器1中的66,以及本地存储中的全部第三本地存储数据12,最后,按照各存储数据的存储位置,求和计算全部第三关联存储数据及本地存储中的全部第三本地存储数据,得到逻辑计算结果117=12+39+66,并将逻辑计算结果进行本地存储。
值得注意的是,在执行All Reduce操作后,处理器阵列的一个本机处理器完成与目标同列处理器的数据交互之后,可以将逻辑运算结果等量分发给目标同列处理器,由此,可以减少计算量,提升分布式异构网络的训练效率。
由此,当处理器阵列的各列中任一个本机处理器完成与目标同列处理的数据交互后,处理器阵列中各处理器本地存储的数据即为:服务器1处理器1中含有一个数据117,服务器2处理器1中含有一个数据126,服务器3处理器1中含有一个数据135,服务器4处理器1中含有一个数据117,服务器5处理器1中含有一个数据126,服务器6处理器1中含有一个数据135,服务器7处理器1中含有一个数据117,服务器8处理器1中含有一个数据126,服务器9处理器1中含有一个数据135。由此,可以实现处理器阵列中同一列的处理器中存储数据同步。此时,处理器阵列中每一列的单个处理器持有的数据仍为原来的1/Y,即总数据的1/(N*Y)。
S270、按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互。
在一个可选的实施方式中,按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互,包括:获取目标同行处理器内的全部第四关联存储数据;按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第四本地存储数据与全部第四关联存储数据合并处理,并将合并处理结果本地存储。
其中,第四本地存储数据可以指本机处理器对第三本地存储数据及第三关联存储数据进行预设逻辑运算后存储至本地的数据。第四关联存储数据可以指第四本地存储数据等量分发至目标同列处理器后存储的数据。通常,同一处理器阵列中同一列的第四关联存储数据与第四本地存储数据一致。
其中,合并处理可以指进行全局收集(All Gather)操作,即把指定处理器上的数据合并在一起,使得各处理器都持有合并后的数据的操作。
图17所示为与目标同行处理器进行二次数据同步的结果示意图;具体的,以本机处理器编号为服务器1处理器1为例,则目标同行处理器为服务器2处理器1和服务器3处理器1,首先,通过All Gather操作,获取目标同行处理器内的全部第四关联存储数据,即服务器2处理器1中的126,服务器3处理器1中的135,以及本地存储的全部第四本地存储数据,即服务器1处理器1中的117,之后,各存储数据的存储位置将各存储数据进行合并,得到合并结果(117,126,135),并将合并结果进行本地存储。此时,处理器阵列中单个处理器持有的数据量为总数据量的1/N。
由此,当所有的本机处理器均完成与目标同行处理器完成二次数据同步时,处理器阵列中各处理器的额存储数据完成同步,均包含三个数据(117,126,135)。
值得注意的是,同一处理器阵列中同一行的处理器可以同时并行实现All Gather操作,由此,可以提升分布式异构网络的训练效率。
S280、在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,按照本机处理器编号获取所属服务器内其他处理器的全部第五关联存储数据。
其中,第五关联存储数据可以指完成处理器阵列中各处理器的数据同步后,包含本机处理器的所属服务器中其他处理内存储的数据。
S290、按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第五本地存储数据与全部第五关联存储数据合并处理,并将合并处理结果本地存储,以完成服务器集群内数据同步。
其中,第五本地存储数据可以指本机处理器完成处理器阵列中各处理器的数据同步后所存储的数据。
具体的,在各处理器均在对应的处理器阵列中完成数据同步之后,由于首次在服务器内部执行的Reduce Scatter操作使得同一服务器内部的各处理均包含服务器内的部分分块数据,因此,为保证处理器集群中所有处理器的数据一致,需要再次在处理器内部进行数据同步,即再次执行All Gather操作,使得同一服务器内的各处理器均包含一致的存储数据。此时,服务器内各处理器均持有服务器内的全量数据。
本发明实施例的技术方案,通过按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第一本地存储数据,并按照本机处理器编号获取所属服务器内其他处理器中与本机处理器编号具有关联关系的第一关联存储数据,进而,按照预设逻辑计算第一本地存储数据及第一关联存储数据,并将逻辑计算结果进行本地存储,进一步的,根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置,按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储,按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互,按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互,最后,在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,按照本机处理器编号获取所属服务器内其他处理器的全部第五关联存储数据,按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第五本地存储数据与全部第五关联存储数据合并处理,并将合并处理结果本地存储,以完成服务器集群内数据同步。通过更改服务器集群中处理器逻辑连接的拓扑结构,减少了计算和交互的次数,并使所有的服务器参与工作,处理器最大限度上减少了空闲等待时间,使传输效率最大化,解决了分布式异构网络的训练效率较低的问题,可以快速地实现分布式异构网络的数据交互和计算,提升了分布式异构网络的训练效率。
图18是根据本发明实施例二提供的一种可选的基于分布式网络的数据同步方法的流程图;具体的,首先,选择通信链路,使得服务器内的处理器间使用通信速度最快的第一目标通信链路,服务器间的处理器使用通信速度最快的第二目标通信链路;进而,按照本机处理器编号与所属服务器内其他处理器进行Reduce Scatter操作;之后,根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置,按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与目标同行处理器进行Reduce Scatter操作;按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行AllReduce操作;按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行AllGather操作;最后,按照本机处理器编号及各存储数据的存储位置,与所属服务器内的其余处理器进行All Gather操作。
实施例三
图19为本发明实施例三提供的一种基于分布式网络的数据同步装置的结构示意图。如图19所示,该装置包括:第一数据交互模块310、行列位置确定模块320、第二数据交互模块330及第三数据交互模块340;
其中,第一数据交互模块310,用于按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
行列位置确定模块320,用于根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;
第二数据交互模块330,用于根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
第三数据交互模块340,用于在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
本发明实施例的技术方案,通过按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;之后,根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;并根据行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;进一步,在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步,解决了分布式异构网络的训练效率较低的问题,可以快速地实现分布式异构网络的数据交互和计算,提升了分布式异构网络的训练效率。
可选的,第一数据交互模块310,具体可以用于:
按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第一本地存储数据;
按照本机处理器编号获取所属服务器内其他处理器中与所述本机处理器编号具有关联关系的第一关联存储数据;
按照预设逻辑计算所述第一本地存储数据及第一关联存储数据,并将逻辑计算结果进行本地存储。
可选的,第二数据交互模块330,具体可以包括:第一同行处理器交互单元、同列处理器交互单元及第二同行处理器交互单元;
其中,第一同行处理器交互单元,用于按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与所述目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储;
同列处理器交互单元,用于按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互;
第二同行处理器交互单元,用于按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互。
可选的,第一同行处理器交互单元,具体可以用于:
按照本机处理器编号确定对应处理器阵列中的目标同行处理器;
按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第二本地存储数据;
按照本机处理器编号获取目标同行处理器中与所述本机处理器编号具有关联关系的第二关联存储数据;
按照预设逻辑计算所述第二本地存储数据及第二关联存储数据,并将逻辑计算结果进行本地存储。
可选的,同列处理器交互单元,具体可以用于:
按照本机处理器编号确定对应处理器阵列中的目标同列处理器;
按照本机处理器编号获取目标同列处理器中的全部第三关联存储数据;
按照预设逻辑及各存储数据的存储位置,计算全部第三关联存储数据及本地存储中的全部第三本地存储数据,并将逻辑计算结果进行本地存储。
可选的,第二同行处理器交互单元,具体可以用于:
获取目标同行处理器内的全部第四关联存储数据;
按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第四本地存储数据与全部第四关联存储数据合并处理,并将合并处理结果本地存储。
可选的,第三数据交互模块340,具体可以用于:
按照本机处理器编号获取所属服务器内其他处理器的全部第五关联存储数据;
按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第五本地存储数据与全部第五关联存储数据合并处理,并将合并处理结果本地存储。
可选的,基于分布式网络的数据同步装置还可以包括:第一目标通信链路确定模块,用于在按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储之前,根据本机处理器编号确定所属服务器内各处理器间的第一预设通信链路;依据各第一预设通信链路的通信速度,获得通信速度最快的第一目标通信链路;
相应的,第一数据交互模块310,具体可以用于:
按照本机处理器编号通过第一目标通信链路与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储。
可选的,基于分布式网络的数据同步装置还可以包括:第二目标通信链路确定模块,用于在与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互之前,根据所属服务器编号获取服务器集群中所属服务器与其余服务器间的第二预设通信链路;依据各第二预设通信链路的通信速度,获得通信速度最快的第二目标通信链路;
相应的,第二数据交互模块330,具体可以用于:通过第二目标通信链路与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互。
本发明实施例所提供的基于分布式网络的数据同步装置可执行本发明任意实施例所提供的基于分布式网络的数据同步方法,具备执行方法相应的功能模块和有益效果。
实施例四
图20为本发明实施例四提供的一种服务器的结构示意图,如图20所示,该服务器包括处理器410、存储器420、输入装置430和输出装置440;服务器中处理器410的数量可以是一个或多个,图20中以一个处理器410为例;服务器中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图20中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于分布式网络的数据同步方法对应的程序指令/模块(例如,基于分布式网络的数据同步装置中的第一数据交互模块310、行列位置确定模块320、第二数据交互模块330及第三数据交互模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的基于分布式网络的数据同步方法。
该方法包括:
按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;
根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于分布式网络的数据同步方法,该方法包括:
按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;
根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于分布式网络的数据同步方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述基于分布式网络的数据同步装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种基于分布式网络的数据同步方法,其特征在于,应用于分布式异构网络中的服务器集群,服务器集群包含顺序编号的多个服务器,每个服务器包含在服务器内顺序编号的多个处理器,该方法包括:
按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;处理器阵列中包含不同服务器内相同处理器编号的处理器;
根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步;其中,所属服务器内其他处理器指包含本机处理器的服务器中,除本机处理器外的剩余处理器。
2.根据权利要求1所述的方法,其特征在于,所述按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储,包括:
按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第一本地存储数据;
按照本机处理器编号获取所属服务器内其他处理器中与所述本机处理器编号具有关联关系的第一关联存储数据;
按照预设逻辑计算所述第一本地存储数据及第一关联存储数据,并将逻辑计算结果进行本地存储。
3.根据权利要求1所述的方法,其特征在于,所述根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步,包括:
按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与所述目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储;
按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互;
按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互。
4.根据权利要求3所述的方法,其特征在于,所述按照本机处理器编号确定对应处理器阵列中的目标同行处理器,并与所述目标同行处理器进行数据交互,从目标同行处理器中获取分块数据进行本地存储,包括:
按照本机处理器编号确定对应处理器阵列中的目标同行处理器;
按照本机处理器编号获取本地存储中与所述本机处理器编号具有关联关系的第二本地存储数据;
按照本机处理器编号获取目标同行处理器中与所述本机处理器编号具有关联关系的第二关联存储数据;
按照预设逻辑计算所述第二本地存储数据及第二关联存储数据,并将逻辑计算结果进行本地存储。
5.根据权利要求3所述的方法,其特征在于,所述按照本机处理器编号确定对应处理器阵列中的目标同列处理器,并与目标同列处理器进行等量数据交互,包括:
按照本机处理器编号确定对应处理器阵列中的目标同列处理器;
按照本机处理器编号获取目标同列处理器中的全部第三关联存储数据;
按照预设逻辑及各存储数据的存储位置,计算全部第三关联存储数据及本地存储中的全部第三本地存储数据,并将逻辑计算结果进行本地存储。
6.根据权利要求3所述的方法,其特征在于,所述按照本机处理器编号及各存储数据的存储位置,与目标同行处理器进行数据交互,包括:
获取目标同行处理器内的全部第四关联存储数据;
按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第四本地存储数据与全部第四关联存储数据合并处理,并将合并处理结果本地存储。
7.根据权利要求1所述的方法,其特征在于,所述与所属服务器内其他处理器进行数据交互,包括:
按照本机处理器编号获取所属服务器内其他处理器的全部第五关联存储数据;
按照本机处理器编号及各存储数据的存储位置,将本地存储的全部第五本地存储数据与全部第五关联存储数据合并处理,并将合并处理结果本地存储。
8.根据权利要求1所述的方法,其特征在于,在按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储之前,还包括:
根据本机处理器编号确定所属服务器内各处理器间的第一预设通信链路;
依据各第一预设通信链路的通信速度,获得通信速度最快的第一目标通信链路;
按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储,包括:
按照本机处理器编号通过第一目标通信链路与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储。
9.根据权利要求1所述的方法,其特征在于,在与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互之前,还包括:
根据所属服务器编号获取服务器集群中所属服务器与其余服务器间的第二预设通信链路;
依据各第二预设通信链路的通信速度,获得通信速度最快的第二目标通信链路;
与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,包括:
通过第二目标通信链路与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互。
10.一种基于分布式网络的数据同步装置,其特征在于,包括:
第一数据交互模块,用于按照本机处理器编号与所属服务器内其他处理器进行数据交互,从所属服务器的全部数据中获取分块数据进行本地存储;
行列位置确定模块,用于根据本机处理器编号确定本机处理器在对应处理器阵列中的行列位置;其中,处理器阵列根据各处理器的处理器编号和所属服务器的服务器编号共同确定;处理器阵列中包含不同服务器内相同处理器编号的处理器;
第二数据交互模块,用于根据所述行列位置,与对应处理器阵列中的各同行处理器和各同列处理器分别进行数据交互,以完成与各同行处理器和各同列处理器间的数据同步;
第三数据交互模块,用于在确定所属服务器内其他处理器均完成所在行列位置的数据同步后,与所属服务器内其他处理器进行数据交互,以完成服务器集群内数据同步;其中,所属服务器内其他处理器指包含本机处理器的服务器中,除本机处理器外的剩余处理器。
11.一种服务器,其特征在于,所述服务器包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的基于分布式网络的数据同步方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-9中任一项所述的基于分布式网络的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030362.4A CN115827261B (zh) | 2023-01-10 | 2023-01-10 | 基于分布式网络的数据同步方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310030362.4A CN115827261B (zh) | 2023-01-10 | 2023-01-10 | 基于分布式网络的数据同步方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115827261A CN115827261A (zh) | 2023-03-21 |
CN115827261B true CN115827261B (zh) | 2023-05-19 |
Family
ID=85520497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310030362.4A Active CN115827261B (zh) | 2023-01-10 | 2023-01-10 | 基于分布式网络的数据同步方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827261B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859273A (zh) * | 2017-12-29 | 2020-10-30 | 华为技术有限公司 | 矩阵乘法器 |
US11507558B2 (en) * | 2018-11-20 | 2022-11-22 | Elastic Flash Inc. | Distributed data storage and analytics system |
CN110471748A (zh) * | 2019-07-04 | 2019-11-19 | 口碑(上海)信息技术有限公司 | 服务器集群的任务处理方法、装置及设备 |
CN111325356A (zh) * | 2019-12-10 | 2020-06-23 | 四川大学 | 一种基于演化计算的神经网络搜索分布式训练系统及训练方法 |
CN111427841A (zh) * | 2020-02-26 | 2020-07-17 | 平安科技(深圳)有限公司 | 数据管理方法、装置、计算机设备和存储介质 |
CN112561079A (zh) * | 2020-12-18 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式的模型训练装置、方法及计算机程序产品 |
CN114841345B (zh) * | 2022-03-28 | 2023-06-16 | 武汉理工大学 | 一种基于深度学习算法的分布式计算平台及其应用 |
CN114785662B (zh) * | 2022-03-30 | 2023-06-13 | 新华三信息技术有限公司 | 一种存储管理方法、装置、设备及机器可读存储介质 |
CN114817845B (zh) * | 2022-05-20 | 2023-05-30 | 昆仑芯(北京)科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115525666A (zh) * | 2022-09-30 | 2022-12-27 | 上海浦东发展银行股份有限公司 | 一种实时数据更新方法、装置、电子设备及存储介质 |
-
2023
- 2023-01-10 CN CN202310030362.4A patent/CN115827261B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115827261A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Delay-aware virtual network function placement and routing in edge clouds | |
US11200092B2 (en) | Convolutional computing accelerator, convolutional computing method, and computer-readable storage medium | |
Smith et al. | Mitigating inter-job interference using adaptive flow-aware routing | |
CN110908788A (zh) | 基于Spark Streaming的数据处理方法、装置、计算机设备及存储介质 | |
CN110908799A (zh) | 一种分布式训练中的通信方法、装置、设备、介质 | |
CN114281521B (zh) | 优化深度学习异构资源通信效率方法、系统、设备及介质 | |
Forestier et al. | Blockclique: scaling blockchains through transaction sharding in a multithreaded block graph | |
Bhowmik et al. | Distributed control plane for software-defined networks: A case study using event-based middleware | |
CN104536808B (zh) | 一种云端应用程序的参数配置方法及系统 | |
CN115827261B (zh) | 基于分布式网络的数据同步方法、装置、服务器及介质 | |
Chen et al. | Optimizing network transfers for data analytic jobs across geo-distributed datacenters | |
US20220383304A1 (en) | Distributed network with consensus mechanism | |
CN109344303B (zh) | 一种数据结构切换方法、装置、设备和存储介质 | |
CN103297861A (zh) | 一种基于PeerSim的P2P视频点播仿真系统 | |
CN109309858B (zh) | 一种互斥图标的显示方法、装置、设备及介质 | |
CN111338787A (zh) | 一种数据处理方法及装置、存储介质、电子装置 | |
CN111737347B (zh) | 在Spark平台顺序切分数据的方法及装置 | |
CN110289985B (zh) | 全球网络的实现方法、装置、计算机设备及存储介质 | |
Li et al. | Determining optimal update period for minimizing inconsistency in multi-server distributed virtual environments | |
US20220377133A1 (en) | Read access for computational results of a distributed network | |
CN116805155B (zh) | 一种lstm网络处理方法、装置、设备及可读存储介质 | |
CN110569136A (zh) | 流式计算的数据处理方法、装置、电子设备及存储介质 | |
CN111143456B (zh) | 基于Spark的Cassandra数据导入方法、装置、设备及介质 | |
CN114826626B (zh) | 共识节点的选举方法、装置、存储介质及节点设备 | |
Park et al. | An efficient collective communication method for grid scale networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |