CN110688230B - 一种同步训练方法、装置、计算机设备和存储介质 - Google Patents

一种同步训练方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110688230B
CN110688230B CN201910989412.5A CN201910989412A CN110688230B CN 110688230 B CN110688230 B CN 110688230B CN 201910989412 A CN201910989412 A CN 201910989412A CN 110688230 B CN110688230 B CN 110688230B
Authority
CN
China
Prior art keywords
container
training
working
master
work
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
CN201910989412.5A
Other languages
English (en)
Other versions
CN110688230A (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.)
Guangzhou Weride Technology Co Ltd
Original Assignee
Guangzhou Weride Technology Co 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 Guangzhou Weride Technology Co Ltd filed Critical Guangzhou Weride Technology Co Ltd
Priority to CN201910989412.5A priority Critical patent/CN110688230B/zh
Publication of CN110688230A publication Critical patent/CN110688230A/zh
Application granted granted Critical
Publication of CN110688230B publication Critical patent/CN110688230B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明实施例公开了一种同步训练方法、装置、计算机设备和存储介质。该方法包括:确定训练任务,所述训练任务用于训练指定的数据模型;在容器集群中为所述训练任务调配图形处理器,以形成资源调度表;根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型。一方面,可实现同步分布式训练,从而保证训练的数据模型收敛,提高精确度,另一方面,在训练时启动主控容器与工作容器,无需提前启动工作容器、预留工作容器,减少对图形处理器的占用,提高图形处理器的利用效率。

Description

