一种节点网络自组织方法、装置、服务器和系统与流程

文档序号:11138335阅读:494来源:国知局
一种节点网络自组织方法、装置、服务器和系统与制造工艺

本发明涉及计算机网络技术领域,具体涉及一种节点网络自组织方法、装置、服务器和系统。



背景技术:

分布式集群中有多个节点,这些节点上可以运行并行执行同一任务。在很多情况下,并行执行任务还需要节点与节点之间进行通信,因此节点网络的组织是非常关键的问题。现有技术中,通常通过主控节点在任务的建立时,为各执行任务的从节点分配执行该任务的进程所使用的端口号,这样各从节点就可以获知其他从节点上执行该任务的进程所使用的端口号,从而与其他从节点建立连接。但是,分配的端口号实际上是与各从节点一一对应的,主控节点如果没有获知某一节点上已使用的端口号,在分配端口号时分配了该节点已经使用的端口号,就会影响任务的启动。例如,节点1上运行的任务A使用端口8080,在主控节点为节点1分配任务B所使用的端口号时又指定了端口8080,那么就引起了端口冲突。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的节点网络自组织方法、装置、服务器和系统。

依据本发明的一个方面,提供了一种节点网络自组织方法,包括:

接收主控节点发送的任务启动指令;

选取用于该任务的端口号;

将本从节点的主机名和选取的端口号返回给所述主控节点,以使所述主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图;

接收所述主控节点发送的节点网络图。

可选地,所述选取用于该任务的端口号包括:

从本从节点当前未被占用的端口号中,随机选取一个端口号。

可选地,所述接收所述主控节点发送的节点网络图包括:

定期向所述主控节点发送获取节点网络图的请求,接收所述主控节点根据该请求返回的节点网络图;

和/或,

接收所述主控节点主动下发的节点网络图。

可选地,该方法还包括:

根据所述主控节点发送的节点网络图,与该节点网络图中的其他一个或多个从节点建立连接。

可选地,所述任务启动指令为深度学习子任务的启动指令;所述深度学习子任务包括:parameter server子任务和/或worker子任务。

依据本发明的另一方面,提供了一种节点网络自组织方法,包括:

根据输入的任务信息,向一个或多个从节点发送任务启动指令;

接收各从节点返回的主机名和端口号;

根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图;

将所述节点网络图发送给一个或多个从节点。

可选地,所述将所述节点网络图发送给一个或多个从节点包括:

当接收到从节点发送的获取节点网络图的请求时,将所述节点网络图发送给该从节点;

和/或,

将所述节点网络图发送给与本主控节点连接的所有从节点。

可选地,所述任务信息为深度学习任务的任务信息;所述任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

可选地,所述根据输入的任务信息,向一个或多个从节点发送任务启动指令包括:

从与本主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;

根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;

向各选择的从节点发送与在该从节点上启动的任务对应的任务启动指令。

依据本发明的又一方面,提供了一种节点网络自组织装置,其中,该装置部署在分布式集群的从节点上,包括:

通信单元,适于接收节点网络自组织服务器发送的任务启动指令;

端口选取单元,适于选取用于该任务的端口号;

所述通信单元,还适于将本装置所在从节点的主机名和选取的端口号返回给所述节点网络自组织服务器,以使所述节点网络自组织服务器根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;以及适于接收所述节点网络自组织服务器发送的节点网络图。

可选地,所述端口选取单元,适于从本装置所在从节点的当前未被占用的端口号中,随机选取一个端口号。

可选地,所述通信单元,适于定期向所述节点网络自组织服务器发送获取节点网络图的请求,接收所述节点网络自组织服务器根据该请求返回的节点网络图;和/或,接收所述节点网络自组织服务器主动下发的节点网络图。

可选地,所述通信单元,还适于根据所述节点网络自组织服务器发送的节点网络图,与该节点网络图中的其他一个或多个从节点上的节点网络自组织装置建立连接。

可选地,所述任务启动指令为深度学习子任务的启动指令;所述深度学习子任务包括:parameter server子任务和/或worker子任务。

依据本发明的再一方面,提供了一种节点网络自组织服务器,其中,该服务器部署在分布式集群的主控节点上,包括:

通信单元,适于根据输入的任务信息,向一个或多个从节点上的节点网络自组织装置发送任务启动指令;接收各节点网络自组织装置返回的主机名和端口号;

节点网络图生成单元,适于根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;

所述通信单元,还适于将所述节点网络图发送给一个或多个从节点上的节点网络自组织装置。

