CN112394944A - 分布式开发方法、装置、存储介质及计算机设备 - Google Patents

分布式开发方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN112394944A
CN112394944A CN201910746048.XA CN201910746048A CN112394944A CN 112394944 A CN112394944 A CN 112394944A CN 201910746048 A CN201910746048 A CN 201910746048A CN 112394944 A CN112394944 A CN 112394944A
Authority
CN
China
Prior art keywords
training
distributed
computing nodes
docker
task
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.)
Pending
Application number
CN201910746048.XA
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910746048.XA priority Critical patent/CN112394944A/zh
Publication of CN112394944A publication Critical patent/CN112394944A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

本发明公开了一种分布式开发方法、装置、存储介质及计算机设备。其中,该方法包括:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。通过本发明,解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。

Description

分布式开发方法、装置、存储介质及计算机设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种分布式开发方法、装置、存储介质及计算机设备。
背景技术
在相关技术的分布式开发(例如,语音识别)中,语言模型和声学模型的训练,对数据量要求非常高,随之带来的问题就是如何提高计算效率。传统的隐马尔可夫模型-高斯混合模型(Hidden Markov Model-Gaussian Mixture Model,简称为HMM-GMM)、隐马尔可夫模型-深度神经网络(Hidden Markov Model-Deep Neural Ne tworks,简称为HMM-DNN)技术需要的训练数据量在一万小时左右就能达到不错的效果。为了达到更高的精度,新的如deep speech需要的数据量在10万小时,传统的单机多卡的训练方式已经无法满足更大量数据的训练需求。
为满足大量数据的训练需求,在相关技术中,公开号为CN104853061B的专利申请提出了一种基于Hadoop的视频处理方法及系统:将待处理视频文件上传至Hadoop分布式文件系统;基于Fuse-DFS子项目,将所述待处理视频文件挂载到所述Hadoop分布式文件系统中各集群节点的本地文件系统上;通过JavaCV调用OpenCV和FFMEPG对挂载于本地文件系统,但存储于所述Hadoop分布式文件系统中的待处理视频文件基于MapReduce并行计算模型进行并行分析。该视频处理方法在Hadoop系统上实现与集群节点数成正比的加速。
但采用该视频处理方法,存在使用场景的限制,需要专门定制集群。主要存在两个问题:一个是企业内部计算机群是公用的,定制集群意味着集群规模受限,无法在训练期间达到很高的算力;第二是,在非训练时段,集群的闲置,会导致计算资源的浪费,从而导致无法充分的利用分布式集群的弹性计算。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种分布式开发方法、装置、存储介质及计算机设备,以至少解决在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
根据本发明实施例的一个方面,提供了一种分布式开发方法,包括:建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;接收进行分布式开发的训练任务;为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;为分配有所述训练任务的计算节点挂载分布式文件系统;通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
根据本发明实施例的另一个方面,提供了一种分布式开发方法,包括:接收进行分布式开发的的训练请求,其中,所述训练请求中携带有进行分布式开发的训练任务;采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的的工具代码和框架;反馈进行分布式开发的训练结果。
根据本发明实施例的一个方面,提供了一种分布式开发装置,包括:建立模块,用于建立Docker,其中,所述Docker中部署有进行进行分布式开发的工具代码和框架;第一接收模块,用于接收进行分布式开发的训练任务;分配模块,用于为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;挂载模块,用于为分配有所述训练任务的计算节点挂载分布式文件系统;第一执行模块,用于通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
根据本发明实施例的另一个方面,提供了一种分布式开发装置,包括:第二接收模块,用于接收进行分布式开发的训练请求,其中,所述训练请求中携带有进行分布式开发的的训练任务;第二执行模块,用于采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;反馈模块,用于反馈进行分布式开发的训练结果。
根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行上述任意一项所述的分布式开发方法。
根据本发明实施例的另一个方面,提供了一种计算机设备,包括:存储器和处理器,所述存储器存储有计算机程序;所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行上述任意一项所述的分布式开发方法。
在本发明实施例中,采用为进行分布式开发的训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,并通过在所述计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行所述训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现分布式开发方法的计算机终端的硬件结构框图;
图2是根据本发明实施例提供的分布式开发方法一的流程图;
图3是根据本发明实施例提供的分布式开发方法二的流程图;
图4是根据本发明优选实施方式提供的分布式的弹性训练方案的流程图;
图5是根据本发明实施例2的分布式开发装置一的结构框图;
图6是根据本发明实施例3的分布式开发装置二的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到个可移植的容器中,然后发布到任何流行的Linux机器上或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Hadoop分布式文件系统,即HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集的应用处理带来了很多便利。
fuse-DFS,是hadoop项目自带的一个功能模块。主要实现把dfs上的数据映射至本地指定mount点。由于现存的软件无法直接使用hdfs上的数据,所以此时可以借助fuse来实现本地文件系统的映射。
mpi,是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。mpi是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。mpi的目标是高性能,大规模性,和可移植性。mpi在今天仍为高性能计算的主要模型。
实施例1
根据本发明实施例,还提供了一种分布式开发方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现分布式开发方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:传输模块、显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的远程认证方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的基于安全计算卡的度量方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述传输模块用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
基于上述运行环境,在本发明实施例中,提供了一种分布式开发方法,图2是根据本发明实施例提供的分布式开发方法一的流程图,如图2所示,该流程包括如下步骤:
步骤S202,建立Docker,其中,Docker中部署有进行分布式开发的工具代码和框架;
作为一种可选的实施例,本实施例的执行主体可以是一种计算机终端,该计算机终端的类型可以是多种,例如,可以是一种移动终端,例如,手机,移动电话,Ipad等。该计算机终端还可以是一种服务器,其中,该服务器可以是本地服务器,也可以是位于某一网络上的远程服务器。
作为一种可选的实施例,本实施例所提供的分布式开发方法可以适用于任何分布式环境下的开发,例如,可以应用于语音识别的训练,可以应用于图像识别的训练,以及其它与人工智能相关的其它训练等。
作为一种可选的实施例,建立Docker可以由某一事件触发,例如,在接收到需要对进行分布式开发的训练任务时,触发建立Docker。也可以是设备出厂或者系统默认建立的,例如,在出厂设备中的默认系统中建立有该Docker,也可以是后续安装预定功能的系统时建立该Docker。
作为一种可选的实施例,建立Docker,Docker中部署有进行进行分布式开发的训练的工具代码和框架。由于进行分布式开发的训练对工具代码和框架的依赖较强,因此,在Docker内部署了所有的用于训练的工具代码和框架。这样,当任务提交后,可以直接进入Docker执行子任务,就不需要重复部署环境。
步骤S204,接收进行分布式开发的训练任务;
作为一种可选的实施例,接收进行分布式开发的训练任务的方式可以有多种,例如,可以由本发明实施例的执行主体直接接收该训练任务,也可以由其它实体通过转发到执行主体的方式。例如,接收训练任务可以采用以下方式:通过网关接收训练任务。
步骤S206,为训练任务分配计算资源,其中,该计算资源包括集群中的计算节点;
作为一种可选的实施例,为训练任务分配计算资源时,也可以采用多种方式,例如,当计算资源为集群中的计算节点时,并且通过网关来分配计算资源时,为训练任务分配计算资源可以采用以下方式:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。通过网关的方式为训练任务分配计算资源,以及计算资源包括集群中的计算节点均属于一种举例,为训练任务分配计算资源还可以采用其它方式,在此不进行一一列举。
步骤S208,为分配有训练任务的计算节点挂载分布式文件系统;
作为一种可选的实施例,为分配有训练任务的计算节点挂载分布式文件系统也可以采用多种方式,例如,可以采用以下方式为分配有训练任务的计算节点挂载分布式文件系统:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。这样每个计算节点共享了同一块分布式文件系统抽象出来的硬盘,这样就将分布式文件系统的计算集群组成了类似单机多卡的环境。
步骤S210,通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
作为一种可选的实施例,在分配有训练任务的计算节点加载Docker,由于Docker部署有所有进行分布式开发的训练的工具代码和框架,因此,在训练时加入了具体的分布式开发的训练环境(例如,对于语音识别的语音的训练环境),进入Docker后就可以直接执行提交的训练任务。
作为一种可选的实施例,在分配有训练任务的计算节点加载建立的Docker的方式,依据不同的训练任务,可以针对不同的方式,例如,可以包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。不同的训练任务对应采用不同的加载Docker的方式,使得上述训练方式可以适用于所有类型的训练任务。
作为一种可选的实施例,在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。因此,在训练任务执行完成时,释放出对应的计算资源,随着任务结束,计算资源会得到释放,可以被其他计算任务复用,同时不会污染计算环境,使得集群中的计算资源能够得到充分弹性地应用。
在本发明实施例中,采用为语音识别的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行语音识别的训练的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
在本发明实施例中,提供了一种分布式开发方法,图3是根据本发明实施例提供的分布式开发方法二的流程图,如图3所示,该流程包括如下步骤:
步骤S302,接收进行分布式开发的训练请求,其中,训练请求中携带有进行分布式开发的训练任务;
作为一种可选的实施例,接收进行分布式开发的训练请求的执行主体可以是用于执行分布式开发的任何设备,例如,可以是一种计算机终端,该计算机终端的类型可以是多种,例如,可以是一种移动终端,例如,手机,移动电话,Ipad等。该计算机终端还可以是一种服务器,其中,该服务器可以是本地服务器,也可以是位于某一网络上的远程服务器。
作为一种可选的实施例,本实施例所提供的分布式开发方法可以适用于任何分布式环境下的开发,例如,可以应用于语音识别的训练,可以应用于图像识别的训练,以及其它与人工智能相关的其它训练等。
作为一种可选的实施例,接收进行分布式开发的训练请求可以是通过预定的用户界面接收来自用户的训练请求,即通过用户接口直接接收来自用户的训练需求,使得进行分布式开发的训练可以适用于多种个性的用户需求。
作为一种可选的实施例,接收进行分布式开发的训练请求也可以通过多种方式,例如,可以通过网络中的硬件实体接收的方式来实现,例如,可以通过网关接收语音识别的训练请求。需要说明的是,通过该网关来接收进行分布式开发的训练请求仅是一种举例,并不限定于此。
步骤S304,采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;
作为一种可选的实施例,在采用的训练方式中,为训练任务分配集群中的计算节点也可以采用多种方式,例如,为训练任务分配集群中的计算节点可以采用以下方式:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点。
作为一种可选的实施例,在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。使得执行完训练任务的计算资源可以用于其它任务的计算,实现了集群中的计算资源能够灵活地,充分地弹性应用。
步骤S306,反馈进行分布式开发的训练结果。
作为一种可选的实施例,响应上述训练请求,反馈进行分布式开发的训练结果。反馈进行分布式开发的训练结果可以依据训练结果的表现形式,采用不同的展示方式。例如,可以采用屏幕显示的方式展示,可以采用语音播报的方式展示,还可以采用屏幕显示和语音播报的方式同时展示。
作为一种可选的实施例,应用上述进行分布式开发的训练任务也可以是多种类型的,例如,该训练任务可以包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
基于上述实施例及优选实施例,提供了一种优选的实施方式。
在本优选实施方式中,以语音识别的训练任务为例进行举例说明。语音识别的训练有如下特点,一个是数据量大,对计算要求高,另一个就是对工具代码和框架依赖强,比如,隐马尔可夫模型工具包(Hidden Markov Model Toolkit,简称为HTK)、KALDI、tensorflow等。由于工具代码和框架比较重,所以在训练开始阶段,需要对环境进行配置,编译部署工具代码和框架,然后才可以开始做训练工作。但是,如果要使用分布式计算集群,由于分布式计算集群是通用计算集群,所以在没有环境以来的情况下,无法做订制的训练,这里最直接的做法就如上述所介绍的,将分布式集群的所有节点都部署和开发环境一样的代码工具和框架,这样当任务提交的时候,不论提交在任何节点,都可以运行任务。但这种定制集群的方法限制了可以试用的整个集群的规模,同时也会造成计算资源的浪费,最关键的一点,搭建和维护成本过高。基于上述问题,在本发明的优选实施方式中,提供了一种分布式的弹性训练方案,用于语音识别的训练,以满足算法日益增长的计算量需求。
本优选实施方式所提供的分布式的弹性训练方案是一种更轻量级的解决方案,图4是根据本发明优选实施方式提供的分布式的弹性训练方案的流程图,如图4所示,该流程包括如下步骤:
第(0)步,开发功能模块,使用fuse-DFS对分布式文件系统进行抽象,可以使挂载抽象出来的分布式文件系统的机器,像操作本地磁盘一样操作分布式文件系统,这个开发功能模块在提交任务后使用。
第(1)步,建立一个Docker,并在Docker内部署了所有的用于训练的工具代码和框架。这样,当任务提交后,可以直接进入Docker执行子任务,就不需要重复部署环境。
第(2)步,将需要做的训练任务提交到网关(Gateway),网关发起任务,向分布式文件系统申请计算资源。
第(3)步,当计算资源(多个计算节点)分配给提交的任务时,每个节点就都可以执行训练任务了,在执行训练任务之前,先执行轻量级改造逻辑。
第(4)步,挂载文件系统,挂载使用fuse-DFS抽象的分布式文件系统,这样每个计算节点共享了同一块分布式文件系统抽象出来的硬盘,这样就将分布式文件系统的计算集群组成了类似单机多卡的环境。
第(5)步,把Docker拉起来,这样语音的训练环境也有了,最后进入Docker,执行提交的训练任务。
第(6)步,结束后返回结果,完成一轮任务训练。
在上述优选实施方式中,提供了一套完整的语音弹性训练方案,其中的分布式集群既可以hadoop的map/reduce,也可以mpi,该方案实现了低成本的改造计算集群来适应训练,不仅不会污染集群,而且通用性好。
在上述优选实施方式中,随着任务结束,计算资源会得到释放,可以被其他计算任务复用,同时不会污染计算环境。
另外,针对不同类型的任务,对于不需要计算节点间有通信的任务,可以采用map/reduce的方式拉起;对于需要有通信的任务,采用mpi的方式拉起,这样可以满足所有类型的任务训练。
通过上述优选实施方式,采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
在本发明实施例中,还提供了一种分布式开发装置,图5是根据本发明实施例2的分布式开发装置一的结构框图,如图5所示,该装置包括:建立模块50,第一接收模块52,分配模块54,挂载模块56和第一执行模块58,下面对该装置进行说明。
建立模块50,用于建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;第一接收模块52,连接至上述建立模块50,用于接收进行分布式开发的训练任务;分配模块54,连接至上述第一接收模块52,用于为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;挂载模块56,连接至上述分配模块54,用于为分配有训练任务的计算节点挂载分布式文件系统;第一执行模块58,连接至上述挂载模块56,用于通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
通过上述分布式开发装置,采用为进行分布式开发的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的进行分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
此处需要说明的是,该分布式开发装置一对应于上述实施例1中图2所包括的步骤S202至步骤S210。上述分布式开发装置一与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
在本发明实施例中,还提供了一种分布式开发装置,图6是根据本发明实施例3的分布式开发装置二的结构框图,如图6所示,该装置包括:第二接收模块62,第二执行模块64和反馈模块66,下面对该装置进行说明。
第二接收模块62,用于接收进行分布式开发的训练请求,其中,训练请求中携带有用于进行分布式开发的训练任务;第二执行模块64,连接至上述第二接收模块62,用于采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈模块66,连接至上述第二执行模块64,用于反馈进行分布式开发的训练结果。
此处需要说明的是,该分布式开发装置二对应于上述实施例1中图3所包括的步骤S302至步骤S306。上述分布式开发装置二与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例4
本发明的实施例可以提供一种计算机终端(或称计算机设备),该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,该计算机设备可以包括:存储器和处理器,存储器存储有计算机程序;处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行上述任意一项的方法。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的基于安全计算卡的度量方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的基于安全计算卡的度量方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
可选地,上述处理器还可以执行如下步骤的程序代码:接收进行分布式开发的训练任务包括:通过网关接收训练任务;为训练任务分配计算资源包括:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。
可选地,上述处理器还可以执行如下步骤的程序代码:为分配有训练任务的计算节点挂载分布式文件系统包括:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。
可选地,上述处理器还可以执行如下步骤的程序代码:在分配有训练任务的计算节点加载建立的Docker的方式包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
可选地,上述处理器还可以执行如下步骤的程序代码:在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。
可选地,上述处理器还可以执行如下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收进行分布式开发的训练请求,其中,训练请求中携带有用于进行分布式开发的训练任务;采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈进行分布式开发的训练结果。
可选地,上述处理器还可以执行如下步骤的程序代码:接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;为训练任务分配集群中的计算节点包括:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点;在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。
可选地,上述处理器还可以执行如下步骤的程序代码:训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
可选地,上述处理器还可以执行如下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
在本发明实施例中,采用为进行分布式开发的训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,并通过在计算节点上加载预先建立的部署有进行分布式开发的工具代码和框架的Docker的方式,分别执行训练任务。采用在计算节点上加载Docker,因而不需要重复部署训练环境,维护成本低;而且为分配的计算节点挂载分布式文件系统进行训练,实现多个计算节点共享一块分布式文件系统的硬盘,实现了能够依据训练需求灵活申请集群的计算资源的目的,达到了通过低成本的对分布式集群进行改造,从而实现大规模的分布式开发的效果,进而解决了在相关技术中,采用定制集群的方式进行分布式开发的训练时,存在集群规模受限,维护成本大,以及浪费集群计算资源的技术问题。
本领域普通技术人员可以理解,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。本发明实施例并不对上述电子装置的结构造成限定。例如,上述计算机设备还可包括更多或者更少的组件(如网络接口、显示装置等),或者具有不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的任意分布式开发方法所对应的程序代码,在程序代码被处理器运行时控制处理器执行上述任意一项的分布式开发方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:建立Docker,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;接收进行分布式开发的训练任务;为训练任务分配计算资源,其中,计算资源包括集群中的计算节点;为分配有训练任务的计算节点挂载分布式文件系统;通过在分配有训练任务的计算节点加载Docker的方式,分别执行分配给计算节点的训练任务。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练任务包括:通过网关接收训练任务;为训练任务分配计算资源包括:通过网关向集群申请计算资源,并将申请的计算资源分配给训练任务。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:为分配有训练任务的计算节点挂载分布式文件系统包括:使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;为分配有训练任务的计算节点挂载抽象的分布式文件系统。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在分配有训练任务的计算节点加载建立的Docker的方式包括以下之一:在分配有训练任务的计算节点存在多个,并且训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;在分配有训练任务的计算节点存在多个,并且训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:在通过在分配有训练任务的计算节点加载建立的Docker的方式,分别执行分配给计算节点的训练任务之后,还包括:释放为训练任务分配的计算资源。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练请求,其中,训练请求中携带有进行分布式开发的训练任务;采用以下训练方式,执行训练任务,得到训练结果,其中,训练方式包括:为训练任务分配集群中的计算节点,在计算节点挂载分布式文件系统,通过在计算节点上加载预先建立的Docker的方式,分别执行训练任务,得到训练结果,其中,Docker中部署有进行分布式开发的训练的工具代码和框架;反馈进行分布式开发的训练结果。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;为训练任务分配集群中的计算节点包括:通过网关向集群申请计算资源的方式,为训练任务分配集群中的计算节点;在对执行训练任务,得到训练结果之后,还包括:释放此轮为训练任务申请的计算资源。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:进行分布式开发的训练任务包括:用于语音识别的训练任务。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种分布式开发方法,其特征在于,包括:
建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
接收进行分布式开发的训练任务;
为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;
为分配有所述训练任务的计算节点挂载分布式文件系统;
通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
2.根据权利要求1所述的方法,其特征在于:
接收进行分布式开发的所述训练任务包括:通过网关接收所述训练任务;
为所述训练任务分配计算资源包括:通过所述网关向集群申请计算资源,并将申请的计算资源分配给所述训练任务。
3.根据权利要求1所述的方法,其特征在于,包括:为分配有所述训练任务的计算节点挂载分布式文件系统包括:
使用fuse-DFS对分布式文件系统进行抽象,得到抽象的分布式文件系统;
为分配有所述训练任务的计算节点挂载抽象的分布式文件系统。
4.根据权利要求1所述的方法,其特征在于,在分配有所述训练任务的计算节点加载建立的Docker的方式包括以下之一:
在分配有所述训练任务的计算节点存在多个,并且所述训练任务之间不需要通信的情况下,采用map/reduce的方式加载建立的Docker;
在分配有所述训练任务的计算节点存在多个,并且所述训练任务之间需要通信的情况下,采用mpi的方式加载建立的Docker。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在通过在分配有所述训练任务的计算节点加载建立的Docker的方式,分别执行分配给所述计算节点的训练任务之后,还包括:
释放为所述训练任务分配的计算资源。
6.根据权利要求5所述的方法,其特征在于,进行分布式开发的训练任务包括:用于语音识别的训练任务。
7.一种分布式开发方法,其特征在于,包括:
接收进行分布式开发的训练请求,其中,所述训练请求中携带有用于进行分布式开发的训练任务;
采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
反馈进行分布式开发的训练结果。
8.根据权利要求7所述的方法,其特征在于,
接收进行分布式开发的训练请求包括:通过网关接收进行分布式开发的训练请求;
为所述训练任务分配集群中的计算节点包括:通过所述网关向集群申请计算资源的方式,为所述训练任务分配集群中的计算节点;
在对执行所述训练任务,得到训练结果之后,还包括:释放此轮为所述训练任务申请的计算资源。
9.根据权利要求7至8中任一项所述的方法,其特征在于,所述训练任务包括:需要在多个计算节点间通信的训练任务和不需要在多个计算节点间通信的训练任务,其中,针对需要在多个计算节点间通信的训练任务,采用mpi的方式加载预先建立的Docker;针对不需要在多个计算节点间通信的训练任务,采用map/reduce的方式加载预先建立的Docker。
10.根据权利要求9所述的方法,其特征在于,进行分布式开发的训练任务包括:用于语音识别的训练任务。
11.一种分布式开发装置,其特征在于,包括:
建立模块,用于建立Docker,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
第一接收模块,用于接收进行分布式开发的训练任务;
分配模块,用于为所述训练任务分配计算资源,其中,所述计算资源包括集群中的计算节点;
挂载模块,用于为分配有所述训练任务的计算节点挂载分布式文件系统;
第一执行模块,用于通过在分配有所述训练任务的计算节点加载所述Docker的方式,分别执行分配给所述计算节点的训练任务。
12.一种分布式开发装置,其特征在于,包括:
第二接收模块,用于接收进行分布式开发的训练请求,其中,所述训练请求中携带有用于进行分布式开发的训练任务;
第二执行模块,用于采用以下训练方式,执行所述训练任务,得到训练结果,其中,所述训练方式包括:为所述训练任务分配集群中的计算节点,在所述计算节点挂载分布式文件系统,通过在所述计算节点上加载预先建立的Docker的方式,分别执行所述训练任务,得到训练结果,其中,所述Docker中部署有进行分布式开发的工具代码和框架;
反馈模块,用于反馈进行分布式开发的训练结果。
13.一种存储介质,其特征在于,所述存储介质存储有程序,其中,在所述程序被处理器运行时控制所述处理器执行权利要求1至10中任意一项所述的分布式开发方法。
14.一种计算机设备,其特征在于,包括:存储器和处理器,
所述存储器存储有计算机程序;
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行权利要求1至10中任意一项所述的分布式开发方法。
CN201910746048.XA 2019-08-13 2019-08-13 分布式开发方法、装置、存储介质及计算机设备 Pending CN112394944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910746048.XA CN112394944A (zh) 2019-08-13 2019-08-13 分布式开发方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910746048.XA CN112394944A (zh) 2019-08-13 2019-08-13 分布式开发方法、装置、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN112394944A true CN112394944A (zh) 2021-02-23