一种同步训练方法、装置、计算机设备和存储介质
技术领域
本发明实施例涉及大数据处理的技术,尤其涉及一种同步训练方法、装置、计算机设备和存储介质。
背景技术
目前,机器学习与深度学习在计算机视觉、自然语言处理、文本理解等众多领域都具有广泛的应用。
机器学习与深度学习通常使用GPU(Graphics Processing Unit,图形处理器)训练数据模型,但是,一台机器的图形处理器GPU数量有限,随着数据量的增加和数据模型复杂度的提高,单台机器的训练效率不能满足训练数据模型的需求,为了提高训练的效率,目前大多采用在容器集群中进行分布式训练的方案。
在分布式训练的方案中,异步分布式训练较为成熟,容器集群中的各个节点均分配有数据进行计算,各个节点在完成一个批量数据的计算之后,不等待其它节点计算的结果,直接使用其计算的结果去更新数据模型。
由于不等待其它节点的计算结果,单个节点的计算结果并不一定是最优,导致训练的数据模型并不一定收敛,精确度较低。
发明内容
本发明实施例提供一种同步训练方法、装置、计算机设备和存储介质,以解决在容器集群中使用异步分布式训练的数据模型并不一定收敛,精确度较低的问题。
第一方面,本发明实施例提供了一种同步训练方法,包括:
确定训练任务,所述训练任务用于训练指定的数据模型;
在容器集群中为所述训练任务调配图形处理器;
在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;
所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型。
第二方面,本发明实施例还提供了一种同步训练装置,包括训练任务确定模块、图形处理器调配模块和容器集群:
所述训练任务确定模块,用于确定训练任务,所述训练任务用于训练指定的数据模型;
所述图形处理器调配模块,用于在容器集群中为所述训练任务调配图形处理器;
所述容器集群包括:
容器创建模块,用于在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;
所述主控容器与协调所述工作容器,用于共同使用所述图形处理器同步训练所述数据模型。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的同步训练方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的同步训练方法。
在本实施例中,确定训练任务,训练任务用于训练指定的数据模型,在容器集群中为训练任务调配图形处理器以形成资源调度表,根据资源调度表在容器集群中创建满足相互通信与保持同步的主控容器和工作容器,主控容器与工作容器共同使用图形处理器同步训练数据模型,由于主控容器与工作容器可相互通信且保持同步,一方面,可实现同步分布式训练,从而保证训练的数据模型收敛,提高精确度,另一方面,在训练时启动主控容器与工作容器,无需提前启动工作容器、预留工作容器,减少对图形处理器的占用,提高图形处理器的利用效率,并且,同步分布式训练作为训练的步骤,可以应用至工作流中,从而保证预处理、推断等其他步骤可正常执行。
附图说明
图1为本发明实施例一提供的一种同步训练方法的流程图;
图2是本发明实施例二提供的一种同步训练方法的流程图;
图3为本发明实施例二提供的一种工作流的示例图;
图4是本发明实施例二提供的一种容器的工作流程图;
图5是本发明实施例二提供的一种服务绑定容器的示意图;
图6是本发明实施例二提供的一种容器的配置示意图;
图7为本发明实施例三提供的一种同步训练装置的结构示意图;
图8为本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种同步训练方法的流程图,本实施例可适用于在容器集群中同步分布式训练数据模型的情况,该方法可以由同步训练装置执行,该容器集群可以由软件和/或硬件实现,可以包括工作流服务器、GPU资源调度服务器、容器集群等,其中,容器集群通常是由若干个主节点和工作节点组成的一个集群,可以整合宿主机资源,完成网络、存储器(如磁盘、固态硬盘等)、CPU(Central Processing Unit/Processor,中央处理器)、内存等资源管理。目前,容器通常被建立在轻便且拥有良好延展性的容器集群中(如Kubernetes、Docker等),该方法具体包括如下步骤:
S101、确定训练任务。
在本实施例中,用户可以根据实际的需求情况,例如,在图像领域中的目标(如人脸、垃圾、字符、车牌、红绿灯等)检测,在医疗领域中的疾病识别,在金融领域中的预测分析(如销售、产品之间的财务分配,产能利用率),等等,生成训练任务,该训练任务用于训练指定的数据模型。
数据模型可应用机器学习,如SVM(Support Vector Machine,支持向量机)、随机森林、决策树(Decision Trees)、逻辑回归(Logistic Regression)等,也可以应用深度学习,如DNN(Deep Neural Networks,深度神经网络)、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)等,本实施例对此不加以限制。
以深度学习为例,若需求识别手写体数字字符,则可以选择CNN中的LeNet-5作为数据模型,若需求人脸检测和对齐,则可以选择CNN中的MTCNN(Multi-task convolutionalneural networks,多任务卷积神经网络)作为数据模型,若需求自然语言处理,如机器翻译、语音识别、情感分析等,则可以选择RNN中的LSTM(Long Short-Term Memory,长短期记忆网络)作为数据模型。
当然,除了现有的网络结构之外,用户还可以根据实际情况对现有的网络结构进行自适应调整,从而生成新的网络结构作为数据模型,或者自定义网络结构,等等,本实施例对此不加以限制。
在一种情况中,
S102、在容器集群中为所述训练任务调配图形处理器,以形成资源调度表。
当确定训练任务之后,可使用GPU资源调度算法在容器集群中为训练任务调配图形处理器GPU,使得在容器集群中可使用该图形处理器GPU同步分布式该训练数据模型。
其中,分布式训练的时候,会请求一定数量的图形处理器GPU,GPU资源调度算法可用于将请求的图形处理器GPU分发到容器集群的节点上,使得容器集群中节点能够使用零个或多个图形处理器GPU来支持分布式训练。
S103、在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器。
普通的工作流只能支持异步的分布式训练,因为它们的训练容器节点之间无法相互通信,不支持同步。
在本实施例中,通过调用容器集群的接口,创建主控容器Master、工作容器Worker,创建一个或多个容器资源配置,这些容器资源配置的作用是让主控容器Master、工作容器Worker能够进行相互通信和保持同步,并且对主控容器Master、工作容器Worker能进行配置,以支持同步分布式训练。
需要说明的是,相互通信,是指主控容器Master与工作容器Worker之间可以进行通信,以及,工作容器Worker与工作容器Worker之间可以进行通信。
S104、所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型。
在容器集群中,利用容器资源配置,主控容器Master可协调工作容器Worker执行训练的步骤,使用分配的图形处理器GPU进行同步分布式训练,从而训练指定的数据模型。
在同步分布式训练中,主控容器Master或工作容器Worker在完成一个批量数据的计算之后,需要等待所有主控容器Master、工作容器Worker都计算完毕,联合所有主控容器Master、工作容器Worker计算得到的结果更新数据模型,在计算结果最优的情况下,数据模型收敛比较平稳。
以卷积神经网络CNN为例,卷积神经网络CNN通常包含数目众多的下采样层、卷积层、激活层、池化层、全连接层等等,卷积神经网络CNN的训练过程分为两个阶段。第一个阶段是数据由低层次向高层次传播的阶段,即前向传播阶段。另外一个阶段是当前向传播得出的结果与预期不相符时,将误差从高层次向底层次进行传播训练的阶段,即反向传播阶段。训练过程为:
1、卷积神经网络CNN进行权值的初始化;
2、输入数据经过卷积层、下采样层、全连接层的向前传播得到输出值;
3、求出卷积神经网络CNN的输出值与目标值之间的误差;
4、当误差大于期望值时,将误差传回卷积神经网络CNN中,依次求得全连接层、下采样层、卷积层的误差。各层的误差可以理解为对于卷积神经网络CNN的总误差,网络应承担多少;当误差等于或小于期望值时,结束训练。
5、根据求得误差进行权值更新,然后在进入到第2个步骤。
在一种情况中,当前存在容器集群中的同步分布式训练的工作流时,一般提交工作流后,工作服务器器会同时启动一个主控容器Master,还有多个工作容器Worker,主控容器Master将会执行工作流的全部步骤,工作容器Worker只会参与到模型训练中。
当工作流执行至训练这一步骤时,会使用到预先启动的工作容器Worker,和主控容器Master一起参与训练。
在此种情况中,每次启动同步分布式训练工作流都会预留工作容器Worker,这些工作容器Worker只有在执行训练这一步骤时才会使用到,在其他步骤是处于空闲状态,这样会导致昂贵的图形处理器GPU无法被有效利用。
在另一种情况中,利用Helm(一个用于kubernetes的包管理器)去创建容器,从而进行分布式训练。
但是,在此种情况中,只定义了模型训练,不是一个工作流,无法完成预处理、推断等操作。
在本实施例中,确定训练任务,训练任务用于训练指定的数据模型,在容器集群中为训练任务调配图形处理器以形成资源调度表,根据资源调度表在容器集群中创建满足相互通信与保持同步的主控容器和工作容器,主控容器与工作容器共同使用图形处理器同步训练数据模型,由于主控容器与工作容器可相互通信且保持同步,一方面,可实现同步分布式训练,从而保证训练的数据模型收敛,提高精确度,另一方面,在训练时启动主控容器与工作容器,无需提前启动工作容器、预留工作容器,减少对图形处理器的占用,提高图形处理器的利用效率,并且,同步分布式训练作为训练的步骤,可以应用至工作流中,从而保证预处理、推断等其他步骤可正常执行。
实施例二
图2为本发明实施例二提供的一种同步训练方法的流程图,本实施例以前述实施例为基础,进一步细化了确定训练任务、分配图形处理器GPU、创建容器、训练数据模型的处理操作,该方法具体包括如下步骤:
S201、接收工作流的配置文件。
S202、按照所述配置文件运行工作流。
S203、当所述工作流运行至训练任务时,拦截所述训练任务。
若应用工作流服务器,用户可定义一个可以被工作流服务器识别的配置文件,并将配置文件提交到工作流服务器。
其中,配置文件里面包含着工作流中每个步骤的信息。
如图3所示,对于分布式的工作流,一般主要包括预处理、训练、推断和评估(包含评分)等几个步骤。其中,数据模型的训练步骤是分布式的。
在一个示例中,配置文件的部分信息如下:
Figure BDA0002237762600000091
其中,该配置文件的部分信息记录训练TF-CNN(迁移学习卷积神经网络),训练TF-CNN至少包含两个步骤(steps),其中一个步骤对信息(message)进行预处理(preprocess),另一个步骤进行训练(train)。
工作流服务器接收工作流的配置文件,以及,按照配置文件运行工作流。
当工作流运行至训练任务(即训练的步骤)时,拦截训练任务(即训练的步骤)。
在本实施例中,封装了工作流的指令,用户运行一条简单的命令,即可运行一个同步分布式训练的工作流,不需要去编写冗杂的配置文件,大大提高了用户的工作效率。
当然,上述确定训练任务的方式只是作为示例,在实施本实施例时,可以根据实际情况设置其他确定训练任务的方式,本实施例对此不加以限制。另外,除了上述确定训练任务的方式外,本领域技术人员还可以根据实际需要采用其它确定训练任务的方式,本实施例对此也不加以限制。S204、确定所述训练任务请求的图形处理器的目标数量。
S205、确定容器集群中各节点未分配的图形处理器。
S206、将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量。
工作流服务器可以将训练任务请求的图形处理器GPU的目标数量,发送至资源调度服务器,资源调度服务器向容器集群请求各个节点的图形处理器GPU的资源情况,并将节点中未分配的图形处理器GPU分配至训练任务,生成资源调度表,将生成资源调度表返回工作流服务器。
当然,除了使用工作流服务器、GPU资源调度服务器之外,也可以在一个提供控制、调度服务的设备直接为训练任务调配图形处理器GPU,等等,本实施例对此不加以限制。
在一种GPU资源调度算法的实施方式中,可确定分配因素,该分配因素包括参与分配图形处理的节点的数量,和/或,节点中剩余未分配的图形处理器的数量。
在该分配因素的约束下,将节点中未分配的图形处理器GPU分配至训练任务,直至到达目标数量,从而保证参与调度的节点的数量最少,在满足这个需求下,每个节点剩余未分配的图形处理器的数量是较少的。
在本实施例中,通过参与分配图形处理的节点的数量,和/或,节点中剩余未分配的图形处理器的数量对图形处理器GPU进行动态调度,不但能使同一个训练任务的主控容器Master、工作容器Worker被分配到尽量少的节点上,减少多节点之间通信带来的损失,提高训练的效率,还能够有效减少图形处理器GPU资源碎片。
例如,节点的图形处理器GPU资源情况如下表所示:
Figure BDA0002237762600000111
假设容器集群中有五个节点,节点1有6块未分配的图形处理器GPU,节点2和节点3均有4块未分配的图形处理器GPU,节点4有2块未分配的图形处理器GPU,节点5有8块未分配的图形处理器GPU,若训练任务请求16块图形处理器GPU,那么将会使用节点1、节点4和节点5中所有未分配的图形处理器GPU来执行训练任务。
以记忆化搜索作为GPU资源调度算法的示例,记忆化搜索包括如下两个部分:
一、搜索主算法
1、获取每个节点可用的图形处理器GPU的数量resources
2、对resources进行重新整理,以节点可用图形处理器GPU数量划分资源类型,有同样可用数量图形处理器GPU的机器划分为同一种类型,形成新的可用资源记录
3、初始化记忆化缓存
4、递归搜索可用资源组合,以可用图形处理器GPU数量最多的类型开始搜索
5、根据返回的资源组合方案,匹配节点分配方案
6、返回节点分配方案
二、递归搜索算法(资源情况,需求资源值,当前搜索类型)
1、判断当前状态是否在记忆化缓存中
a、如果在记忆化缓存中,则直接返回对应的资源组合
b、不在记忆化缓存中,进入下一步
2、需求资源是否已经满足
a、若已经得到满足,返回当前资源组合空集以及当前费用0
3、当前资源组合方案初始化为空集,新状态置为空,费用初始化为最大值
4、当前类型资源使用最大值=最小值(当前类型节点可用数量,满足需求资源所需当前类型节点最小值)
5、枚举当前类型资源使用量,从最大可用值枚举到不使用
6、对于每一个枚举状态
a、计算仍需求资源值
b、获得下一个搜索类型
c、通过递归搜索算法(资源情况,仍需求资源值,下一个搜索类型)得到下一步资源组合以及下一步费用
d、当前费用=当前组合花费+下一步费用
e、若当前费用<=费用
i.当前资源组合方案=当前类型使用量+下一步资源组合
ii.费用=当前费用
7、记录当前资源组合方案和费用到记忆化缓存中
8、返回当前资源组合方案和费用
当然,上述GPU资源调度算法只是作为示例,在实施本实施例时,可以根据实际情况设置其他GPU资源调度算法,如动态规划算法等,本实施例对此不加以限制。另外,除了上述GPU资源调度算法外,本领域技术人员还可以根据实际需要采用其它GPU资源调度算法,如动态规划算法等,本实施例对此也不加以限制。
S207、在所述容器集群参与分配图形处理器的节点中、按照顺序创建主控容器和工作容器。
在具体实现中,如图4所示,可确定容器集群参与分配图形处理器GPU的节点,在该节点中随机开始创建主控容器Master、工作容器Worker,其中,每个与分配图形处理器GPU的节点创建一个主控容器Master或者创建一个工作容器Worker,主控容器Master、工作容器Worker的数量与参与分配图形处理器GPU的节点的数量相同,主控容器Master可调用其所在节点中分配的图形处理器GPU,工作容器Worker可调用其所在节点中分配的图形处理器GPU。
例如,假设容器集群中有五个节点,节点1有6块未分配的图形处理器GPU,节点2和节点3均有4块未分配的图形处理器GPU,节点4有2块未分配的图形处理器GPU,节点5有8块未分配的图形处理器GPU,若训练任务请求16块图形处理器GPU,那么将会使用节点1、节点4和节点5中所有未分配的图形处理器GPU来执行训练任务。
此时,可创建1个主控容器Master和2个工作容器Worker,其中,主控容器Master随机在节点1创建,2个工作容器Worker分别随机节点4、节点5中创建,主控容器Master可使用节点1中分配的6个图形处理器GPU,其中一个工作容器Worker可使用节点4中分配的2个图形处理器GPU,另一个工作容器Worker可使用节点5中分配的8个图形处理器GPU。
在本实施例中,保持同步的条件之一,主控容器Master等待所有的工作容器Worker完成创建后执行训练任务,否则训练任务会执行失败。
为完成该条件,如图6所示,可在主控容器Master、工作容器Worker中设置脚本,该脚本的功能包含:主控容器Master在完成创建前的初始化阶段,等待所有的工作容器Worker容器创建完毕。
如图4所示,主控容器Master在初始化时,等待工作容器Worker完成创建,每个工作容器Worker在完成创建时,发送完成信号至主控容器Master,通知主控容器Master其完成创建,在所有工作容器Worker完成创建时,完成创建主控容器Master。
S208、分别暴露所述主控容器和所述工作容器的端口。
在本实施例中,通过暴露主控容器Master的端口和工作容器Worker的端口,使得主控容器Master与工作容器Worker之间可基于端口相互建立连接,主控容器Master与工作容器Worker之间可相互通信,工作容器Worker与工作容器Worker之间可相互通信。
一般情况下,同步分布式训练以MPI(Message Passing Interface,消息传递接口)方式进行的,MPI可使用SSH(Secure Shell,安全外壳协议)建立连接、进行通信。
在具体实现中,如图5所示,对于容器集群参与分配图形处理器的节点中生成的主控容器Master、工作容器Worker。
一方面,在容器集群中,按照容器资源配置,生成控制服务,以及,通过标签绑定主控容器Master与控制服务,如主控容器Master标记有标签“master”、控制服务标记有标签“master”,则相同标签的主控容器Master与控制服务可绑定。
该控制服务用于暴露主控容器Master的端口、将访问控制服务的数据转发至主控容器Master。
另一方面,在容器集群中,按照容器资源配置,生成多个工作服务,以及,通过标签绑绑定每个工作容器Worker与每个工作服务,如工作容器Worker标记有标签“worker”、工作服务标记有标签“worker”,则相同标签的工作容器Worker与工作服务可绑定。
该工作服务用于暴露工作容器Worker的端口、将访问工作服务的数据转发至主控容器Master。
其中,控制服务与工作服务之间可建立连接,通过控制服务与工作服务,使得工作容器Worker与工作容器Worker、工作容器Worker与工作容器Worker之间建立连接。
在分布式的情况下,容器集群会随机选择可用的节点并在该节点上创建容器(包括主控容器Master、工作容器Worker),而IP(Internet Protocol Address,互联网协议地址)地址和节点是一一对应的。
以SSH为例,若某个容器基于SSH连接其他容器,一般是采用“ssh用户名@ip地址”的方式进行连接的。
由于节点是随机选择的,某个容器无法获知其它容器(包括主控容器Master、工作容器Worker)所在节点的IP地址,因此,主控容器Master与工作容器Worker、工作容器Worker与工作容器Worker之间是无法通信。
在本实施例中,使用服务(包括控制服务、工作服务)绑定容器(包括主控容器Master、工作容器Worker),服务(包括控制服务、工作服务)的名称(即服务名)是自定义的,服务(包括控制服务、工作服务)又和容器(包括主控容器Master、工作容器Worker)绑定的,因此,可以用服务名来连接容器(包括主控容器Master、工作容器Worker),即采用“ssh服务名”的方式进行连接容器(包括主控容器Master、工作容器Worker)。
S209、分别对所述主控容器和所述工作容器进行数据保护。
在本实施例中,可以对主控容器Master和工作容器Worker进行数据保护,从而保护主控容器Master和工作容器Worker的通信的安全性。
如图6所示,在主控容器Master中配置第一密钥,第一密钥用于对主控容器Master通信的数据(包括发送至工作容器Worker的数据以及接收的工作容器Worker的数据)进行加密和/或解密。
在工作容器Worker中配置第二密钥,第二密钥用于对工作容器Worker通信的数据(包括发送至主控容器Master或其他工作容器Worker的数据以及接收的主控容器Master或其他工作容器Worker的数据)进行加密和/或解密。
其中,第一密钥与第二密钥配对,即第一密钥为公钥时,第二密钥为该公钥配对的私钥,第一密钥为私钥时,第二密钥为该私钥配对的公钥。
进一步而言,主控容器Master与工作容器Worker,工作容器Worker与工作容器Worker之间都会通信,每个容器(包括主控容器Master与工作容器Worker)都会运行服务端和客户端,当容器(包括主控容器Master与工作容器Worker)作为客户端时,会使用私钥作为第一密钥或第二密钥。当容器(包括主控容器Master与工作容器Worker)作为客户端时作为服务端的时候,会使用公钥作为第一密钥或第二密钥。
S210、所述主控容器使用所述图形处理器同步训练所述数据模型。
S211、所述主控容器向所述工作容器发送启动命令。
S212、所述工作容器响应所述启动命令,使用所述图形处理器同步训练所述数据模型。
如图4所示,在主控容器Master与工作容器Worker均完成创建之后,主控容器Master使用其所在节点的图形处理器GPU开始同步分布式训练,以及,向每个工作容器Worker发送启动命令,工作容器Worker发送在接收到启动命令之后,使用其所在节点的图形处理器GPU开始同步分布式训练,从而协助主控容器Master训练数据模型。
其中,使用图形处理器GPU训练数据模型,把训练代码和数据发送到图形处理器GPU,在图形处理器GPU中运行该训练代码对数据进行计算。
在一种启动命令的传输方式中,工作服务绑定工作容器Worker,主控容器Master可分别向多个工作服务发送启动命令,工作服务将启动命令转发至绑定的工作容器Worker。
S213、当所述数据模型训练完成时,所述主控容器分别向所述工作容器发送关闭命令。
S214、所述工作容器分别响应所述关闭命令,执行关闭操作。
S215、当所述工作容器完成关闭时,所述主控容器执行关闭操作。
在本实施例中,保持同步的条件之一,当训练任务结束,工作容器Worker在得知训练任务结束的信号,再自动关闭。
为完成该条件,如图6所示,可在主控容器Master、工作容器Worker中设置脚本,该脚本的功能包含:工作容器Worker创建后,会一直阻塞,等待工作容器Worker中的命令执行完毕,再自动关闭容器。
如图4所示,当同步分布式训练完成时,主控容器Master会发送训练任务结束的信号(即关闭命令)给所有的工作容器Worker,等待工作容器Worker关闭,工作容器Worker接收到关闭命令之后,响应该关闭命令,自动关闭,主控容器Master确保所有工作容器Worker完成关闭,再自行关闭。
在一种关闭命令的传输方式中,工作服务绑定工作容器Worker,主控容器Master分别向多个工作服务发送关闭命令,工作服务将关闭命令转发至绑定的工作容器Worker。
S216、当所述主控容器与所述工作容器均关闭时,释放所述图形处理器。
当所有参与同步分布式训练的容器(包括主控容器Master与工作容器Worker)关闭后,会释放持有的图形处理器GPU,释放之后的图形处理器GPU为未分配的图形处理器GPU,可用于分配至其他训练任务。
实施例三
图7为本发明实施例三提供的一种同步训练装置的结构示意图,该装置具体可以包括训练任务确定模块701、图形处理器调配模块702和容器集群703;
所述训练任务确定模块701,用于确定训练任务,所述训练任务用于训练指定的数据模型;
所述图形处理器调配模块702,用于在容器集群中为所述训练任务调配图形处理器,以形成资源调度表;
所述容器集群703包括:
容器创建模块7031,用于根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器7032和工作容器7033;
所述主控容器7032与所述工作容器7033,用于共同使用所述图形处理器同步训练所述数据模型。
其中,所述训练任务确定模块701可位于工作流服务器中,所述图形处理器调配模块702可位于GPU资源调度服务器中。
在本发明的一个实施例中,所述训练任务确定模块701包括:
配置文件接收子模块,用于接收工作流的配置文件;
工作流运行子模块,用于按照所述配置文件运行工作流;
训练任务拦截子模块,用于当所述工作流运行至训练任务时,拦截所述训练任务。
在本发明的一个实施例中,所述图形处理器调配模块702包括:
目标数量确定子模块,用于确定所述训练任务请求的图形处理器的目标数量;
未分配确定子模块,用于确定容器集群中各节点未分配的图形处理器;
节点分配子模块,用于将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量。
在本发明的一个实施例中,所述节点分配子模块包括:
分配因素确定单元,用于确定分配因素,所述分配因素包括参与分配图形处理的节点的数量,和/或,所述节点中剩余未分配的图形处理器的数量;
约束分配单元,用于在所述分配因素的约束下,将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量。
在本发明的一个实施例中,所述容器创建模块7031包括:
顺序创建子模块,用于在所述容器集群参与分配图形处理器的节点中、按照顺序创建主控容器和工作容器;
端口暴露子模块,用于分别暴露所述主控容器和所述工作容器的端口;
数据保护子模块,用于分别对所述主控容器和所述工作容器进行数据保护。
在本发明的一个实施例中,所述顺序创建子模块包括:
节点创建单元,用于在所述容器集群参与分配图形处理器的节点中创建主控容器、工作容器;
创建等待单元,用于当所述主控容器初始化时,等待所述工作容器完成创建;
创建完成单元,用于当所述工作容器完成创建时,完成创建所述主控容器。
在本发明的一个实施例中,所述端口暴露子模块包括:
控制服务生成单元,用于生成控制服务;
第一绑定单元,用于绑定所述主控容器与所述控制服务,所述控制服务用于将访问所述控制服务的数据转发至所述主控容器;
工作服务生成单元,用于生成工作服务;
第二绑定单元,用于绑定所述工作容器与所述工作服务,所述工作服务用于将访问所述工作服务的数据转发至所述主控容器;
其中,所述控制服务与所述工作服务之间可建立连接。
在本发明的一个实施例中,所述数据保护子模块包括:
第一密钥配置单元,用于在所述主控容器中配置第一密钥,所述第一密钥用于对所述主控容器通信的数据进行加密和/或解密;
第二密钥配置单元,用于在所述工作容器中配置第二密钥,所述第二密钥用于对所述工作容器通信的数据进行加密和/或解密;
其中,所述第一密钥与所述第二密钥配对。
在本发明的一个实施例中,所述主控容器7032,还用于使用所述图形处理器同步训练所述数据模型,分别向所述工作容器发送启动命令;
所述工作容器7033,用于响应所述启动命令,使用所述图形处理器同步训练所述数据模型。
在本发明的一个实施例中,
所述主控容器7032,还用于当所述数据模型训练完成时,分别向所述工作容器发送关闭命令;
所述工作容器7033,还用于响应所述关闭命令,执行关闭操作;
所述主控容器7032,还用于当所述工作容器完成关闭时,执行关闭操作。
在本发明的一个实施例中,所述主控容器7032,还用于向工作服务发送启动命令,所述工作服务绑定所述工作容器,用于将所述启动命令转发至绑定的工作容器;
所述主控容器7032,还用于向工作服务发送关闭命令,所述工作服务绑定所述工作容器,用于将所述关闭命令转发至绑定的工作容器。
在本发明的一个实施例中,所述容器集群703还包括:
图形处理器释放模块,用于当所述主控容器与所述工作容器均关闭时,释放所述图形处理器。
本发明实施例所提供的同步训练装置可执行本发明任意实施例所提供的同步训练方法,具备执行方法相应的功能模块和有益效果。
在本实施例中,确定训练任务,训练任务用于训练指定的数据模型,在容器集群中为训练任务调配图形处理器,在容器集群中创建满足相互通信与保持同步的主控容器、工作容器,由主控容器协调工作容器使用图形处理器同步训练数据模型,由于主控容器与工作容器可相互通信且保持同步,一方面,可实现同步分布式训练,从而保证训练的数据模型收敛,提高精确度,另一方面,在训练时启动主控容器与工作容器,无需提前启动工作容器、预留工作容器,减少对图形处理器的占用,提高图形处理器的利用效率,并且,同步分布式训练作为训练的步骤,可以应用至工作流中,从而保证预处理、推断等其他步骤可正常执行。
实施例四
图8为本发明实施例四提供的一种计算机设备的结构示意图。如图8所示,该计算机设备包括处理器800、存储器801、通信模块802、输入装置803和输出装置804;计算机设备中处理器800的数量可以是一个或多个,图8中以一个处理器800为例;计算机设备中的处理器800、存储器801、通信模块802、输入装置803和输出装置804可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器801作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的同步训练方法对应的模块(例如,如图7所示的同步训练装置中的训练任务确定模块701、图形处理器调配模块702和容器集群703)。处理器800通过运行存储在存储器801中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的连接方法。
存储器801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器801可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器801可进一步包括相对于处理器800远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块802,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置803可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。
本实施例提供的计算机设备,可执行本发明任一实施例提供的同步训练方法,具体相应的功能和有益效果。
实施例五
本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一种同步训练方法,该方法包括:
确定训练任务,所述训练任务用于训练指定的数据模型;
在容器集群中为所述训练任务调配图形处理器,以形成资源调度表;
根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;
所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型。
当然,本发明实施例所提供的计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的同步训练方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述同步训练装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (14)