可选地,所述通信单元,适于在接收到从节点上的节点网络自组织装置发送的获取节点网络图的请求时,将所述节点网络图发送给该从节点上的节点网络自组织装置;和/或,将所述节点网络图发送给与本服务器所在的主控节点连接的所有从节点上的节点网络自组织装置

可选地,所述任务信息为深度学习任务的任务信息;所述任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

可选地,该服务器还包括:

调度单元,适于从与本服务器所在的主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;

所述通信单元,适于向选择的从节点上的节点网络自组织装置发送与在该从节点上启动的任务对应的任务启动指令。

依据本发明的再一方面,提供了一种节点网络自组织系统,其中,该系统包括一个或多个如上述任一项所述的节点网络自组织装置和如上述任一项所述的节点网络自组织服务器。

由上述可知,本发明的技术方案,从节点在接收到主控节点发送的任务启动指令后,主动选取用于该任务的端口号,将本从节点的主机名和选取的端口号返回给主控节点,以使主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。该技术方案将端口号的分配由主控节点更改为各从节点,避免了主控节点分配的端口号与从节点已使用的端口号发生冲突,同时生成的节点网络图可以用于节点网络的管理及从节点间的连接建立,既满足了使用需求,同时提高了节点网络构建的成功率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种节点网络自组织方法的流程示意图;

图2示出了根据本发明一个实施例的另一种节点网络自组织方法的流程示意图;

图3示出了根据本发明一个实施例的一种节点网络自组织装置的结构示意图;

图4示出了根据本发明一个实施例的一种节点网络自组织服务器的结构示意图;

图5示出了根据本发明一个实施例的一种节点网络自组织系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的一种节点网络自组织方法的流程示意图,如图1所示,该方法包括:

步骤S110,接收主控节点发送的任务启动指令。

步骤S120,选取用于该任务的端口号。

步骤S130,将本从节点的主机名和选取的端口号返回给主控节点,以使主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。

步骤S140,接收主控节点发送的节点网络图。

可见,图1所示的方法,从节点在接收到主控节点发送的任务启动指令后,主动选取用于该任务的端口号,将本从节点的主机名和选取的端口号返回给主控节点,以使主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。该技术方案将端口号的分配由主控节点更改为各从节点,避免了主控节点分配的端口号与从节点已使用的端口号发生冲突,同时生成的节点网络图可以用于节点网络的管理及从节点间的连接建立,既满足了使用需求,同时提高了节点网络构建的成功率。

在本发明的一个实施例中,图1所示的方法中,选取用于该任务的端口号包括:从本从节点当前未被占用的端口号中,随机选取一个端口号。

从节点上的端口号通常为65535循环,随机从未被占用的端口号中选取,效率高,同时不会产生端口冲突。

在本发明的一个实施例中,图1所示的方法中,接收主控节点发送的节点网络图包括:定期向主控节点发送获取节点网络图的请求,接收主控节点根据该请求返回的节点网络图;和/或,接收主控节点主动下发的节点网络图。

例如,每隔10分钟向主控节点发送获取节点网络图的请求,或者由主控节点在节点网络图发生变更后,将更新后的节点网络图下发至相关的从节点。

各从节点获取节点网络图的一个重要原因是,在很多情况下,从节点上运行的进程需要与其他从节点上的进程进行通信。因此在本发明的一个实施例中,图1所示的方法还包括:根据主控节点发送的节点网络图,与该节点网络图中的其他一个或多个从节点建立连接。

在本发明的一个实施例中,图1所示的方法中,任务启动指令为深度学习子任务的启动指令;深度学习子任务包括:parameter server子任务和/或worker子任务。在此例中,parameter server作为参数服务器,需要接收worker子任务提交的计算得到的参数。

图2示出了根据本发明一个实施例的另一种节点网络自组织方法的流程示意图,如图2所示,该方法包括:

步骤S210,根据输入的任务信息,向一个或多个从节点发送任务启动指令。

步骤S220,接收各从节点返回的主机名和端口号。

步骤S230,根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。

步骤S240,将节点网络图发送给一个或多个从节点。

在本发明的一个实施例中,图2所示的方法中,将节点网络图发送给一个或多个从节点包括:当接收到从节点发送的获取节点网络图的请求时,将节点网络图发送给该从节点;和/或,将节点网络图发送给与本主控节点连接的所有从节点。

在本实施例中提供了两种节点网络图的分发方法,可以结合使用,但并不代表对分发方法的限制,也可以在节点网络图发生更改时,将更新后的节点网络图仅发送给本次更新相关的节点。例如,任务A新增了两个执行节点,节点13和节点14,任务A原执行节点为节点1和节点2,那么只需要将更新后的节点网络图发送给节点1、3、13和14。当然,节点网络图也可以根据各个任务生成相应的分图,这样在下发节点网络图时只需要将其分发给该图中相关的节点即可。