Family

ID=74602646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910746048.XA Pending CN112394944A (zh) 2019-08-13 2019-08-13 分布式开发方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN112394944A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104853061A (zh) * 2015-05-05 2015-08-19 中国人民解放军国防科学技术大学 一种基于Hadoop的视频处理方法及系统
CN105824810A (zh) * 2015-01-04 2016-08-03 中国移动通信集团河北有限公司 一种Hadoop集群系统及数据处理方法
CN106936911A (zh) * 2017-03-13 2017-07-07 广州五舟科技股份有限公司 轻量级分布式计算平台及其计算资源管控方法
CN107450961A (zh) * 2017-09-22 2017-12-08 济南浚达信息技术有限公司 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法
CN107733977A (zh) * 2017-08-31 2018-02-23 北京百度网讯科技有限公司 一种基于Docker的集群管理方法及装置
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
US20180336023A1 (en) * 2017-05-16 2018-11-22 Bank Of America Corporation Distributed storage framework information server platform architecture
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN109062700A (zh) * 2018-08-21 2018-12-21 郑州云海信息技术有限公司 一种基于分布式系统的资源管理方法及服务器
CN109688222A (zh) * 2018-12-26 2019-04-26 深圳市网心科技有限公司 共享计算资源的调度方法、共享计算系统、服务器及存储介质
US20190180006A1 (en) * 2017-12-07 2019-06-13 International Business Machines Corporation Facilitating build and deploy runtime memory encrypted cloud applications and containers
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824810A (zh) * 2015-01-04 2016-08-03 中国移动通信集团河北有限公司 一种Hadoop集群系统及数据处理方法
CN104853061A (zh) * 2015-05-05 2015-08-19 中国人民解放军国防科学技术大学 一种基于Hadoop的视频处理方法及系统
CN106936911A (zh) * 2017-03-13 2017-07-07 广州五舟科技股份有限公司 轻量级分布式计算平台及其计算资源管控方法
US20180336023A1 (en) * 2017-05-16 2018-11-22 Bank Of America Corporation Distributed storage framework information server platform architecture
CN107733977A (zh) * 2017-08-31 2018-02-23 北京百度网讯科技有限公司 一种基于Docker的集群管理方法及装置
CN107450961A (zh) * 2017-09-22 2017-12-08 济南浚达信息技术有限公司 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法
US20190180006A1 (en) * 2017-12-07 2019-06-13 International Business Machines Corporation Facilitating build and deploy runtime memory encrypted cloud applications and containers
CN108170820A (zh) * 2018-01-02 2018-06-15 联想(北京)有限公司 一种容器处理方法、控制服务器及分布式集群
CN108958892A (zh) * 2018-08-14 2018-12-07 郑州云海信息技术有限公司 一种创建用于深度学习作业的容器的方法和装置
CN109062700A (zh) * 2018-08-21 2018-12-21 郑州云海信息技术有限公司 一种基于分布式系统的资源管理方法及服务器
CN109688222A (zh) * 2018-12-26 2019-04-26 深圳市网心科技有限公司 共享计算资源的调度方法、共享计算系统、服务器及存储介质
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
余昌发;程学林;杨小虎;: "基于Kubernetes的分布式TensorFlow平台的设计与实现", 计算机科学, no. 2, 15 November 2018 (2018-11-15) *
朱天放;梁明;王家乐;杨志浩;李亚敏;: "基于容器云的深度学习平台设计与实现", 电子设计工程, no. 09, 5 May 2019 (2019-05-05) *
陈平;黄浩然;: "基于Docker的分布式集群环境的快速搭建研究", 电脑知识与技术, no. 11, 15 April 2018 (2018-04-15) *