1.一种同步训练方法,其特征在于,包括:
确定训练任务,所述训练任务用于训练指定的数据模型;
所述确定训练任务,包括:
工作流服务器接收工作流的配置文件;
按照所述配置文件运行工作流;
当所述工作流运行至训练任务时,拦截所述训练任务;
在容器集群中为所述训练任务调配图形处理器,以形成资源调度表包括:
使用GPU资源调度算法在所述容器集群中为所述训练任务调配图形处理器GPU;所述GPU资源调度算法用于将请求的图形处理器GPU分发到所述容器集群的节点上;
根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;其中,所述相互通信是指所述主控容器与所述工作容器之间进行通信,以及,所述工作容器与所述工作容器之间进行通信;
所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型。
2.根据权利要求1所述的方法,其特征在于,所述在容器集群中为所述训练任务调配图形处理器,以形成资源调度表,包括:
确定所述训练任务请求的图形处理器的目标数量;
确定容器集群中各节点未分配的图形处理器;
将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量。
3.根据权利要求2所述的方法,其特征在于,所述将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量,包括:
确定分配因素,所述分配因素包括参与分配图形处理的节点的数量,和/或,所述节点中剩余未分配的图形处理器的数量;
在所述分配因素的约束下,将所述节点中未分配的图形处理器分配至所述训练任务,直至到达所述目标数量。
4.根据权利要求1或2或3所述的方法,其特征在于,所述根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器、工作容器,包括:
在所述容器集群参与分配图形处理器的节点中、按照顺序创建主控容器和工作容器;
分别暴露所述主控容器和所述工作容器的端口;
分别对所述主控容器和所述工作容器进行数据保护。
5.根据权利要求4所述的方法,其特征在于,所述在所述容器集群参与分配图形处理器的节点中、按照顺序创建主控容器和工作容器,包括:
在所述容器集群参与分配图形处理器的节点中创建主控容器、工作容器;
当所述主控容器初始化时,等待所述工作容器完成创建;
当所述工作容器完成创建时,完成创建所述主控容器。
6.根据权利要求4所述的方法,其特征在于,所述分别暴露所述主控容器和所述工作容器的端口,包括:
生成控制服务;
绑定所述主控容器与所述控制服务,所述控制服务用于将访问所述控制服务的数据转发至所述主控容器;
生成工作服务;
绑定所述工作容器与所述工作服务,所述工作服务用于将访问所述工作服务的数据转发至所述主控容器;
其中,所述控制服务与所述工作服务之间可建立连接。
7.根据权利要求4所述的方法,其特征在于,所述分别对所述主控容器和所述工作容器进行数据保护,包括:
在所述主控容器中配置第一密钥,所述第一密钥用于对所述主控容器通信的数据进行加密和/或解密;
在所述工作容器中配置第二密钥,所述第二密钥用于对所述工作容器通信的数据进行加密和/或解密;
其中,所述第一密钥与所述第二密钥配对。
8.根据权利要求1或2或3或5或6或7所述的方法,其特征在于,所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型,包括:
所述主控容器使用所述图形处理器同步训练所述数据模型;
所述主控容器向所述工作容器发送启动命令;
所述工作容器响应所述启动命令,使用所述图形处理器同步训练所述数据模型。
9.根据权利要求8所述的方法,其特征在于,所述主控容器与所述工作容器共同使用所述图形处理器同步训练所述数据模型,还包括:
当所述数据模型训练完成时,所述主控容器分别向所述工作容器发送关闭命令;
所述工作容器响应所述关闭命令,执行关闭操作;
当所述工作容器完成关闭时,所述主控容器执行关闭操作。
10.根据权利要求9所述的方法,其特征在于,所述主控容器向所述工作容器发送启动命令,包括:
所述主控容器向工作服务发送启动命令,所述工作服务绑定所述工作容器;
所述工作服务将所述启动命令转发至绑定的工作容器;
所述主控容器分别向所述工作容器发送关闭命令,包括:
所述主控容器向工作服务发送关闭命令,所述工作服务绑定所述工作容器;
所述工作服务将所述关闭命令转发至绑定的工作容器。
11.根据权利要求9所述的方法,其特征在于,还包括:
当所述主控容器与所述工作容器均关闭时,释放所述图形处理器。
12.一种同步训练装置,其特征在于,包括训练任务确定模块、图形处理器调配模块和容器集群:
所述训练任务确定模块,用于确定训练任务,所述训练任务用于训练指定的数据模型;
所述训练任务确定模块位于工作流服务器中;
所述训练任务确定模块包括:
配置文件接收子模块,用于接收工作流的配置文件;
工作流运行子模块,用于按照所述配置文件运行工作流;
训练任务拦截子模块,用于当所述工作流运行至训练任务时,拦截所述训练任务;
所述图形处理器调配模块,用于在容器集群中为所述训练任务调配图形处理器,以形成资源调度表包括:使用GPU资源调度算法在所述容器集群中为所述训练任务调配图形处理器GPU;所述GPU资源调度算法用于将请求的图形处理器GPU分发到所述容器集群的节点上;
所述容器集群包括:
容器创建模块,用于根据所述资源调度表在所述容器集群中创建满足相互通信与保持同步的主控容器和工作容器;其中,所述相互通信是指所述主控容器与所述工作容器之间进行通信,以及,所述工作容器与所述工作容器之间进行通信;
所述主控容器与所述工作容器,用于共同使用所述图形处理器同步训练所述数据模型。
13.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一所述的同步训练方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-11中任一所述的同步训练方法。
CN201910989412.5A 2019-10-17 2019-10-17 一种同步训练方法、装置、计算机设备和存储介质 Active CN110688230B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910989412.5A CN110688230B (zh) 2019-10-17 2019-10-17 一种同步训练方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910989412.5A CN110688230B (zh) 2019-10-17 2019-10-17 一种同步训练方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110688230A CN110688230A (zh) 2020-01-14
CN110688230B true CN110688230B (zh) 2022-06-24