在本发明的一个实施例中,图2所示的方法中,任务信息为深度学习任务的任务信息;任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

深度学习任务是以图的形式进行计算任务的提交,这些任务在执行时会被进一步划分为多个作业,每个作业包括一个或多个子任务。子任务类型包括如下中的一种或多种:parameter server子任务、worker子任务。

例如,TensorFlow就是一款开源的深度学习库。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图像的一端流动到另一端计算过程。该深度学习库可以与Spark大数据计算框架进行整合,即将一个TensorFlow任务作为一个Spark任务进行提交,也就是上文所称的深度学习任务。深度学习任务信息还可以包括如下中的一种或多种:执行深度学习的计算图;执行深度学习任务需调用的深度学习库接口;用于深度学习任务的数据地址;执行结果数据的保存地址。

在本发明的一个实施例中,上述方法中,根据输入的任务信息,向一个或多个从节点发送任务启动指令包括:从与本主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;向各选择的从节点发送与在该从节点上启动的任务对应的任务启动指令。

以一个深度学习任务为例,如果根据该深度学习任务的任务信息,需要调用深度学习库启动2个parameter server子任务和2个worker子任务,并且这四个子任务分别在四个从节点上执行,那么就先确定在每个任务上执行的子任务,再向各个从节点发送启动相应的子任务的指令。

前文提及,深度学习库可以与Spark大数据计算框架进行整合,即分布式集群可以为Spark集群。Spark集群还可以通过Yarn进行任务的调度、作业管理和资源管理。Yarn可以为用户提供前端页面用于任务的提交,因此在本发明的一个实施例中,提交的深度学习任务可以是通过前端页面输入的。在任务启动后,用户还可以根据Yarn提供的前端页面,实时查看任务的处理状况,对任务进行杀死等操作。由于Spark集群还可以通过Yarn进行任务的调度、作业管理和资源管理,因此上述实施例中,从与本主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点还可以通过向Yarn发送请求,获取当前较为空闲的节点来执行深度学习任务。即:向分布式集群的节点调度器发送用于执行该深度学习任务的节点数量,并接收节点调度器返回的多个节点的信息。

下面示出了为一个深度学习任务生成的节点网络图的示例:

{PS:[node1:8080,node2:8080]worker:[node3:9090,node4:9090]}

这意味着在节点1的8080端口上启动了parameter server子任务,在节点2的8080端口上启动了parameter server子任务;在节点3的9090端口上启动了worker子任务,在节点4的9090端口上启动了worker子任务。接下来需要主动将节点网络图下发给这些从节点,或者根据由各从节点发送的自恩物网络列表获取请求,将节点网络图下发给这些节点。例如,节点3的9090端口上启动的worker子任务可以分别和节点1的8080端口上启动的parameter server子任务以及在节点2的8080端口上启动的parameter server子任务建立连接。

这些都可以在深度学习任务提交后,由Spark启动一个Driver进程,同时启动一个Scheduler调度进程,由该进程实现节点网络图的构建、管理和分发。

具体地,从分布式集群的文件系统中获取用于该深度学习任务的数据包括:根据用于深度学习任务的数据地址,将分布式集群的文件系统中用于该深度学习任务的数据构建为弹性分布式数据集RDD对象;将获取的用于该深度学习任务的数据推送到相应的子任务上进行执行包括:将RDD对象分别推送到各节点,由各节点将RDD对象推送到在该节点中启动的子任务上。

以Spark分布式集群为例,其数据存储在HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)上。在操作数据时,将其相应的构建为一个RDD(resilientdistributed dataset,弹性分布式数据集)对象。RDD对象可以复用,如果深度学习任务所用的数据已被构建为RDD对象,那么自然就不需要执行该步骤。在使用这些数据时,通过管道(pipe)将其推送到各任务所在的从节点上,由各节点将RDD对象推送到在该从节点中启动的子任务上。以上例中的深度学习任务包含两个worker子任务为例,需要将RDD对象的一部分推送到节点3上,另一部分推送到节点4上,从而实现了分布式处理深度学习任务。

图3示出了根据本发明一个实施例的一种节点网络自组织装置的结构示意图,该装置可以部署在分布式集群的从节点上。如图3所示,节点网络自组织装置300包括:

通信单元310,适于接收节点网络自组织服务器发送的任务启动指令。