Similar Documents

Publication Publication Date Title
CN106548262B (zh) 用于处理任务的资源的调度方法、装置和系统
CN104303175B (zh) 云计算服务框架
US20140245319A1 (en) Method for enabling an application to run on a cloud computing system
CN109684054A (zh) 信息处理方法及装置、电子设备及存储器
CN107689882A (zh) 一种虚拟化网络中业务部署的方法和装置
CN111527474B (zh) 软件功能的动态交付
CN104428752A (zh) 将虚拟机流卸载至物理队列
CN105144109A (zh) 分布式数据中心技术
US20140096136A1 (en) Creating a Virtual Machine and Cloud Server
CN109120444B (zh) 云资源管理方法、处理器以及存储介质
CN112035121B (zh) 一种边缘应用部署方法及系统
CN115280325A (zh) 联邦学习中的参数共享
US20140244791A1 (en) Method for intercepting an instruction produced by an application on a computer
CN113553140B (zh) 资源调度方法、设备及系统
CN113033814A (zh) 训练机器学习模型的方法、装置以及存储介质
CN110120970A (zh) 基于车联网的数据处理方法、装置及网关系统
CN114244717A (zh) 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN112445575A (zh) 多集群资源调度方法、装置及系统
CN111130820B (zh) 集群管理方法、装置及计算机系统
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN110532060A (zh) 一种混合网络环境数据采集方法及系统
Lee et al. Multiaccess edge computing-based simulation as a service for 5G mobile applications: a case study of tollgate selection for autonomous vehicles
CN114327846A (zh) 集群的扩容方法、装置、电子设备及计算机可读存储介质
CN112445602A (zh) 资源调度方法、装置、系统及电子设备
CN112394944A (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