CN110618870A - 一种深度学习训练任务的工作方法及装置 - Google Patents
一种深度学习训练任务的工作方法及装置 Download PDFInfo
- Publication number
- CN110618870A CN110618870A CN201910894815.1A CN201910894815A CN110618870A CN 110618870 A CN110618870 A CN 110618870A CN 201910894815 A CN201910894815 A CN 201910894815A CN 110618870 A CN110618870 A CN 110618870A
- Authority
- CN
- China
- Prior art keywords
- deep learning
- gpu
- learning training
- training task
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 191
- 238000013135 deep learning Methods 0.000 title claims abstract description 160
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 57
- 238000003062 neural network model Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种深度学习训练任务的工作方法及装置,通过根据单服务器或多服务器节点中GPU剩余资源情况为多种深度学习训练任务类型分配GPU,达到了可以在保证GPU利用率的同时兼顾多种类深度学习训练任务的效果。其中,所述方法包括:获取用户输入的深度学习训练任务参数;从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;根据不同的深度学习训练任务类型按照不同的策略进行GPU选取;根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。
Description
技术领域
本申请涉及深度学习领域,尤其涉及一种深度学习训练任务的工作方法及装置。
背景技术
深度学习训练技术是目前发展十分迅速的一项崭新技术。随着用于深度学习训练业务的数据量的增加以及对于训练速度要求的提高,对于算力的需求也在显著增加。训练任务对于基础资源的需求从单服务器单GPU训练发展到单服务器多GPU训练以及多服务器多GPU训练,GPU服务器集群的整体规模也在显著提升。
作为集群中使用率较高,且相对于CPU、内存更加稀缺的资源,GPU的利用率通常决定了深度学习训练任务的整体效率。而如何做到在保证GPU利用率的同时做到兼顾单机型任务和多机型任务成为一个亟待解决的问题,在现有技术中缺乏一种能够解决上述问题的深度学习训练任务的工作方法。
发明内容
为了解决现有技术存在的上述技术问题,本申请提供了一种深度学习训练任务的工作方法及装置,通过对单服务器节点以及多服务器节点中GPU中的剩余资源的合理分配解决了现有技术中无法在保证GPU利用率的同时做到兼顾单机型任务和多机型任务的问题。
本发明提供了一种深度学习训练任务的工作方法,包括:
获取用户输入的深度学习训练任务参数;
从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;
当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。
可选的,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batch size和训练方式。
可选的,所述根据所述深度学习训练任务参数选择剩余资源最小的GPU进行工作包括:
选择满足所述申请网络模型、数据集和Batch size条件的剩余资源最小的GPU进行工作。
可选的,所述根据所述深度学习训练任务参数在服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中在满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作。
可选的,所述单机型任务包括:单机单卡型任务或单机多卡型任务。
可选的,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。
可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。
可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。
可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。
可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。
可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作进一步包括:
当存在满足条件的单一服务器节点时,在所述单一服务器节点中选择通信开销最低的GPU进行工作;当不存在满足条件的单一服务器节点时,在多个服务器节点的组合中选取通信速度相同且最小的一组GPU进行工作。
可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:
动态更新各个节点和各个GPU卡的资源使用情况。
本申请还提供了一种深度学习训练任务的工作装置,所述装置包括:
获取单元,用于获取用户输入的深度学习训练任务参数;
辨别单元,用于从所述任务参数中确定所述深度学习训练任务的类型;其中,所述深度学习训练任务类型包括:单机型、多机型;
第一分配单元,用于为所述训练任务分配GPU节点;其中,当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
第二分配单元,用于根据所述GPU的位置为所述训练任务分配与所述GPU之间通信距离最短的CPU进行工作。
可选的,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batch size和训练方式。
可选的,所述第一分配单元包括:
第一选择单元:用于筛选出满足所述申请网络模型、数据集和Batch size条件的剩余资源最小的GPU。
可选的,所述第一分配单元包括:
计算单元,用于通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中在满足深度学习训练任务参数且剩余资源量最小的GPU进行工作。
可选的,所述单机型任务包括:单机单卡型任务或单机多卡型任务。
可选的,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。
可选的,所述第一分配单元包括:
PS-Worker型分配单元,用于当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。
可选的,所述第一分配单元包括:
Ring-AllReduce型分配单元,用于当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。
可选的,在所述获取单元前进一步包括:
第一拓扑单元,用于根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。
可选的,在所述获取单元前进一步包括:
第二拓扑单元,用于根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。
可选的,所述第一分配单元进一步包括:
第二选择单元,用于当训练任务为多机型且当存在满足条件的单一服务器节点时,在所述单一服务器节点中选择通信开销最低的GPU进行工作;当不存在满足条件的单一服务器节点时,在多个服务器节点的组合中选取通信速度相同且最小的一组GPU进行工作。
可选的,所述获取单元前进一步包括:
更新单元,用于动态更新各个节点和各个GPU卡的资源使用情况。
本申请所述方法具有以下优点:通过对单机型和多机型任务设定不同的GPU分配策略以及根据GPU剩余资源量最小的原则为训练任务分配GPU节点资源,实现了在同一服务器集群中在满足最大化利用GPU节点资源的前提下,可以同时处理单机型任务以及多机型任务。
同时,本申请还根据单服务器中的资源情况为每台服务器建立拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销;同时,根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度,从而当需要处理多机型任务时,能够选取通信开销最小且通信速度最快的GPU组进行工作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例一提供的一种深度学习训练任务的工作方法流程图;
图2为本申请实施例二提供的一种服务器资源拓扑结构图;
图3为本申请实施例二提供的一种服务器资源拓扑树树;
图4为本申请实施例二提供的一种服务器节点邻接矩阵表;
图5为本申请实施例二提供的一种服务器节点之间的拓扑结构图;
图6为本申请实施例二提供的一种服务器节点之间的拓扑树图;
图7为本申请实施例二提供的一种服务器节点之间的拓扑结果表;
图8为本申请实施例二提供的一种深度学习训练任务的另一实施例的工作方法流程图;
图9为本申请实施例三提供的一种深度学习训练任务的工作装置的结构框图。
具体实施方式
实施例一:
本申请实施例一提供了一种深度学习训练任务的工作方法,下面结合附图具体说明。
参见图1,该图为本申请实施例一提供的一种深度学习训练任务的工作方法的流程图。
本申请实施例一所述方法包括以下步骤:
S101:获取用户输入的深度学习训练任务参数;
其中,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batch size和训练方式。神经网络模型、数据集以及Batch size决定了所需的GPU资源量,训练方式决定了GPU的分配方式。
S102:从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;
其中,单机型任务又包括单机单卡型和单机多卡型,单机单卡型是指训练任务时单个进程,只使用一台物理服务器的一张GPU卡;单机多卡型是指训练任务为单个进程,使用同一台物理服务器的多张GPU卡。
多机型任务又包括多机多卡Ring-AllReduce型任务和多机多卡PS-Worker型任务。多机多卡Ring-AllReduce型任务是指PS节点为0,Worker节点大于1的多机多卡型任务;多机多卡PS-Worker型任务是指PS节点大于1且Worker节点大于0的多机多卡型任务。用户通过对PS节点和Worker节点个数的设置来指定相应的训练类型。
S103:当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
当任务类型为单机型时,任务只包含一个进程,且只需在一台物理服务器中寻找GPU资源进行分配,因此只需考虑GPU资源分配是否合理即可。
为任务分配GPU资源的原则在满足任务所需资源量的前提下,选择剩余资源量最少的GPU进行分配,从而可以保证GPU资源利用率最大化。任务所需资源量是由用户设置的深度学习训练任务参数中的神经网络模型、数据集及Batch Size决定的,具体计算方法为:
模型输出的显存占用=每一层输出规模*batchSize
模型的显存占用=参数W的显存占用+梯度的显存占用+优化器动量的显存占用
(如果是SGD+Momentum训练方式)
在模型确定之后,每一层的输出规模也就确定了:
其中out代表计算得到的feature map的width,inw代表输入尺寸,P代表Padding,f代表卷积核大小。
总显存占用=模型的显存占用+模型输出的显存占用
当模型较小或batch size较大时:
总显存占用≈batch size*单样本的显存占用
所以,所以当给定一个模型和batch size之后,我们可以得到一个确定的显存占用量。在调度时,需要保证显存足够。
在得到任务需要的显存占用量后,使用BestFit算法找到最适合的GPU进行分配。BestFit内容具体为:
BestFit算法伪代码
S104:当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
其中,当多机型任务为多机多卡PS-Worker型任务时,由于该类型任务是层层向上传递信息的任务,因此在单一物理服务器中树形结构的GPU在执行该任务时速度最快,因此优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU,由于多个服务器之间的传输速度要远远大于单服务器中的GPU之间的信息传输速度,因此当跨服务器进行传输时,树形结构带来的速度优势可以忽略不计;当都不存在时,认为此次调度没有找到合适资源,等待下次调度。
当所述任务类型为多机多卡Ring-AllReduce型任务时,由于该任务类型为闭环型信息传递任务,因此优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,认为此次调度没有找到合适资源,等待下次调度。
S105:根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。
通过这种方法选取CPU可以保证信息之间的传输速度最快,通信开销最低。
实施例二:
本申请实施例二还提供了另一种深度学习训练任务的方法实施例,下面结合附图具体说明。
参见图8,该图为本申请实施例二提供的一种深度学习训练任务方法的流程图。
本申请实施例包括以下步骤:
S201:根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。
如图2所示,图2是一台服务器中的资源拓扑结构图,图3是根据所述资源拓扑结构图生成的拓扑树图,图4是根据所述资源拓扑结构图生成的节点邻接矩阵表。对于同一台服务器之内不同类型链接的GPU通信开销,本申请定义为以下6个等级:
SYS:只能跨socket,通过QPI/UPI通信(即跨NUMA组)。
NODE:NUMA组内的通过不同的PCIe Host Bridge通信。
PHB:只通过一个PCIe Host Bridge通信。(同组内的CPU与GPU之间通信是这种方式)
PXB:通过多个PCIe Switch通信而不经过PCIe Host Bridge。
PIX:同一个PCIe Switch内通信。
NV#:通过NVLink进行通信。
通信开销从上向下依次减小,SYS的开销最大,NVLink的通信开销最小。其中最常见的连接类型是:NV,NODE和SYS。
S202:根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。
服务器之间的拓扑结构如图5所示,图6是根据所述拓扑结构生成的拓扑树图,图7是根据所述拓扑结构生成的节点邻接矩阵图。对于服务器之间的通信速度,本申请按照下面的方式进行定义:
IB 1:两个节点之间通过1级IB交换机就可以进行通信。
IB 2:两个节点之间需要通过2级IB交换机进行通信。
IB n:两个节点之间需要通过n级IB交换机进行通信。
Ethernet 1:两个节点之间只需经过1个交换机就可以通信。(对于两个同级交换机做堆叠,视为1个交换机)
Ethernet 2:两个节点之间需要通过2级交换机进行通信。
Ethernet n:两个节点之间需要通过n级交换机进行通信。
n>2,n∈N+。通信开销从上向下依次增大,IB交换速度高于Ethernet交换。
由图5可知,NODE1与NODE2同属一个接入交换机。NODE2与NODE3通过不同接入交换机,但通过相同汇聚交换机相连。NODE3与NODE4通过相同IB交换机互联。NODE4与NODE5通过IB路由器互联。由此可以得到邻接矩阵图6。其中X表示互相不连通。其中IB1为通信速度最快。IB1权值定义为1,Ethernet1权值定义为100。X权值定义为-1。各类型权值依次升高IB1<IB2<Ethernet1<Ethernet2(即权值分别为1,2,100,101,暂不考虑100层以上的IB)。
S203:动态更新各个节点和各个GPU卡的资源使用情况。
该步骤是为了使系统可以及时找到符合条件的GPU卡。
S204-S206:与S101-S103相同。
S207:当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小且通信开销最低的一组GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数、剩余资源量最小且通信速度最快且相同的GPU进行工作。
由于多机型训练任务中包含多个进程,因此需要进行进程之间的信息传递。当多机型训练任务在单一服务器中进行时,根据上述单一服务器资源拓扑结构选择通信开销最低的GPU组进行通信;当多机型训练任务在多个服务器中进行时,由于服务器之间的通信速度要远远慢于单一服务器的资源节点之间的通信速度,因此此时只考虑如何节省服务器之间的通信速度。通过上述服务器节点拓扑结构可以选择出一组通讯速度最快的服务器节点的GPU。同时,在多机型任务为多机多卡PS-Worker型任务时,由于在树形结构中,一次传递时需要每一个下层GPU向上传递过程都结束后才能完成此次传递;在多机型任务为多机多卡Ring-AllReduce型任务时,由于在环形结构中,一次传递时需要每一个GPU节点都向下一个GPU节点传递信息完成后才能完成此次传递,因此,根据木桶效应,所述的两种多机型任务的一次传递的时间都取决于传递最慢的两个GPU节点,因此,本申请限定在选择GPU节点时,选取通信速度相同的一组GPU节点,以减少资源浪费。
S208:根据所述GPU位置选取与所述GPU之间通信距离最短的CPU进行工作。
实施例三:
基于上述实施例提供的一种深度学习训练任务的工作方法,本申请实施例三还提供了一种深度学习训练任务的工作装置,下面结合附图具体说明。
如图9所示,图9为本申请实施例三提供的一种深度学习训练任务的工作装置,所述装置包括:
101:获取单元,用于获取用户输入的深度学习训练任务参数;
102:辨别单元,用于从所述任务参数中确定所述深度学习训练任务的类型;其中,所述深度学习训练任务类型包括:单机型、多机型;
103:第一分配单元,用于为所述训练任务分配GPU节点;其中,当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
104:第二分配单元,用于根据所述GPU的位置为所述训练任务分配与所述GPU之间通信距离最短的CPU进行工作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程可以参考前述方法实施例中的对应过程,在此不再赘述。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (23)
1.一种深度学习训练任务的工作方法,其特征在于,包括:
获取用户输入的深度学习训练任务参数;
从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;
当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。
2.根据权利要求1所述的方法,其特征在于,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batch size和训练方式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述深度学习训练任务参数选择剩余资源最小的GPU进行工作包括:
选择满足所述申请网络模型、数据集和Batch size条件的剩余资源最小的GPU进行工作。
4.根据权利要求1所述的方法,其特征在于,所述根据所述深度学习训练任务参数在服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作。
5.根据权利要求1所述的方法,其特征在于,所述单机型任务包括:单机单卡型任务或单机多卡型任务。
6.根据权利要求1所述的方法,其特征在于,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。
7.根据权利要求6所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。
8.根据权利要求6所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。
9.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。
10.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。
11.根据权利要求1所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作进一步包括:
当存在满足条件的单一服务器节点时,在所述单一服务器节点中选择通信开销最低的GPU进行工作;当不存在满足条件的单一服务器节点时,在多个服务器节点的组合中选取通信速度相同且最小的一组GPU进行工作。
12.根据权利要求1所述的方法,其特征在于,在获取用户输入的深度学习训练任务参数前进一步包括:
动态更新各个节点和各个GPU卡的资源使用情况。
13.一种深度学习训练任务的工作装置,其特征在于,包括:
获取单元,用于获取用户输入的深度学习训练任务参数;
辨别单元,用于从所述任务参数中确定所述深度学习训练任务的类型;其中,所述深度学习训练任务类型包括:单机型、多机型;
第一分配单元,用于为所述训练任务分配GPU节点;其中,当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
第二分配单元,用于根据所述GPU的位置为所述训练任务分配与所述GPU之间通信距离最短的CPU进行工作。
14.根据权利要求13所述的装置,其特征在于,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batch size和训练方式。
15.根据权利要求14所述的装置,其特征在于,所述第一分配单元包括:
第一选择单元:用于筛选出满足所述申请网络模型、数据集和Batch size条件的剩余资源最小的GPU。
16.根据权利要求13所述的装置,其特征在于,所述第一分配单元包括:
计算单元,用于通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作。
17.根据权利要求13所述的装置,其特征在于,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。
18.根据权利要求17所述的装置,其特征在于,所述第一分配单元包括:
PS-Worker型分配单元,用于当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。
19.根据权利要求17所述的装置,其特征在于,所述第一分配单元包括:
Ring-AllReduce型分配单元,用于当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。
20.根据权利要求13所述的装置,其特征在于,在所述获取单元前进一步包括:
第一拓扑单元,用于根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。
21.根据权利要求13所述的装置,其特征在于,在所述获取单元前进一步包括:
第二拓扑单元,用于根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。
22.根据权利要求13所述的装置,其特征在于,所述第一分配单元进一步包括:
第二选择单元,用于当训练任务为多机型且当存在满足条件的单一服务器节点时,在所述单一服务器节点中选择通信开销最低的GPU进行工作;当不存在满足条件的单一服务器节点时,在多个服务器节点的组合中选取通信速度相同且最小的一组GPU进行工作。
23.根据权利要求13所述的装置,其特征在于,所述获取单元前进一步包括:
更新单元,用于动态更新各个节点和各个GPU卡的资源使用情况。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894815.1A CN110618870B (zh) | 2019-09-20 | 2019-09-20 | 一种深度学习训练任务的工作方法及装置 |
US17/761,877 US20230333898A1 (en) | 2019-09-20 | 2019-12-30 | Working method and device for deep learning training task |
PCT/CN2019/129995 WO2021051713A1 (zh) | 2019-09-20 | 2019-12-30 | 一种深度学习训练任务的工作方法及装置 |
KR1020227010633A KR102719980B1 (ko) | 2019-09-20 | 2019-12-30 | 딥러닝 트레이닝 태스크의 작동 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894815.1A CN110618870B (zh) | 2019-09-20 | 2019-09-20 | 一种深度学习训练任务的工作方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618870A true CN110618870A (zh) | 2019-12-27 |
CN110618870B CN110618870B (zh) | 2021-11-19 |
Family
ID=68923824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910894815.1A Active CN110618870B (zh) | 2019-09-20 | 2019-09-20 | 一种深度学习训练任务的工作方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230333898A1 (zh) |
CN (1) | CN110618870B (zh) |
WO (1) | WO2021051713A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191794A (zh) * | 2019-12-29 | 2020-05-22 | 广东浪潮大数据研究有限公司 | 一种训练任务处理方法、装置、设备及可读存储介质 |
CN111738404A (zh) * | 2020-05-08 | 2020-10-02 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111880911A (zh) * | 2020-06-19 | 2020-11-03 | 浪潮电子信息产业股份有限公司 | 一种任务负载调度方法、装置、设备及可读存储介质 |
CN112084017A (zh) * | 2020-07-30 | 2020-12-15 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
WO2021051713A1 (zh) * | 2019-09-20 | 2021-03-25 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN112988383A (zh) * | 2021-03-12 | 2021-06-18 | 中国平安人寿保险股份有限公司 | 一种资源分配方法、装置、设备以及存储介质 |
CN113127163A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 模型验证方法、装置及电子设备 |
CN113377520A (zh) * | 2021-07-07 | 2021-09-10 | 北京百度网讯科技有限公司 | 资源调度方法、装置、设备以及存储介质 |
CN113900793A (zh) * | 2021-07-29 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种服务器集群及其深度学习的集合通信系统和方法 |
CN114091688A (zh) * | 2021-11-25 | 2022-02-25 | 北京九章云极科技有限公司 | 一种计算资源获取方法、装置、电子设备和存储介质 |
WO2022257302A1 (zh) * | 2021-06-09 | 2022-12-15 | 苏州浪潮智能科技有限公司 | Ai训练平台的训练任务创建方法、装置、系统及介质 |
CN116187426A (zh) * | 2022-11-09 | 2023-05-30 | 北京百度网讯科技有限公司 | 深度学习模型的模型参数多流广播方法及其装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12056082B2 (en) * | 2020-11-11 | 2024-08-06 | Nippon Telegraph And Telephone Corporation | Distributed processing system and method |
CN113033098B (zh) * | 2021-03-26 | 2022-05-17 | 山东科技大学 | 一种基于AdaRW算法的海洋目标检测深度学习模型训练方法 |
CN113469372B (zh) * | 2021-07-02 | 2024-09-13 | 北京市商汤科技开发有限公司 | 强化学习训练方法、装置、电子设备以及存储介质 |
CN115378818B (zh) * | 2022-10-26 | 2023-02-24 | 西南民族大学 | 一种适用于大规模分布式机器学习的新型拓扑设计方法 |
CN116155750B (zh) * | 2023-04-19 | 2023-08-01 | 之江实验室 | 深度学习作业资源放置方法、系统、设备和存储介质 |
CN117687802B (zh) * | 2024-02-02 | 2024-04-30 | 湖南马栏山视频先进技术研究院有限公司 | 一种基于云平台的深度学习并行调度方法、装置和云平台 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198755A1 (en) * | 2012-01-31 | 2013-08-01 | Electronics And Telecommunications Research Institute | Apparatus and method for managing resources in cluster computing environment |
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN105573827A (zh) * | 2015-12-11 | 2016-05-11 | 联动优势电子商务有限公司 | 一种多机并行处理方法及装置 |
CN106878439A (zh) * | 2017-03-03 | 2017-06-20 | 广东浪潮大数据研究有限公司 | 一种多节点计算机系统内中继节点选择和资源分配方法 |
CN106919442A (zh) * | 2015-12-24 | 2017-07-04 | 中国电信股份有限公司 | 多gpu调度装置和分布式计算系统以及多gpu调度方法 |
CN108460457A (zh) * | 2018-03-30 | 2018-08-28 | 苏州纳智天地智能科技有限公司 | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 |
US20180307984A1 (en) * | 2017-04-24 | 2018-10-25 | Intel Corporation | Dynamic distributed training of machine learning models |
CN108805798A (zh) * | 2017-05-05 | 2018-11-13 | 英特尔公司 | 用于深度学习框架的细粒度计算通信执行 |
CN109660526A (zh) * | 2018-12-05 | 2019-04-19 | 国网江西省电力有限公司信息通信分公司 | 一种应用于信息安全领域的大数据分析方法 |
CN110231976A (zh) * | 2019-05-20 | 2019-09-13 | 西安交通大学 | 一种基于负载预测的边缘计算平台容器部署方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052811B (zh) * | 2014-06-17 | 2018-01-02 | 华为技术有限公司 | 一种业务调度的方法、装置及系统 |
JP2019067084A (ja) * | 2017-09-29 | 2019-04-25 | 富士通株式会社 | 情報処理システム、情報処理装置、及び、転送先決定方法 |
US11373088B2 (en) * | 2017-12-30 | 2022-06-28 | Intel Corporation | Machine learning accelerator mechanism |
US11429862B2 (en) * | 2018-03-20 | 2022-08-30 | Sri International | Dynamic adaptation of deep neural networks |
US10728091B2 (en) * | 2018-04-04 | 2020-07-28 | EMC IP Holding Company LLC | Topology-aware provisioning of hardware accelerator resources in a distributed environment |
CN110389816B (zh) * | 2018-04-20 | 2023-05-23 | 伊姆西Ip控股有限责任公司 | 用于资源调度的方法、装置以及计算机可读介质 |
CN110795228B (zh) * | 2018-08-03 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 用于训练深度学习模型的方法和制品、以及计算系统 |
CN109918199B (zh) * | 2019-02-28 | 2023-06-16 | 中国科学技术大学苏州研究院 | 基于gpu的分布式图处理系统 |
CN110618870B (zh) * | 2019-09-20 | 2021-11-19 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
-
2019
- 2019-09-20 CN CN201910894815.1A patent/CN110618870B/zh active Active
- 2019-12-30 US US17/761,877 patent/US20230333898A1/en active Pending
- 2019-12-30 WO PCT/CN2019/129995 patent/WO2021051713A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198755A1 (en) * | 2012-01-31 | 2013-08-01 | Electronics And Telecommunications Research Institute | Apparatus and method for managing resources in cluster computing environment |
CN103699440A (zh) * | 2012-09-27 | 2014-04-02 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
CN105573827A (zh) * | 2015-12-11 | 2016-05-11 | 联动优势电子商务有限公司 | 一种多机并行处理方法及装置 |
CN106919442A (zh) * | 2015-12-24 | 2017-07-04 | 中国电信股份有限公司 | 多gpu调度装置和分布式计算系统以及多gpu调度方法 |
CN106878439A (zh) * | 2017-03-03 | 2017-06-20 | 广东浪潮大数据研究有限公司 | 一种多节点计算机系统内中继节点选择和资源分配方法 |
US20180307984A1 (en) * | 2017-04-24 | 2018-10-25 | Intel Corporation | Dynamic distributed training of machine learning models |
CN108805798A (zh) * | 2017-05-05 | 2018-11-13 | 英特尔公司 | 用于深度学习框架的细粒度计算通信执行 |
CN108460457A (zh) * | 2018-03-30 | 2018-08-28 | 苏州纳智天地智能科技有限公司 | 一种面向卷积神经网络的多机多卡混合并行异步训练方法 |
CN109660526A (zh) * | 2018-12-05 | 2019-04-19 | 国网江西省电力有限公司信息通信分公司 | 一种应用于信息安全领域的大数据分析方法 |
CN110231976A (zh) * | 2019-05-20 | 2019-09-13 | 西安交通大学 | 一种基于负载预测的边缘计算平台容器部署方法及系统 |
Non-Patent Citations (4)
Title |
---|
JOEWANG: "实现Tensorflow多机并行线性加速", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/29149294》 * |
T. SUN等: "Accelerating Support Vector Machine Learning with GPU-Based MapReduce", 《2015 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN, AND CYBERNETICS》 * |
YIN L等: "ParaX: Boosting Deep Learning for Big Data Analytics on Many-Core CPUs", 《PROCEEDINGS OF THE VLDB ENDOWMENT》 * |
杨志刚等: "基于虚拟化的多GPU深度神经网络训练框架", 《计算机工程》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021051713A1 (zh) * | 2019-09-20 | 2021-03-25 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN111191794A (zh) * | 2019-12-29 | 2020-05-22 | 广东浪潮大数据研究有限公司 | 一种训练任务处理方法、装置、设备及可读存储介质 |
CN111191794B (zh) * | 2019-12-29 | 2023-03-14 | 广东浪潮大数据研究有限公司 | 一种训练任务处理方法、装置、设备及可读存储介质 |
CN113127163A (zh) * | 2019-12-31 | 2021-07-16 | 杭州海康威视数字技术股份有限公司 | 模型验证方法、装置及电子设备 |
CN111738404B (zh) * | 2020-05-08 | 2024-01-12 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111738404A (zh) * | 2020-05-08 | 2020-10-02 | 深圳市万普拉斯科技有限公司 | 模型训练任务处理方法、装置、电子设备和存储介质 |
CN111880911A (zh) * | 2020-06-19 | 2020-11-03 | 浪潮电子信息产业股份有限公司 | 一种任务负载调度方法、装置、设备及可读存储介质 |
CN112084017A (zh) * | 2020-07-30 | 2020-12-15 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN112084017B (zh) * | 2020-07-30 | 2024-04-19 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN112988383A (zh) * | 2021-03-12 | 2021-06-18 | 中国平安人寿保险股份有限公司 | 一种资源分配方法、装置、设备以及存储介质 |
WO2022257302A1 (zh) * | 2021-06-09 | 2022-12-15 | 苏州浪潮智能科技有限公司 | Ai训练平台的训练任务创建方法、装置、系统及介质 |
CN113377520A (zh) * | 2021-07-07 | 2021-09-10 | 北京百度网讯科技有限公司 | 资源调度方法、装置、设备以及存储介质 |
CN113900793A (zh) * | 2021-07-29 | 2022-01-07 | 苏州浪潮智能科技有限公司 | 一种服务器集群及其深度学习的集合通信系统和方法 |
CN113900793B (zh) * | 2021-07-29 | 2023-11-10 | 苏州浪潮智能科技有限公司 | 一种服务器集群及其深度学习的集合通信系统和方法 |
CN114091688A (zh) * | 2021-11-25 | 2022-02-25 | 北京九章云极科技有限公司 | 一种计算资源获取方法、装置、电子设备和存储介质 |
CN116187426A (zh) * | 2022-11-09 | 2023-05-30 | 北京百度网讯科技有限公司 | 深度学习模型的模型参数多流广播方法及其装置 |
CN116187426B (zh) * | 2022-11-09 | 2024-04-19 | 北京百度网讯科技有限公司 | 深度学习模型的模型参数多流广播方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110618870B (zh) | 2021-11-19 |
US20230333898A1 (en) | 2023-10-19 |
KR20220054396A (ko) | 2022-05-02 |
WO2021051713A1 (zh) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618870B (zh) | 一种深度学习训练任务的工作方法及装置 | |
CN111614746B (zh) | 云主机集群的负载均衡方法、装置及服务器 | |
CN104038540B (zh) | 一种应用代理服务器自动选择方法及系统 | |
TWI547817B (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
CN109451540B (zh) | 一种网络切片的资源分配方法和设备 | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
CN110502321A (zh) | 一种资源调度方法及系统 | |
CN113094179B (zh) | 作业分配方法、装置、电子设备及可读存储介质 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN103997515B (zh) | 一种分布式云中计算中心选择方法及其应用 | |
CN114327811A (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN108984286A (zh) | 一种云计算平台的资源调度方法和系统 | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN110308965A (zh) | 云数据中心的基于规则的启发式虚拟机分配方法及系统 | |
CN110958192B (zh) | 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法 | |
WO2016197706A1 (zh) | 数据的迁移方法及装置 | |
CN107918676B (zh) | 结构化查询的资源优化方法及数据库查询系统 | |
CN103617083A (zh) | 存储调度方法和系统、作业调度方法和系统及管理节点 | |
CN106020971B (zh) | 云主机系统中的cpu调度方法及装置 | |
CN112912849B (zh) | 一种基于图数据的计算运行调度方法、系统、计算机可读介质及设备 | |
Nishanbayev et al. | Evaluating the effectiveness of a software-defined cloud data center with a distributed structure | |
US11637791B2 (en) | Processing allocation in data center fleets | |
CN113438173B (zh) | 路由和频谱分配方法、装置、存储介质以及电子设备 | |
CN105120008A (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 |