端口选取单元320,适于选取用于该任务的端口号。

通信单元310,还适于将本装置所在从节点的主机名和选取的端口号返回给节点网络自组织服务器,以使节点网络自组织服务器根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;以及适于接收节点网络自组织服务器发送的节点网络图。

可见,图3所示的装置,通过各单元的相互配合,从节点在接收到主控节点发送的任务启动指令后,主动选取用于该任务的端口号,将本从节点的主机名和选取的端口号返回给主控节点,以使主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。该技术方案将端口号的分配由主控节点更改为各从节点,避免了主控节点分配的端口号与从节点已使用的端口号发生冲突,同时生成的节点网络图可以用于节点网络的管理及从节点间的连接建立,既满足了使用需求,同时提高了节点网络构建的成功率。

在本发明的一个实施例中,图3所示的装置中,端口选取单元320,适于从本装置所在从节点的当前未被占用的端口号中,随机选取一个端口号。

在本发明的一个实施例中,图3所示的装置中,通信单元310,适于定期向节点网络自组织服务器发送获取节点网络图的请求,接收节点网络自组织服务器根据该请求返回的节点网络图;和/或,接收节点网络自组织服务器主动下发的节点网络图。

在本发明的一个实施例中,图3所示的装置中,通信单元310,还适于根据节点网络自组织服务器发送的节点网络图,与该节点网络图中的其他一个或多个从节点上的节点网络自组织装置300建立连接。

在本发明的一个实施例中,图3所示的装置中,任务启动指令为深度学习子任务的启动指令;深度学习子任务包括:parameter server子任务和/或worker子任务。

图4示出了根据本发明一个实施例的一种节点网络自组织服务器的结构示意图,该服务器可以部署在分布式集群的主控节点上。如图4所示,节点网络自组织服务器400包括:

通信单元410,适于根据输入的任务信息,向一个或多个从节点上的节点网络自组织装置发送任务启动指令;接收各节点网络自组织装置返回的主机名和端口号;

节点网络图生成单元420,适于根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;

通信单元410,还适于将节点网络图发送给一个或多个从节点上的节点网络自组织装置。

在本发明的一个实施例中,图4所示的服务器中,通信单元410,适于在接收到从节点上的节点网络自组织装置发送的获取节点网络图的请求时,将节点网络图发送给该从节点上的节点网络自组织装置;和/或,将节点网络图发送给与本服务器所在的主控节点连接的所有从节点上的节点网络自组织装置

在本发明的一个实施例中,图4所示的服务器中,任务信息为深度学习任务的任务信息;任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

在本发明的一个实施例中,图4所示的服务器中还包括:调度单元430,适于从与本服务器所在的主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;通信单元310,适于向选择的从节点上的节点网络自组织装置发送与在该从节点上启动的任务对应的任务启动指令。

需要说明的是,上述各装置和服务器实施例的具体实施方式与前述对应方法实施例的具体实施方式相类似,在此不再赘述。稍有不同的是,各从节点上不仅可以部署有节点网络自组织装置,还可以部署任务的执行装置。主控节点上不仅可以部署有节点网络自组织服务器,还可以部署任务的控制服务器。当然,这些服务器可以各自通过功能整合作为一个服务器来实现,同一从节点上的各装置也可以通过功能整合作为一个装置来实现。

图5示出了根据本发明一个实施例的一种节点网络自组织系统的结构示意图,如图5所示,节点网络自组织系统500包括一个或多个如上述任一实施例中的节点网络自组织装置300和如上述任一实施例中的节点网络自组织服务器400。

综上所述,本发明的技术方案,从节点在接收到主控节点发送的任务启动指令后,主动选取用于该任务的端口号,将本从节点的主机名和选取的端口号返回给主控节点,以使主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图。该技术方案将端口号的分配由主控节点更改为各从节点,避免了主控节点分配的端口号与从节点已使用的端口号发生冲突,同时生成的节点网络图可以用于节点网络的管理及从节点间的连接建立,既满足了使用需求,同时提高了节点网络构建的成功率。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的节点网络自组织装置、服务器和系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明的实施例公开了A1、一种节点网络自组织方法,其中,该方法包括:

接收主控节点发送的任务启动指令;

选取用于该任务的端口号;

将本从节点的主机名和选取的端口号返回给所述主控节点,以使所述主控节点根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图;

接收所述主控节点发送的节点网络图。

A2、如A1所述的方法,其中,所述选取用于该任务的端口号包括:

从本从节点当前未被占用的端口号中,随机选取一个端口号。

