CN111131487A - 一种深度学习平台容器镜像获取、共享方法及系统 - Google Patents
一种深度学习平台容器镜像获取、共享方法及系统 Download PDFInfo
- Publication number
- CN111131487A CN111131487A CN201911398110.7A CN201911398110A CN111131487A CN 111131487 A CN111131487 A CN 111131487A CN 201911398110 A CN201911398110 A CN 201911398110A CN 111131487 A CN111131487 A CN 111131487A
- Authority
- CN
- China
- Prior art keywords
- node
- mirror image
- container mirror
- target container
- point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013135 deep learning Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 103
- 239000010410 layer Substances 0.000 description 54
- 230000008676 import Effects 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种深度学习平台容器镜像获取、共享方法及系统,应用于主节点,本申请仅在全部节点未存储有与训练任务请求对应的目标容器镜像的时候,才由主节点直接从容器镜像库中获取目标容器镜像,尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
Description
技术领域
本发明涉及集群运算领域,特别涉及一种深度学习平台容器镜像获取、共享方法及系统。
背景技术
在现有的深度学习平台中,提交一个深度学习任务的流程为:用户创建深度学习operater(应用),利用kube-batch(调度器)创建一个job(深度学习训练任务),并将这个job调度到多个节点,然后从Harbor仓库拉取深度学习框架到本地节点,创建容器,启动深度学习任务的训练过程。
然而,由于深度学习框架较大,拉取过程需要一定的时间,不少用户采取了预先下载镜像的方法,让各节点事先分批获取镜像,然后在创建训练任务时启动应用。这种办法在一定程度上缓解了问题,但是仍然存在从Harbor仓库分发镜像时造成访问拥堵和传输速度慢的情况。
因为,现有技术中多个节点在接收到下载任务时,会同时访问Harbor仓库下载镜像,导致Harbor仓库访问速度变慢,进而影响下载速度,同时其本身并没有提高镜像的下载速度,还是需要下载,预下载在面对有规划的训练任务时还可以发挥较大效果,但若面对临时任务时,采用上述方法就无法加快下载速度。
为此,需要一种下载镜像速度更快时效性更高的方法,提高下载效率,提高深度学习任务执行效率。
发明内容
有鉴于此,本发明的目的在于提供一种深度学习平台容器镜像获取、共享方法及系统,下载镜像速度更快,提高深度学习任务执行效率。其具体方案如下:
一种深度学习平台容器镜像获取方法,应用于主节点,包括:
接收训练任务请求;
判断是否有已存储与所述训练任务请求对应的目标容器镜像的第一节点;
若有第一节点,则发送共享指令至的第一节点和第二节点,以使第一节点根据所述共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
若无第一节点,则从容器镜像库中获取所述目标容器镜像;
发送所述共享指令至第二节点;
以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
可选的,所述以点对点的传输方式传输所述目标容器镜像至第二节点的过程,包括:
切分所述目标容器镜像,得到所述目标容器镜像的多个Layer;
以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点。
可选的,所述以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的过程,包括:
通过BT客户端代理直接以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的BT客户端代理中。
可选的,还包括:
将所述目标容器镜像导入Docker daemon。
本发明还公开了一种深度学习平台容器镜像共享方法,应用于第一节点,包括:
根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
可选的,所述根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点的过程,包括:
判断是否存储有所述目标容器镜像的Layer;
若未存储有Layer,则切分所述目标容器镜像,得到所述目标容器镜像的多个Layer;
若存储有Layer,则根据所述共享指令以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点。
可选的,所述根据所述共享指令以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的过程,包括:
根据所述共享指令,通过BT客户端代理直接以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的BT客户端代理中。
可选的,还包括:
当为需要执行与所述训练任务请求对应的训练任务的训练节点时,则将所述目标容器镜像导入Docker daemon。
本发明还公开了一种深度学习平台容器镜像获取系统,应用于主节点,包括:
训练请求接收模块,用于接收训练任务请求;
镜像存储判断模块,用于判断是否有已存储与所述训练任务请求对应的目标容器镜像的第一节点;
第一指令发送模块,用于若所述镜像存储判断模块判定有第一节点,则发送共享指令至的第一节点和第二节点;
容器镜像获取模块,用于若所述镜像存储判断模块判定无第一节点,则从容器镜像库中获取所述目标容器镜像;
第二指令发送模块,用于发送所述共享指令至第二节点;
第一镜像传输模块,用于以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
本发明还公开了一种深度学习平台容器镜像共享系统,应用于第一节点,包括:
第二镜像传输模块,用于根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点;
其中,得到所述目标容器镜像后的第二节点作为新的第一节点,根据所述共享指令以点对点的传输方式传输所述目标容器镜像至第二节点。
本发明中,深度学习平台容器镜像获取方法,应用于主节点,包括:接收训练任务请求;判断是否有已存储与训练任务请求对应的目标容器镜像的第一节点;若有第一节点,则发送共享指令至的第一节点和第二节点,以使第一节点根据共享指令以点对点的传输方式传输目标容器镜像至第二节点;若无第一节点,则从容器镜像库中获取目标容器镜像;发送共享指令至第二节点;以点对点的传输方式传输目标容器镜像至第二节点;其中,第一节点为存储有目标容器镜像的节点,第二节点为与训练任务请求对应的未存储有目标容器镜像的节点。
本发明仅在全部节点未存储有与训练任务请求对应的目标容器镜像的时候,才由主节点直接从容器镜像库中获取目标容器镜像,尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种深度学习平台容器镜像获取方法流程示意图;
图2为本发明实施例公开的另一种深度学习平台容器镜像获取方法流程示意图;
图3为本发明实施例公开的另一种深度学习平台容器镜像共享方法流程示意图;
图4为本发明实施例公开的一种深度学习平台容器镜像获取系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种深度学习平台容器镜像获取方法,参见图1所示,应用于主节点,包括:
S11:接收训练任务请求;
S12:判断是否有已存储与训练任务请求对应的目标容器镜像的第一节点。
具体的,主节点在接收到训练任务请求后,根据训练任务请求中对训练任务的记载信息,能够得知与请求对应的目标容器镜像,由于不同训练任务训练时,所需要的节点数量不同,同时每次训练时通常也不会指定使用的节点,多是根据节点的使用状态自动划分,因此,可能一个训练任务只需要主节点下部分从节点进行训练,再次执行该训练任务时,可能使用的不同的从节点,因此,整个系统中会包括存储有目标容器镜像的第一节点和与训练任务请求对应的未存储有目标容器镜像的第二节点,如果系统内有节点存储有目标容器镜像,为加快镜像获取速度,则后续无需从容器镜像库中获取目标容器镜像,可以进行节点之间的共享,若无,则需要直接从容器镜像库中获取目标容器镜像。
具体的,在单主节点的系统中,主节点虽然会获取全部的训练的过的容器镜像,但为了节省存储空间,可能会定时删除旧的容器镜像,所以需要判断是否有第一节点,第一节点可以包括主节点和从节点,同时,由于整个系统中可能包括多个主节点,训练任务请求通常由一个主节点接收,若当前接收请求的主节点中不包括目标容器镜像,别的主节点中存储有目标容器镜像,所以第一节点中需要包括主节点一同判断。
S13:若有第一节点,则发送共享指令至的第一节点和第二节点,以使第一节点根据共享指令以点对点的传输方式传输目标容器镜像至第二节点。
具体的,若存在第一节点,则发送共享指令至第一节点和第二节点,共享指令中记载了那些节点是第二节点,因此,第一节点可以根据共享指令以点对点的传输方式传输目标容器镜像至第二节点。
需要说明的是,通过点对点(P2P)的传输方式传输目标容器镜像,一方面是利用整个集群系统中内部网络传输的传输速度快于各节点直接访问容器镜像库,另一方面采用点对点的传输方式传输容器镜像库,也能够加快传输速度。
需要说明的是,由于第二节点也接收到了共享指令,当第二节点接收到目标容器镜像后,便相当于变为了第一节点,也可以执行目标容器镜像的传输任务,将目标容器镜像传输至还没有获得目标容器镜像的第二节点,因此,整个系统中目标容器镜像共享的速度呈指数级上升,当第一节点数等于第二节点数时,所有第一节点理论上将可以一对一的传输目标容器镜像至剩余的全部第二节点,传输完成后,整个系统中与训练任务请求对应的需要执行训练的节点将会全部得到目标容器镜像。
具体的,节点之间的共享情景,包括主节点对主节点点对点传输,主节点对从节点点对点传输和从节点对从节点点对点传输。
S14:若无第一节点,则从容器镜像库中获取目标容器镜像。
具体的,若无第一节点,则仅由主节点单独访问容器镜像库从中获取目标容器镜像,其中,容器镜像库可以为Harbor仓库,Harbor仓库中存储有训练任务请求所需的容器镜像。
S15:发送共享指令至第二节点。
可以理解的是,主节点可以根据训练任务请求直接确定那些节点为第二节点,而不用再利用共享指令确定第二节点,由于唯一的第一节点为主节点,所以主节点仅需要将共享指令发送至第二节点,以便后续第二节点变为第一节点可以进行节点之间的共享。
S16:以点对点的传输方式传输目标容器镜像至第二节点。
具体的,主节点同样以点对点的传输方式传输目标容器镜像至第二节点,以提高节点之间容器镜像的传输速度。
可以理解的是,目标容器镜像为训练时需要使用的数据。
可见,本发明实施例仅在全部节点未存储有与训练任务请求对应的目标容器镜像的时候,才由主节点直接从容器镜像库中获取目标容器镜像,尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
本发明实施例公开了一种具体的深度学习平台容器镜像获取方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S21:接收训练任务请求;
S22:判断是否有已存储与训练任务请求对应的目标容器镜像的第一节点;
S23:若有第一节点,则发送共享指令至的第一节点和第二节点,以使第一节点根据共享指令以点对点的传输方式传输目标容器镜像至第二节点;
S24:若无第一节点,则从容器镜像库中获取目标容器镜像;
S25:发送共享指令至第二节点;
S26:切分目标容器镜像,得到目标容器镜像的多个Layer;
S27:以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点。
具体的,为了进一步的提高传输速度,可以将目标容器镜像以Layer为单位进行切分,得到目标容器镜像的多个Layer,再以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点,目标容器镜像的Layer可以按照顺序进行下发,例如,在切分时可以从目标容器镜像开头一边切分一边编号,该编号对应目标容器镜像的Layer顺序,可以利用该编号将目标容器镜像的Layer拼接成一个完整的目标容器镜像,此时,可以按照该编号依次下发至第二节点,便于节点组合目标容器镜像。
S28:将目标容器镜像导入Docker daemon。
具体的,在得到目标容器镜像后,需要将目标容器镜像导入Docker daemon中,以便后续利用Docker daemon执行训练。
进一步的,在本发明实施例的另一种实施方式中,主节电可以直接通过BT客户端代理直接以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点的BT客户端代理中,而不用像现有技术中节点在接收到目标容器镜像后,还需要将目标容器镜像存放至BT客户端代理中以便后续运行目标容器镜像,更加快捷方便。
相应的,本发明实施例还公开了一种深度学习平台容器镜像共享方法,应用于第一节点,该方法包括:
S31:根据主节点发送的共享指令以点对点的传输方式传输目标容器镜像至第二节点。
具体的,第一节点接收到主节点的共享指令后,便以点对点的传输方式传输目标容器镜像至第二节点。
可以理解的是,由于第二节点也接收到了共享指令,当第二节点接收到目标容器镜像后,便相当于变为了第一节点,也可以执行目标容器镜像的传输任务,将目标容器镜像传输至还没有获得目标容器镜像的第二节点,即第二节点可以动态转换为第一节点,执行上述S31的步骤。
可见,本发明实施例尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
本发明实施例公开了一种具体的深度学习平台容器镜像获取方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:
S41:判断是否存储有目标容器镜像的Layer。
具体的,第一节点在存储目标容器镜像时有可能以Layer的形式存储,而没有将Layer融合成整个目标容器镜像这样的大文件,同时,当第二节点接收到目标容器镜像的Layer后转换为第一节点时,这两种情况均不需要第一节点对目标容器镜像进行切分得到目标容器镜像的Layer,所以在切分目标容器镜像前,先判断第一节点中的目标容器镜像是否以Layer的形式存储。
S42:若未存储有Layer,则切分目标容器镜像,得到目标容器镜像的多个Layer;
S43:若存储有Layer,则根据共享指令以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点。
可以理解的是,若未以Layer的形式存储目标容器镜像,则需要对目标容器镜像进行切分,得到目标容器镜像的多个Layer,通过S41再次判断后,再进行发送,当得到Layer后或预先存储有Layer,则可以直接利用共享指令以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点。
需要说明的是,第二节点在接收到目标容器镜像的单个Layer后便可以转换为第一节点,将该Layer转发至别的第二节点,而不用等待整个目标容器镜像的Layer全部存储至节点中。
进一步的,为加快整体训练效率,可以根据共享指令,通过BT客户端(BT,BitTorrent,比特流)代理直接以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点的BT客户端代理中,省去节点内部将目标容器镜像存储至BT客户端代理的过程。
S44:当为需要执行与训练任务请求对应的训练任务的训练节点时,则将目标容器镜像导入Docker daemon。
具体的,由于第一节点为包括目标容器镜像的节点,而并非全部第一节点都为需要用于本次训练任务的训练节点,所以仅需第一节点中需要执行与训练任务请求对应的训练任务的训练节点将目标容器镜像导入Docker daemon中便可,其中,第二节点全部为训练节点。
相应的,本发明实施例还公开了一种深度学习平台容器镜像获取系统,参见图4所示,应用于主节点,该系统包括:
训练请求接收模块11,用于接收训练任务请求;
镜像存储判断模块12,用于判断是否有已存储与训练任务请求对应的目标容器镜像的第一节点;
第一指令发送模块13,用于若镜像存储判断模块12判定有第一节点,则发送共享指令至的第一节点和第二节点;
容器镜像获取模块14,用于若镜像存储判断模块12判定无第一节点,则从容器镜像库中获取目标容器镜像;
第二指令发送模块15,用于发送共享指令至第二节点;
第一镜像传输模块16,用于以点对点的传输方式传输目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与训练任务请求对应的未存储有目标容器镜像的节点。
可见,本发明实施例仅在全部节点未存储有与训练任务请求对应的目标容器镜像的时候,才由主节点直接从容器镜像库中获取目标容器镜像,尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
具体的,上述第一镜像传输模块16,可以包括镜像切分单元和镜像传输单元;其中,
镜像切分单元,用于切分目标容器镜像,得到目标容器镜像的多个Layer;
镜像传输单元,用于以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点。
具体的,镜像传输单元,可以具体用于通过BT客户端代理直接以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点的BT客户端代理中。
具体的,还可以包括第一镜像导入模块;其中,
第一镜像导入模块,用于将目标容器镜像导入Docker daemon。
相应的,本发明实施例还公开了一种深度学习平台容器镜像共享系统,应用于第一节点,包括:
第二镜像传输模块,用于根据主节点发送的共享指令以点对点的传输方式传输目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与训练任务请求对应的未存储有目标容器镜像的节点;
其中,得到目标容器镜像后的第二节点作为新的第一节点,根据共享指令以点对点的传输方式传输目标容器镜像至第二节点。
可见,本发明实施例尽可能的将目标容器镜像的下载过程转换为利用集群系统内部网络进行节点之间互传的方式提高目标容器镜像的下载过程,同时,节点之间采用点对点的传输方式传输目标容器镜像,进一步的提高节点之间容器镜像的传输速度,且原本未存储目标容器镜像的第二节点得到目标容器镜像后,可以变为第一节点一同进行目标容器镜像的传输,加快目标容器镜像的传输速度,为训练任务能够尽快执行提供了前提,提高了训练效率。
具体的,上述第二镜像传输模块,可以包括:
Layer判断单元,用于判断是否存储有目标容器镜像的Layer;
容器镜像切分单元,用于若Layer判断单元判定未存储有Layer,则切分目标容器镜像,得到目标容器镜像的多个Layer;
容器镜像发送单元,用于若Layer判断单元判定存储有Layer,则根据共享指令以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点。
具体的,容器镜像发送单元,具体用于若Layer判断单元判定存储有Layer,则根据共享指令,通过BT客户端代理直接以点对点的传输方式逐个传输目标容器镜像的Layer至第二节点的BT客户端代理中。
具体的,还可以包括第二镜像导入模块;其中
第二镜像导入模块,用于当为需要执行与训练任务请求对应的训练任务的训练节点时,则将目标容器镜像导入Docker daemon。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种深度学习平台容器镜像获取方法,其特征在于,应用于主节点,包括:
接收训练任务请求;
判断是否有已存储与所述训练任务请求对应的目标容器镜像的第一节点;
若有第一节点,则发送共享指令至的第一节点和第二节点,以使第一节点根据所述共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
若无第一节点,则从容器镜像库中获取所述目标容器镜像;
发送所述共享指令至第二节点;
以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
2.根据权利要求1所述的深度学习平台容器镜像获取方法,其特征在于,所述以点对点的传输方式传输所述目标容器镜像至第二节点的过程,包括:
切分所述目标容器镜像,得到所述目标容器镜像的多个Layer;
以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点。
3.根据权利要求2所述的深度学习平台容器镜像获取方法,其特征在于,所述以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的过程,包括:
通过BT客户端代理直接以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的BT客户端代理中。
4.根据权利要求1至3任一项所述的深度学习平台容器镜像获取方法,其特征在于,还包括:
将所述目标容器镜像导入Docker daemon。
5.一种深度学习平台容器镜像共享方法,其特征在于,应用于第一节点,包括:
根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
6.根据权利要求5所述的深度学习平台容器镜像共享方法,其特征在于,所述根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点的过程,包括:
判断是否存储有所述目标容器镜像的Layer;
若未存储有Layer,则切分所述目标容器镜像,得到所述目标容器镜像的多个Layer;
若存储有Layer,则根据所述共享指令以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点。
7.根据权利要求6所述的深度学习平台容器镜像共享方法,其特征在于,所述根据所述共享指令以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的过程,包括:
根据所述共享指令,通过BT客户端代理直接以点对点的传输方式逐个传输所述目标容器镜像的Layer至第二节点的BT客户端代理中。
8.根据权利要求5至7任一项所述的深度学习平台容器镜像共享方法,其特征在于,还包括:
当为需要执行与所述训练任务请求对应的训练任务的训练节点时,则将所述目标容器镜像导入Docker daemon。
9.一种深度学习平台容器镜像获取系统,其特征在于,应用于主节点,包括:
训练请求接收模块,用于接收训练任务请求;
镜像存储判断模块,用于判断是否有已存储与所述训练任务请求对应的目标容器镜像的第一节点;
第一指令发送模块,用于若所述镜像存储判断模块判定有第一节点,则发送共享指令至的第一节点和第二节点;
容器镜像获取模块,用于若所述镜像存储判断模块判定无第一节点,则从容器镜像库中获取所述目标容器镜像;
第二指令发送模块,用于发送所述共享指令至第二节点;
第一镜像传输模块,用于以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点。
10.一种深度学习平台容器镜像共享系统,其特征在于,应用于第一节点,包括:
第二镜像传输模块,用于根据主节点发送的共享指令以点对点的传输方式传输所述目标容器镜像至第二节点;
其中,第一节点为存储有目标容器镜像的节点,第二节点为与所述训练任务请求对应的未存储有所述目标容器镜像的节点;
其中,得到所述目标容器镜像后的第二节点作为新的第一节点,根据所述共享指令以点对点的传输方式传输所述目标容器镜像至第二节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398110.7A CN111131487B (zh) | 2019-12-30 | 2019-12-30 | 一种深度学习平台容器镜像获取、共享方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911398110.7A CN111131487B (zh) | 2019-12-30 | 2019-12-30 | 一种深度学习平台容器镜像获取、共享方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131487A true CN111131487A (zh) | 2020-05-08 |
CN111131487B CN111131487B (zh) | 2022-08-12 |
Family
ID=70505402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911398110.7A Active CN111131487B (zh) | 2019-12-30 | 2019-12-30 | 一种深度学习平台容器镜像获取、共享方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131487B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746881A (zh) * | 2020-05-29 | 2021-12-03 | 电科云(北京)科技有限公司 | 容器镜像下载方法及系统 |
CN116302335A (zh) * | 2023-02-22 | 2023-06-23 | 阿里云计算有限公司 | 数据处理方法以及装置 |
WO2024022410A1 (zh) * | 2022-07-28 | 2024-02-01 | 阿里云计算有限公司 | 镜像加速系统、方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911777A (zh) * | 2017-02-24 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种数据处理方法及服务器 |
CN107483488A (zh) * | 2017-09-18 | 2017-12-15 | 济南互信软件有限公司 | 一种恶意Http检测方法及系统 |
CN107819802A (zh) * | 2016-09-13 | 2018-03-20 | 华为软件技术有限公司 | 一种在节点集群中的镜像获取方法、节点设备及服务器 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
CN109005232A (zh) * | 2018-08-10 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 容器镜像文件的下载方法、提供方法及设备 |
CN109951551A (zh) * | 2019-03-21 | 2019-06-28 | 联想(北京)有限公司 | 一种容器镜像管理系统及方法 |
CN110099076A (zh) * | 2018-01-29 | 2019-08-06 | 中兴通讯股份有限公司 | 一种镜像拉取的方法及其系统 |
CN110096422A (zh) * | 2019-05-13 | 2019-08-06 | 苏州浪潮智能科技有限公司 | 一种基于容器的服务器计算性能测试方法与装置 |
WO2019184750A1 (zh) * | 2018-03-30 | 2019-10-03 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
-
2019
- 2019-12-30 CN CN201911398110.7A patent/CN111131487B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819802A (zh) * | 2016-09-13 | 2018-03-20 | 华为软件技术有限公司 | 一种在节点集群中的镜像获取方法、节点设备及服务器 |
CN106911777A (zh) * | 2017-02-24 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种数据处理方法及服务器 |
CN108667884A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
CN107483488A (zh) * | 2017-09-18 | 2017-12-15 | 济南互信软件有限公司 | 一种恶意Http检测方法及系统 |
CN110099076A (zh) * | 2018-01-29 | 2019-08-06 | 中兴通讯股份有限公司 | 一种镜像拉取的方法及其系统 |
WO2019184750A1 (zh) * | 2018-03-30 | 2019-10-03 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
CN109005232A (zh) * | 2018-08-10 | 2018-12-14 | 腾讯科技(深圳)有限公司 | 容器镜像文件的下载方法、提供方法及设备 |
CN109951551A (zh) * | 2019-03-21 | 2019-06-28 | 联想(北京)有限公司 | 一种容器镜像管理系统及方法 |
CN110096422A (zh) * | 2019-05-13 | 2019-08-06 | 苏州浪潮智能科技有限公司 | 一种基于容器的服务器计算性能测试方法与装置 |
Non-Patent Citations (2)
Title |
---|
DOKCER: "基于dragonfly p2p技术加速容器镜像分发实践", 《自记小屋》 * |
三墩IT人: "容器云统一文件分发平台生产实践", 《搜狐网》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746881A (zh) * | 2020-05-29 | 2021-12-03 | 电科云(北京)科技有限公司 | 容器镜像下载方法及系统 |
WO2024022410A1 (zh) * | 2022-07-28 | 2024-02-01 | 阿里云计算有限公司 | 镜像加速系统、方法及装置 |
CN116302335A (zh) * | 2023-02-22 | 2023-06-23 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111131487B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131487B (zh) | 一种深度学习平台容器镜像获取、共享方法及系统 | |
US11556366B2 (en) | Container login method, apparatus, and storage medium | |
US20180232174A1 (en) | Data Migration Between Cloud Storage Systems | |
CN107590001A (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
EP3103023B1 (en) | Private cloud connected device cluster architecture | |
US8275856B2 (en) | Mobile bookmarks | |
US20130283267A1 (en) | Virtual machine construction | |
RU2632125C1 (ru) | Способ и система обработки задач в облачном сервисе | |
CN1681248A (zh) | 服务器与客户端间传送用于数据同步的数据的方法与系统 | |
CN102819531A (zh) | 一种云阅读服务系统、云阅读服务方法和装置 | |
CN104410660A (zh) | 多媒体资源的下载方法、装置、路由器及服务器 | |
CN113760453B (zh) | 容器镜像分发系统及容器镜像推送、拉取和删除方法 | |
KR101701110B1 (ko) | 공동 편집 문서를 공유하는 방법 및 장치 | |
CN101600031A (zh) | 作业处理方法、图像处理系统及图像处理装置 | |
CN107003981A (zh) | 与本地配对的设备同步以使用点到点通信从远程服务器获得数据 | |
US20090327303A1 (en) | Intelligent allocation of file server resources | |
CN114296953A (zh) | 一种多云异构系统及任务处理方法 | |
CN102150151B (zh) | web应用程序的异步队列的消息收发 | |
US20130110979A1 (en) | Remote access from mobile devices | |
CN114979144B (zh) | 云边通信方法、装置及电子设备 | |
CN110233791A (zh) | 数据去重方法和装置 | |
CN115766739A (zh) | 一种容器镜像分发方法、装置、系统及其介质 | |
CN114138895A (zh) | 多数据源的数据同步方法、装置、计算机设备和存储介质 | |
CN110611702B (zh) | 区块链的文件快速传输方法、设备、系统及存储介质 | |
CN112714181A (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 |