Family

ID=69113319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910989412.5A Active CN110688230B (zh) 2019-10-17 2019-10-17 一种同步训练方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110688230B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290855B (zh) * 2020-02-06 2021-02-09 四川大学 分布式环境中多gpu服务器的gpu卡管理方法、系统及存储介质
CN111510327B (zh) 2020-04-08 2022-01-21 北京字节跳动网络技术有限公司 用于共同训练模型的训练参与端的网络连接方法、装置、系统和服务器
CN111767345B (zh) * 2020-06-30 2023-10-31 中国平安财产保险股份有限公司 建模数据同步方法、装置、计算机设备及可读存储介质
CN112101536A (zh) * 2020-08-30 2020-12-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 轻量级分布式多任务协同框架
CN112532722B (zh) * 2020-11-27 2023-03-24 中国—东盟信息港股份有限公司 一种基于Kubernetes云原生集群节点优雅关机的方法
CN112465046B (zh) * 2020-12-03 2022-11-29 苏州浪潮智能科技有限公司 海量小文件的人工智能训练的方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681777A (zh) * 2018-05-07 2018-10-19 北京京东尚科信息技术有限公司 一种基于分布式系统的机器学习程序运行的方法和装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109101342A (zh) * 2018-07-20 2018-12-28 北京百度网讯科技有限公司 分布式作业协调控制方法、装置、计算机设备及存储介质
CN109358944A (zh) * 2018-09-17 2019-02-19 深算科技(重庆)有限公司 深度学习分布式运算方法、装置、计算机设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631634B (zh) * 2012-08-24 2017-07-25 中国电信股份有限公司 实现图形处理器虚拟化的方法与装置
US10402234B2 (en) * 2016-04-15 2019-09-03 Nec Corporation Fine-grain synchronization in data-parallel jobs
US10303522B2 (en) * 2017-07-01 2019-05-28 TuSimple System and method for distributed graphics processing unit (GPU) computation
CN109117254A (zh) * 2018-06-29 2019-01-01 国家电网公司 一种深度学习框架的调度方法及系统
CN109634748A (zh) * 2018-12-12 2019-04-16 深圳前海微众银行股份有限公司 集群资源调度方法、装置、设备及计算机可读存储介质
CN109885389B (zh) * 2019-02-19 2021-07-16 浪潮云信息技术股份公司 一种基于容器的并行深度学习调度训练方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108681777A (zh) * 2018-05-07 2018-10-19 北京京东尚科信息技术有限公司 一种基于分布式系统的机器学习程序运行的方法和装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109101342A (zh) * 2018-07-20 2018-12-28 北京百度网讯科技有限公司 分布式作业协调控制方法、装置、计算机设备及存储介质
CN109358944A (zh) * 2018-09-17 2019-02-19 深算科技(重庆)有限公司 深度学习分布式运算方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110688230A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
CN110688230B (zh) 一种同步训练方法、装置、计算机设备和存储介质
Kc et al. Scheduling hadoop jobs to meet deadlines
JP2019057303A (ja) 計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法
KR102163402B1 (ko) 멀티 노드와 멀티 gpu를 이용한 분산 학습 시스템 및 방법
Bogdanova et al. Multiagent approach to controlling distributed computing in a cluster grid system
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
CN105144109B (zh) 分布式数据中心技术
CN101308468A (zh) 网格计算环境下的作业跨域控制方法
EP3442201B1 (en) Cloud platform construction method and cloud platform
CN111309649B (zh) 一种数据传输和任务处理方法、装置及设备
CN107038070A (zh) 一种云环境下执行可靠性感知的并行任务调度方法
US20230038051A1 (en) Data transmission method and apparatus
CN114500623B (zh) 网络靶场互联互通方法、装置、设备及可读存储介质
US10761869B2 (en) Cloud platform construction method and cloud platform storing image files in storage backend cluster according to image file type
US11005718B2 (en) Determining capabilities of cognitive entities in a distributed network based on application of cognitive protocols
CN110162407A (zh) 一种资源管理方法及装置
CN112087332B (zh) 一种云边协同下的虚拟网络性能优化系统
US20190138474A1 (en) System, method, and recording medium for topology-aware parallel reduction in an accelerator
CN112463296B (zh) 一种创建虚拟机的方法及装置
CN105988856A (zh) 解释器访存优化方法及装置
Narantuya et al. Multi-Agent Deep Reinforcement Learning-Based Resource Allocation in HPC/AI Converged Cluster.
KR101620896B1 (ko) 이기종 프로세싱 타입을 고려한 맵리듀스 프로그램 모델의 수행 성능 향상 방법, 수행 성능 향상 장치 및 수행 성능 향상 시스템
CN110221902A (zh) 一种基于虚拟机的数据传输方法及相关装置
Han et al. Distributed deep learning platform for pedestrian detection on IT convergence environment
Zhang et al. Repeatable multi-dimensional virtual network embedding in cloud service platform

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