A3、如A1所述的方法,其中,所述接收所述主控节点发送的节点网络图包括:

定期向所述主控节点发送获取节点网络图的请求,接收所述主控节点根据该请求返回的节点网络图;

和/或,

接收所述主控节点主动下发的节点网络图。

A4、如A1所述的方法,其中,该方法还包括:

根据所述主控节点发送的节点网络图,与该节点网络图中的其他一个或多个从节点建立连接。

A5、如A1所述的方法,其中,

所述任务启动指令为深度学习子任务的启动指令;所述深度学习子任务包括:parameter server子任务和/或worker子任务。

本发明的实施例还公开了B6、一种节点网络自组织方法,其中,该方法包括:

根据输入的任务信息,向一个或多个从节点发送任务启动指令;

接收各从节点返回的主机名和端口号;

根据各从节点启动的任务及返回的主机名和端口号,生成节点网络图;

将所述节点网络图发送给一个或多个从节点。

B7、如B6所述的方法,其中,所述将所述节点网络图发送给一个或多个从节点包括:

当接收到从节点发送的获取节点网络图的请求时,将所述节点网络图发送给该从节点;

和/或,

将所述节点网络图发送给与本主控节点连接的所有从节点。

B8、如B6所述的方法,其中,所述任务信息为深度学习任务的任务信息;所述任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

B9、如B8所述的方法,其中,所述根据输入的任务信息,向一个或多个从节点发送任务启动指令包括:

从与本主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;

根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;

向各选择的从节点发送与在该从节点上启动的任务对应的任务启动指令。

本发明的实施例还公开了C10、一种节点网络自组织装置,其中,该装置部署在分布式集群的从节点上,包括:

通信单元,适于接收节点网络自组织服务器发送的任务启动指令;

端口选取单元,适于选取用于该任务的端口号;

所述通信单元,还适于将本装置所在从节点的主机名和选取的端口号返回给所述节点网络自组织服务器,以使所述节点网络自组织服务器根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;以及适于接收所述节点网络自组织服务器发送的节点网络图。

C111、如C110所述的装置,其中,

所述端口选取单元,适于从本装置所在从节点的当前未被占用的端口号中,随机选取一个端口号。

C112、如C110所述的装置,其中,

所述通信单元,适于定期向所述节点网络自组织服务器发送获取节点网络图的请求,接收所述节点网络自组织服务器根据该请求返回的节点网络图;和/或,接收所述节点网络自组织服务器主动下发的节点网络图。

C113、如C110所述的装置,其中,

所述通信单元,还适于根据所述节点网络自组织服务器发送的节点网络图,与该节点网络图中的其他一个或多个从节点上的节点网络自组织装置建立连接。

C114、如C110所述的装置,其中,

所述任务启动指令为深度学习子任务的启动指令;所述深度学习子任务包括:parameter server子任务和/或worker子任务。

本发明的实施例还公开了D15、一种节点网络自组织服务器,其中,该服务器部署在分布式集群的主控节点上,包括:

通信单元,适于根据输入的任务信息,向一个或多个从节点上的节点网络自组织装置发送任务启动指令;接收各节点网络自组织装置返回的主机名和端口号;

节点网络图生成单元,适于根据各从节点启动的任务及各节点网络自组织装置返回的主机名和端口号,生成节点网络图;

所述通信单元,还适于将所述节点网络图发送给一个或多个从节点上的节点网络自组织装置。

D16、如D15所述的服务器,其中,

所述通信单元,适于在接收到从节点上的节点网络自组织装置发送的获取节点网络图的请求时,将所述节点网络图发送给该从节点上的节点网络自组织装置;和/或,将所述节点网络图发送给与本服务器所在的主控节点连接的所有从节点上的节点网络自组织装置

D17、如D15所述的服务器,其中,所述任务信息为深度学习任务的任务信息;所述任务信息包括:用于执行深度学习任务的节点数量、深度学习子任务类型、各类型的子任务数量。

D18、如D17所述的服务器,其中,该服务器还包括:

调度单元,适于从与本服务器所在的主控节点连接的所有从节点中选择与用于执行深度学习任务的节点数量相当的从节点;根据深度学习子任务类型和各类型的子任务数量,确定在各从节点上启动的任务;

所述通信单元,适于向选择的从节点上的节点网络自组织装置发送与在该从节点上启动的任务对应的任务启动指令。

本发明的实施例还公开了E19、一种节点网络自组织系统,其中,该系统包括一个或多个如C10-C14中任一项所述的节点网络自组织装置和如权利要求D15-D18中任一项所述的节点网络自组织服务器。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1