CN115776523B - 分布式集合通信方法、装置、设备及存储介质 - Google Patents

分布式集合通信方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115776523B
CN115776523B CN202310102436.0A CN202310102436A CN115776523B CN 115776523 B CN115776523 B CN 115776523B CN 202310102436 A CN202310102436 A CN 202310102436A CN 115776523 B CN115776523 B CN 115776523B
Authority
CN
China
Prior art keywords
data
reduction
interest packet
computing
computing node
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
Application number
CN202310102436.0A
Other languages
English (en)
Other versions
CN115776523A (zh
Inventor
梁腾
陈子轩
史磊
徐扬
张宇
张伟哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Peng Cheng Laboratory
Original Assignee
Fudan University
Peng Cheng Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University, Peng Cheng Laboratory filed Critical Fudan University
Priority to CN202310102436.0A priority Critical patent/CN115776523B/zh
Publication of CN115776523A publication Critical patent/CN115776523A/zh
Application granted granted Critical
Publication of CN115776523B publication Critical patent/CN115776523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种分布式集合通信方法、装置、设备及存储介质,属于通信技术领域,该方法包括:向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各其它计算节点基于对应的第一兴趣包反馈的关联数据块,第一兴趣包中归约状态为未归约;对关联数据块和当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;向各其它计算节点发送对应的第二兴趣包,接收各其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,第二兴趣包中归约状态为已归约,以使当前计算节点得到全局归约结果,全局归约结果包括第一局部归约数据和第二局部归约数据。本发明实现了使NDN架构与全局归约算法兼容的技术效果。

Description

分布式集合通信方法、装置、设备及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式集合通信方法、装置、设备及存储介质。
背景技术
目前,TCP/IP(Transmission ControlProtocol/Internet Protocol,传输控制协议/网际协议)网络已经暴露出来不安全、可靠性差、移动性差以及灵活性差等问题,如今的TCP/IP网络架构已经越来越难以满足人们的需求。而NDN(Named Data Networking,命名数据网络)体系架构相比于传统的TCP/IP网络体系架构,具备许多优势,例如网内缓存,自适应转发,数据内生安全等。
深度学习算法研究越来越受到关注,为了更好的算法表现,深度学习模型的规模不断扩大,计算量也越来越大。日益增加的算力需求使得模型的训练向分布式训练的方向发展。全局归约(Allreduce)是高性能计算(HPC,High Performance Computing)和深度学习中常用的一种集合通信操作,采用基于IP的应用设计。因此,高性能集合通信Allreduce算法,无法直接在NDN上进行运行,即存在全局归约算法与NDN架构不兼容的问题。
发明内容
本发明的主要目的在于提供一种分布式集合通信方法、装置、设备及存储介质,旨在解决目前的全局归约算法与NDN架构不兼容的问题。
为实现上述目的,本发明提供一种分布式集合通信方法,该方法包括:
向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
可选地,在所述向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤之前,还包括:
获取所述当前计算节点的计算数据集;
将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块,其中,所述协同计算节点包括所述当前计算节点和所述其它计算节点。
可选地,在所述将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块的步骤之后,还包括:
获取预设的数据命名规则,其中,所述数据命名规则中包括task字段、rank字段、round字段、
Figure SMS_1
字段和state字段;
根据所述数据命名规则对各所述原始数据块命名。
可选地,所述向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤包括:
获取所述当前计算节点的第一计算任务标识,将所述
Figure SMS_2
字段赋值为所述第一计算任务标识,将所述rank字段赋值为各所述其它计算节点的节点编号,将所述state字段赋值为未归约,以确定所述关联数据块的第一数据名称;
根据所述第一数据名称生成所述第一兴趣包,将所述第一兴趣包发送至命名数据网络中;
接收各所述其它计算节点返回的第一数据包,其中,所述第一数据包中包括所述关联数据块。
可选地,所述对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据的步骤包括:
确定所述当前计算节点的归约计算任务,根据所述归约计算任务筛选出所述原始数据块中的待归约数据块;
对所述关联数据块和所述待归约数据块进行归约计算,得到所述第一局部归约数据。
可选地,所述向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约的步骤包括:
将所述rank字段赋值为各所述其它计算节点的节点编号,将所述
Figure SMS_3
字段赋值为各所述其它计算节点的第二计算任务标识,将所述state字段赋值为已归约,以确定所述第二局部归约数据的第二数据名称;
根据所述第二数据名称生成所述第二兴趣包,将所述第二兴趣包发送至各所述其它计算节点;
接收各所述其它计算节点返回的第二数据包,其中,所述第二数据包中包括所述第二局部归约数据。
可选地,所述分布式集合通信方法还包括:
若接收到数据请求者发送的第三兴趣包,则获取所述第三兴趣包中的归约状态;
根据所述归约状态选择所述原始数据块或所述第一局部归约数据生成第三数据包,将所述第三数据包按照所述第三兴趣包中的路由信息返回至所述数据请求者。
此外,为实现上述目的,本发明还提供一种分布式集合通信装置,所述分布式集合通信装置包括:
请求模块,用于向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
归约模块,用于对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
收集模块,用于向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
此外,为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式集合通信程序,所述分布式集合通信程序配置为实现如上文所述的分布式集合通信方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式集合通信程序,所述分布式集合通信程序被处理器执行时实现如上文所述的分布式集合通信方法的步骤。
本发明分布式集合通信方法,向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。通信集群中的每个计算节点都可以作为当前计算节点,执行各自的计算任务,通过第一兴趣包请求其它计算节点中与当前计算节点的计算任务相关的关联数据块,在当前计算节点归约处理得到第一局部归约数据之后,可视为当前计算节点的散射归约任务已经完成,通过第二兴趣包请求其它计算节点归约计算后的第二局部归约数据,当前计算节点就可以完成全局收集任务,拥有全局归约结果,如此,每个计算节点最终都可以拥有全局归约结果,也即在NDN网络中,每个计算节点通过“拉”的通信模式请求其它计算节点的数据,改变了TCP/IP网络体系架构中以主机地址为中心的“推”的通信模式,实现了全局归约算法和NDN架构的兼容。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明分布式集合通信方法第一实施例的流程示意图;
图3为本发明分布式集合通信方法涉及的一种计算数据集划分示意图;
图4为本发明分布式集合通信方法涉及的一种数据命名规则的示意图;
图5为本发明分布式集合通信方法第二实施例的流程示意图;
图6为本发明分布式集合通信装置的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式集合通信程序。
在图1所示的电子设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的分布式集合通信程序,并执行本发明实施例提供的分布式集合通信方法。
本发明实施例提供了一种分布式集合通信方法,参照图2,图2为本发明一种分布式集合通信方法第一实施例的流程示意图。
本实施例中,所述分布式集合通信方法包括:
步骤S10,向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
本实施例的执行主体可以为服务器、计算机等具有数据处理功能的终端设备,以下以服务器为例进行具体实施方式的阐述。本实施例提供的分布式集合通信方法在NDN架构中运行。通信集群是指由多个互相通信的服务器组成的集群,通信集群中的服务器可视为计算节点。其它计算节点是所有计算节点中除当前计算节点以外的计算节点。兴趣包(Interest)是NDN架构中的一种消息类型,消费者(Consumer)通过发送兴趣包告诉网络自己的数据需求。NDN架构以数据内容为中心,不同的计算节点存储的计算数据一般不同,当前计算节点请求其它计算节点的数据发送的兴趣包也就不同。在通信集群中,每个计算节点可以负责不同的计算任务,当前计算节点完成计算任务所需的数据可能存储在其他计算节点中,通过第一兴趣包,就可以请求其它计算节点中与当前计算节点的计算任务相关的关联数据块。
全局归约是集合通信中的一种多对多操作,具有多个数据发送者和多个数据接收者。在全局归约的过程中,多台服务器进行协同计算,每台服务器负责完成各自计算任务后,各计算结果进行统一的合并操作,再分发给各台服务器进行新一轮计算。全局归约可以通过不同算法进行实现,可分为集中式和分布式。其中分布式算法可以提供更高效的计算,比如环形全局归约算法(Ring Allreduce)和蝴蝶型全局归约算法(ButterflyAllreduce)。从基础实现逻辑来说,Allreduce操作可以在主节点上执行Reduce(归约)加Broadcast(广播)或ReduceScatter(归约散射)加AllGather(全局收集)实现,本实施例采用ReduceScatter加AllGather方式。
在一可行实施方式中,在向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤之前,还可以包括:
步骤a,获取所述当前计算节点的计算数据集;
计算数据集是指当前计算节点存储的计算任务相关数据的集合。计算任务可以为深度学习或者高性能计算中的计算任务,在深度学习中,计算任务通常与模型训练相关。
步骤b,将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块,其中,所述协同计算节点包括所述当前计算节点和所述其它计算节点。
图3为计算数据集划分的示意图,在图3中,划分之后的计算数据集可以表示为:
Figure SMS_4
其中,n表示服务器数量,计算数据集被划分为与服务器数量对应的n个原始数据块,
Figure SMS_5
Figure SMS_6
Figure SMS_7
均表示编号为
Figure SMS_8
的服务器中存储的原始数据块。
当前计算节点和其它计算节点组成协同计算节点,协同完成全局归约的计算任务。一般的,原始数据块的归约状态为未归约。
在一可行实施方式中,在将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块的步骤之后,还可以包括:
步骤b1,获取预设的数据命名规则,其中,所述数据命名规则中包括task字段、rank字段、round字段、
Figure SMS_9
字段和state字段;
每个计算节点中存储的计算数据都可以参与到计算任务中,也就存在被其它计算节点请求的可能,对计算数据进行命名,就可以便于通信集群中的其它计算节点在NDN架构下请求需要的计算数据完成相应的计算任务。预设的数据命名规则可以适用于本实施例中所有计算数据的名字空间设计,在此对原始数据块的命名进行阐述,其它计算数据的命名可以参照此规则。
一种可行的数据命名规则如图4所示,在图4中,task字段表示通信集群中不同的训练任务,rank字段表示集群中计算节点的编号,task字段和rank字段组成计算节点的可路由前缀,round字段表示该任务进行到的轮次,为计算轮次标识,
Figure SMS_10
字段表示该计算节点负责归约的数据块,为计算任务标识,state字段表示该
Figure SMS_11
的归约状态,归约状态包括未归约和已归约,在归约状态为未归约的情况下,state字段中为局部本地值,在归约状态为已归约的情况下,state字段中为任务归约值,可以用于区分散射归约阶段和全局收集阶段。例如,
Figure SMS_12
可以表示第19个训练任务中,第2号服务器第3轮次迭代的第4块数据未归约的局部本地值。
步骤b2,根据所述数据命名规则对各所述原始数据块命名。
原始数据块的归约状态为未被归约,在state字段就可以用local表示其为局部本地值,那么标识为
Figure SMS_13
服务器中的原始数据块可以采用如下命名方式。
原始数据块的名称:
Figure SMS_14
其中,
Figure SMS_15
。每个计算节点负责的归约操作可以用
Figure SMS_16
表示,第一个x表示计算节点的节点编号,第二个x表示计算节点中数据块的编号。
在一可行实施方式中,向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤可以包括:
步骤c,获取所述当前计算节点的第一计算任务标识,将所述
Figure SMS_17
字段赋值为所述第一计算任务标识,将所述rank字段赋值为各所述其它计算节点的节点编号,将所述state字段赋值为未归约,以确定所述关联数据块的第一数据名称;
关联数据块是指其它计算节点中与当前计算节点的计算任务相关的数据块。对于
Figure SMS_18
服务器来说,其负责的第一计算任务可以表示为
Figure SMS_19
,y表示其它服务器的节点编号,x表示其它服务器中的数据块编号,那么关联数据块的
Figure SMS_20
字段就可以表示为
Figure SMS_21
。在散射归约阶段,当前计算节点需要的数据为其它计算节点中未被归约的数据块,因此state字段可以为局部本地值。而关于task字段和round字段,当前计算节点可以根据自身计算任务的进行阶段进行相应的赋值,使请求得到的关联数据块与当前计算节点处于相同的训练任务和计算轮次中,维持深度学习训练任务的有序进行。其它计算节点中的各个数据块也可以按照上述数据命名规则命名。
由此,一种可行的第一数据名称为:
Figure SMS_22
其中,y表示其它计算节点的编号,x表示当前计算节点的编号,
Figure SMS_23
Figure SMS_24
步骤d,根据所述第一数据名称生成所述第一兴趣包,将所述第一兴趣包发送至命名数据网络中;
除第一数据名称之外,第一兴趣包中还可以包括选项(Selectors)和随机数。当前计算节点将第一数据名称和其它内容封装在第一兴趣包中,发送至NDN网络中,第一兴趣包在NDN网络中传输,NDN网络中的路由可以根据第一数据名称将第一兴趣包转发至对应的其它计算节点。可以理解的是,在协同计算节点数为n的情况下,发送的第一兴趣包的数量为n-1。
步骤e,接收各所述其它计算节点返回的第一数据包,其中,所述第一数据包中包括所述关联数据块。
在第一兴趣包到达对应的其它计算节点之后,其它计算节点可以将当前计算节点请求的关联数据块封装为第一数据包,第一数据包按照第一兴趣包中的可路由前缀返回至当前计算节点。第一数据包中还可以包括签名和签名信息。
步骤S20,对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
归约处理是指将多个计算节点的数据归约运算至一个主节点的操作,常用的规约操作有:求累加和SUM、求累乘积PROD、求最大值MAX、求最小值MIN、逻辑与 LAND、按位与BAND、逻辑或LOR、按位或BOR、逻辑异或LXOR、按位异或BOXR、求最大值和最小大的位置MAXLOC、求最小值和最小值的位置MINLOC等。每个计算节点在获得计算任务所需的计算数据之后,对计算数据归约得到第一局部归约数据,也即每个计算节点拥有部分归约结果,完成归约散射的操作。
在一可行实施方式中,对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据的步骤可以包括:
步骤f,确定所述当前计算节点的归约计算任务,根据所述归约计算任务筛选出所述原始数据块中的待归约数据块;
待归约数据块是指当前计算节点的归约计算任务需要使用的数据块。每个计算节点负责的计算任务不同,对于当前计算节点来说,可以使用
Figure SMS_25
表示当前计算节点中的待归约数据块。
步骤g,对所述关联数据块和所述待归约数据块进行归约计算,得到所述第一局部归约数据。
在散射归约阶段,当前计算节点对关联数据块和待归约数据块归约处理,就可以得到当前计算节点的局部归约结果,即第一局部归约数据。
步骤S30,向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
在得到第一局部归约数据之后,可视为已完成归约散射的步骤,需要将其它计算节点的局部归约结果收集至当前计算节点中,得到全局归约结果。当前计算节点可以通过第二兴趣包请求其它计算节点的局部归约结果,其自身归约后得到的第一局部归约数据各个和其它计算节点的第二局部归约数据组成全局归约结果。
在一可行实施方式中,向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约的步骤包括:
步骤h,将所述rank字段赋值为各所述其它计算节点的节点编号,将所述
Figure SMS_26
字段赋值为各所述其它计算节点的第二计算任务标识,将所述state字段赋值为已归约,以确定所述第二局部归约数据的第二数据名称;
第二局部归约数据是指其它计算节点散射归约后得到的计算数据。当前计算节点可以收集各个其它计算节点的第二局部归约数据,rank字段就可以赋值为各个其它计算节点的节点编号。第二局部归约数据由其它计算节点执行计算任务得到,故
Figure SMS_27
字段可以赋值为
Figure SMS_28
。在全局收集阶段,当前计算节点收集的是已归约的第二局部归约数据,故state字段可以赋值为局部归约值。
由此,根据上述数据命名规则,一种可行的第二数据名称可以表示为:
Figure SMS_29
其中,y表示其它计算节点的编号,
Figure SMS_30
Figure SMS_31
步骤i,根据所述第二数据名称生成所述第二兴趣包,将所述第二兴趣包发送至命名数据网络中;
除第二数据名称之外,第二兴趣包中还可以包括选项和随机数。当前计算节点将第二数据名称和其它内容封装在第二兴趣包中,发送至NDN网络中,第二兴趣包在NDN网络中传输,NDN网络中的路由可以根据第二数据名称将第二兴趣包转发至对应的其它计算节点。可以理解的是,在协同计算节点数为n的情况下,发送的第二兴趣包的数量为n-1。
步骤j,接收各所述其它计算节点返回的第二数据包,其中,所述第二数据包中包括所述第二局部归约数据。
在第二兴趣包到达对应的其它计算节点之后,其它计算节点可以将当前计算节点请求的第二局部归约数据封装为第二数据包,第二数据包按照第二兴趣包中的可路由前缀返回至当前计算节点。第二数据包中还可以包括签名和签名信息。
在本实施例中,向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。通信集群中的每个计算节点都可以作为当前计算节点,执行各自的计算任务,通过第一兴趣包请求其它计算节点中与当前计算节点的计算任务相关的关联数据块,在当前计算节点归约处理得到第一局部归约数据之后,可视为当前计算节点的散射归约任务已经完成,通过第二兴趣包请求其它计算节点归约计算后的第二局部归约数据,当前计算节点就可以完成全局收集任务,拥有全局归约结果,如此,每个计算节点最终都可以拥有全局归约结果,也即在NDN网络中,每个计算节点通过“拉”的通信模式请求其它计算节点的数据,改变了TCP/IP网络体系架构中以主机地址为中心的“推”的通信模式,实现了全局归约算法和NDN架构的兼容。
进一步的,在本发明分布式集合通信方法的第二实施例中,参照图5,该方法包括:
步骤S40,若接收到数据请求者发送的第三兴趣包,则获取所述第三兴趣包中的归约状态;
对于通信集群中的每个计算节点,不仅可以请求其它计算节点的计算数据,也可以作为被请求计算数据的计算节点。数据请求者可以为通信集群中除当前计算节点之外的任一计算节点。若接收到第三兴趣包,可以提取出第三兴趣包中的第三数据名称,将第三数据名称中的可路由前缀与当前计算节点的节点标识和计算任务标识匹配,在匹配成功之后,获取第三数据名称中的归约状态,得知其它计算节点进行的计算阶段。
步骤S50,根据所述归约状态选择所述原始数据块或所述第一局部归约数据生成第三数据包,将所述第三数据包按照所述第三兴趣包中的路由信息返回至所述数据请求者。
在归约状态为未归约的情况下,当前计算节点可以选择原始数据块,该原始数据块与数据请求者的计算任务相关。在归约状态为已归约的情况下,当前计算节点可以选择第一局部归约数据。将原始数据块或者第一局部归约数据封装为第三数据包。路由信息可以为第三数据名称中的可路由前缀,当前计算节点将第三数据包发送至NDN网络中,数据请求者就可以接收第三数据包,获得其请求的数据内容。
在本实施例中,当前计算节点还可以作为计算数据的被请求者,向数据请求者返回计算数据,NDN架构与深度学习中的分布式训练相结合,可以提高深度学习的学习效率。
本发明实施例还提供一种分布式集合通信装置,如图6所示,所述分布式集合通信装置包括:
请求模块101,用于向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
归约模块102,用于对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
收集模块103,用于向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
可选地,分布式集合通信装置还包括划分模块,用于:
获取所述当前计算节点的计算数据集;
将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块,其中,所述协同计算节点包括所述当前计算节点和所述其它计算节点。
可选地,分布式集合通信装置还包括命名模块,用于:
获取预设的数据命名规则,其中,所述数据命名规则中包括task字段、rank字段、round字段、
Figure SMS_32
字段和state字段;
根据所述数据命名规则对各所述原始数据块命名。
可选地,请求模块101还用于:
获取所述当前计算节点的第一计算任务标识,将所述
Figure SMS_33
字段赋值为所述第一计算任务标识,将所述rank字段赋值为各所述其它计算节点的节点编号,将所述state字段赋值为未归约,以确定所述关联数据块的第一数据名称;
根据所述第一数据名称生成所述第一兴趣包,将所述第一兴趣包发送至命名数据网络中;
接收各所述其它计算节点返回的第一数据包,其中,所述第一数据包中包括所述关联数据块。
可选地,归约模块102还用于:
确定所述当前计算节点的归约计算任务,根据所述归约计算任务筛选出所述原始数据块中的待归约数据块;
对所述关联数据块和所述待归约数据块进行归约计算,得到所述第一局部归约数据。
可选地,收集模块103还用于:
将所述rank字段赋值为各所述其它计算节点的节点编号,将所述
Figure SMS_34
字段赋值为各所述其它计算节点的第二计算任务标识,将所述state字段赋值为已归约,以确定所述第二局部归约数据的第二数据名称;
根据所述第二数据名称生成所述第二兴趣包,将所述第二兴趣包发送至命名数据网络中;
接收各所述其它计算节点返回的第二数据包,其中,所述第二数据包中包括所述第二局部归约数据。
可选地,分布式集合通信装置还包括返回模块,用于:
若接收到数据请求者发送的第三兴趣包,则获取所述第三兴趣包中的归约状态;
根据所述归约状态选择所述原始数据块或所述第一局部归约数据生成第三数据包,将所述第三数据包按照所述第三兴趣包中的路由信息返回至所述数据请求者。
本发明实施例还提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式集合通信程序,所述分布式集合通信程序配置为实现如上文所述的分布式集合通信方法的步骤。本发明实施例电子设备的具体实施方式参见上述分布式集合通信方法各实施例,在此不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有分布式集合通信程序,所述分布式集合通信程序被处理器执行时实现如上文所述的分布式集合通信方法的步骤。本发明实施例计算机可读存储介质的具体实施方式参见上述分布式集合通信方法各实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分布式集合通信方法,其特征在于,所述分布式集合通信方法包括以下步骤:
向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
对所述关联数据块和当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
2.如权利要求1所述的分布式集合通信方法,其特征在于,在所述向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤之前,还包括:
获取所述当前计算节点的计算数据集;
将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块,其中,所述协同计算节点包括所述当前计算节点和所述其它计算节点。
3.如权利要求2所述的分布式集合通信方法,其特征在于,在所述将所述计算数据集划分为与协同计算节点的数量对应的多个原始数据块的步骤之后,还包括:
获取预设的数据命名规则,其中,所述数据命名规则中包括task字段、rank字段、round字段、
Figure QLYQS_1
字段和state字段;
根据所述数据命名规则对各所述原始数据块命名。
4.如权利要求3所述的分布式集合通信方法,其特征在于,所述向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约的步骤包括:
获取所述当前计算节点的第一计算任务标识,将所述
Figure QLYQS_2
字段赋值为所述第一计算任务标识,将所述rank字段赋值为各所述其它计算节点的节点编号,将所述state字段赋值为未归约,以确定所述关联数据块的第一数据名称;
根据所述第一数据名称生成所述第一兴趣包,将所述第一兴趣包发送至命名数据网络中;
接收各所述其它计算节点返回的第一数据包,其中,所述第一数据包中包括所述关联数据块。
5.如权利要求1所述的分布式集合通信方法,其特征在于,所述对所述关联数据块和所述当前计算节点的原始数据块进行归约处理,得到第一局部归约数据的步骤包括:
确定所述当前计算节点的归约计算任务,根据所述归约计算任务筛选出所述原始数据块中的待归约数据块;
对所述关联数据块和所述待归约数据块进行归约计算,得到所述第一局部归约数据。
6.如权利要求4所述的分布式集合通信方法,其特征在于,所述向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约的步骤包括:
将所述rank字段赋值为各所述其它计算节点的节点编号,将所述
Figure QLYQS_3
字段赋值为各所述其它计算节点的第二计算任务标识,将所述state字段赋值为已归约,以确定所述第二局部归约数据的第二数据名称;
根据所述第二数据名称生成所述第二兴趣包,将所述第二兴趣包发送至命名数据网络中;
接收各所述其它计算节点返回的第二数据包,其中,所述第二数据包中包括所述第二局部归约数据。
7.如权利要求1-6任一项所述的分布式集合通信方法,其特征在于,所述分布式集合通信方法还包括:
若接收到数据请求者发送的第三兴趣包,则获取所述第三兴趣包中的归约状态;
根据所述归约状态选择所述原始数据块或所述第一局部归约数据生成第三数据包,将所述第三数据包按照所述第三兴趣包中的路由信息返回至所述数据请求者。
8.一种分布式集合通信装置,其特征在于,所述分布式集合通信装置包括:
请求模块,用于向通信集群中的各个其它计算节点发送对应的第一兴趣包,接收各所述其它计算节点基于对应的第一兴趣包反馈的关联数据块,所述第一兴趣包中归约状态为未归约;
归约模块,用于对所述关联数据块和当前计算节点的原始数据块进行归约处理,得到第一局部归约数据;
收集模块,用于向各所述其它计算节点发送对应的第二兴趣包,接收各所述其它计算节点基于对应的第二兴趣包所反馈的第二局部归约数据,所述第二兴趣包中归约状态为已归约,以使所述当前计算节点得到全局归约结果,所述全局归约结果包括所述第一局部归约数据和所述第二局部归约数据。
9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的分布式集合通信程序,所述分布式集合通信程序配置为实现如权利要求1至7中任一项所述的分布式集合通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有分布式集合通信程序,所述分布式集合通信程序被处理器执行时实现如权利要求1至7中任一项所述的分布式集合通信方法的步骤。
CN202310102436.0A 2023-02-13 2023-02-13 分布式集合通信方法、装置、设备及存储介质 Active CN115776523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310102436.0A CN115776523B (zh) 2023-02-13 2023-02-13 分布式集合通信方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310102436.0A CN115776523B (zh) 2023-02-13 2023-02-13 分布式集合通信方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115776523A CN115776523A (zh) 2023-03-10
CN115776523B true CN115776523B (zh) 2023-04-11

Family

ID=85393637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310102436.0A Active CN115776523B (zh) 2023-02-13 2023-02-13 分布式集合通信方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115776523B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138615A (zh) * 2015-08-10 2015-12-09 北京思特奇信息技术股份有限公司 一种构建大数据分布式日志的方法和系统
US10860622B1 (en) * 2015-04-06 2020-12-08 EMC IP Holding Company LLC Scalable recursive computation for pattern identification across distributed data processing nodes
CN115380271A (zh) * 2020-03-31 2022-11-22 阿里巴巴集团控股有限公司 用于集群通信的拓扑感知多阶段方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860622B1 (en) * 2015-04-06 2020-12-08 EMC IP Holding Company LLC Scalable recursive computation for pattern identification across distributed data processing nodes
CN105138615A (zh) * 2015-08-10 2015-12-09 北京思特奇信息技术股份有限公司 一种构建大数据分布式日志的方法和系统
CN115380271A (zh) * 2020-03-31 2022-11-22 阿里巴巴集团控股有限公司 用于集群通信的拓扑感知多阶段方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
迟利华 ; 刘杰 ; .非线性扩散方程的显式并行计算.计算机工程.2010,(第21期),全文. *

Also Published As

Publication number Publication date
CN115776523A (zh) 2023-03-10

Similar Documents

Publication Publication Date Title
US20200136921A1 (en) Methods, system, articles of manufacture, and apparatus to manage telemetry data in an edge environment
CN107493334B (zh) 一种增强云雾计算网络架构系统可靠性的方法
US11637889B2 (en) Configuration recommendation for a microservice architecture
CN107135268B (zh) 基于信息中心网络的分布式任务计算方法
US11334391B2 (en) Self-programmable and self-tunable resource scheduler for jobs in cloud computing
CN108667657B (zh) 一种面向sdn的基于局部特征信息的虚拟网络映射方法
WO2013107012A1 (zh) 分布式计算任务处理系统和任务处理方法
CN105512083A (zh) 基于yarn的资源管理方法、装置及系统
EP3499842A1 (en) Calculation capability description method, interaction method and device for fog computing
CN115460216A (zh) 算力资源调度方法和装置、算力资源调度设备、系统
JP5479710B2 (ja) データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法
TW201327239A (zh) 分散式資源管理系統及其分散式資源管理方法
CN115776523B (zh) 分布式集合通信方法、装置、设备及存储介质
CN112714146B (zh) 一种资源调度方法、装置、设备及计算机可读存储介质
CN115866066A (zh) 数据发送方法及装置、非易失性存储介质、电子设备
CN113542371B (zh) 基于边缘网关的资源调度方法及系统
CN115473838A (zh) 网络请求的处理方法、装置、计算机可读介质及电子设备
US10785127B1 (en) Supporting services in distributed networks
TW202315360A (zh) 微服務分配方法、電子設備及儲存介質
CN114979128A (zh) 跨区域通信方法、装置及电子设备
KR102662496B1 (ko) 멀티 gpu를 사용한 다수의 딥러닝 모델 기반 추론 응답 생성을 위한 배치 스케줄링 방법
KR102642396B1 (ko) 제한된 gpu리소스를 사용한 딥러닝 추론 모델을 위한 배치 스케줄링 장치
CN115185667B (zh) 可视化应用的加速方法、装置、电子设备和存储介质
CN108319503A (zh) 分布式异构计算方法及系统
CN115118727B (zh) 分布式计算架构的数据传输方法、装置、设备及存储介质

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