[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110399222A - Gpu集群深度学习任务并行化方法、装置及电子设备 - Google Patents

Gpu集群深度学习任务并行化方法、装置及电子设备 Download PDF

Info

Publication number
CN110399222A
CN110399222A CN201910675587.9A CN201910675587A CN110399222A CN 110399222 A CN110399222 A CN 110399222A CN 201910675587 A CN201910675587 A CN 201910675587A CN 110399222 A CN110399222 A CN 110399222A
Authority
CN
China
Prior art keywords
gpu
deep learning
processed
task
learning 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
Application number
CN201910675587.9A
Other languages
English (en)
Other versions
CN110399222B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201910675587.9A priority Critical patent/CN110399222B/zh
Publication of CN110399222A publication Critical patent/CN110399222A/zh
Application granted granted Critical
Publication of CN110399222B publication Critical patent/CN110399222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供的GPU集群深度学习任务并行化方法、装置及电子设备,涉及互联网技术领域,通过先分析待处理深度学习任务和GPU集群各计算节点的相似性,确定待处理深度学习任务在GPU集群中的目标计算节点,以减少计算节点资源争用的可能性,从而提高了深度学习任务系统资源的利用率和执行效率,再根据待处理深度学习任务的需要的GPU个数,将待处理深度学习任务分为多个目标子任务,分析目标子任务的干扰等级和通讯代价,从而确定目标子任务在目标计算节点中的目标GPU,以避免计算节点中GPU上的资源分配不均衡,实现了深度学习任务的高度并行化,提高了GPU集群的资源利用率,同时提高了深度学习任务的执行效率。

Description

GPU集群深度学习任务并行化方法、装置及电子设备
技术领域
本申请涉及互联网技术领域,特别是涉及GPU集群深度学习任务并行化方法、装置及电子设备。
背景技术
随着深度学习研究的不断深入,深度学习技术在计算机视觉、语音识别、文本处理等领域取得了丰硕的成果,为人们的生活带来了极大的便利。然而,结构复杂的神经网络模型和数量庞大的数据对计算能力提出了更高的要求。GPU(Graphic Processing Unit,图像处理器)集群整合多个GPU计算资源,为计算密集型深度学习任务提供了强大、高效的并行计算能力,有效地解决了多个深度学习任务的计算需求。
然而当深度学习任务在资源共享的GPU云平台上运行时,其执行效率会被其他共同执行任务间的资源竞争所产生的干扰所影响。因此对于GPU集群中的深度学习任务,如何根据任务的信息和任务对资源的需求进行任务并行化调度,实现对GPU集群中节点以及节点上多个GPU资源的合理利用,对于优化深度学习任务的执行时间,提升整个计算任务的处理性能,提高系统的资源利用率至关重要。
目前主流的GPU集群主要采用传统的调度器(例如:Kubernetes,Yarn)来调度深度学习任务。通过统计整体资源的使用情况,合理的将资源分配给GPU使用,并确保GPU的生命周期内有足够的资源来保证其运行。
虽然该方法在一定程度上实现了深度学习任务的并行化,但是该方法主要考虑资源的使用情况,没有考虑资源的物理特性和任务本身的特性,不能实现深度学习任务的高效并行化,会降低深度学习工作负载的执行效率。同时,该方法不支持GPU的细粒度多任务分配,不能充分利用节点上的GPU资源,会影响深度学习任务的高效执行,降低节点的GPU利用率,从而影响GPU集群的资源利用率。
发明内容
本申请实施例的目的在于提供GPU集群深度学习任务并行化方法、装置、电子设备、存储介质及包含指令的计算机程序产品,实现了深度学习任务的高度并行化,提高GPU集群中GPU资源的利用率以及深度学习任务的执行效率。
具体技术方案如下:
第一方面,本申请实施例提供了一种GPU集群深度学习任务并行化方法,包括:
获取待处理深度学习任务和GPU集群的任务集信息,所述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息;
分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性;
根据所述相似性,确定所述待处理深度学习任务在所述GPU集群中的目标计算节点;
根据所述待处理深度学习任务需要的GPU个数,将所述待处理深度学习任务分为多个目标子任务;
分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价;
根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU。
可选的,所述信息待处理深度学习任务的任务信息,包括:所述待处理深度学习任务的最大CPU使用率、所述待处理深度学习任务的主机内存使用率、所述待处理深度学习任务的I/O吞吐量、所述待处理深度学习任务的GPU使用率、所述待处理深度学习任务的设备内存使用率、所述待处理深度学习任务的带宽使用率、所述待处理深度学习任务每个步骤分析的样本数量、所述待处理深度学习任务的数据集的大小。
可选的,所述分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性,包括:
将所述待处理深度学习任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息输入预设相似性预测模型中,分别得到所述待处理深度学习任务的特征向量所述GPU集群各计算节点等待队列中的各任务的特征向量;
根据如下公式,分别计算所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,…,n},θJiSjk是所述Ji和所述Sjk的夹角度数,cos(θJisjk)Jisjk代表所述第i个待处理深度学习任务和所述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,‖Ji‖为Ji向量的模,||Sjk||为Sjk向量的模;
根据所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性,得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性。
可选的,所述分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价,包括:
将所述多个目标子任务分别映射到所述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系;
将所述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,分别得到所述目标子任务与各GPU正在执行的各子任务共同执行时的性能降级;
根据各所述性能降级分别计算所述目标子任务的干扰等级;
根据各GPU之间的可用带宽以及更新模型所需的数据量分别计算得到所述目标子任务的通信代价。
可选的,所述根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU,包括:
确定目标GPU的目标函数,其中,所述目标函数为:
式中为目标函数值,I(M)代表映射关系为M时的干扰等级,C(M)代表映射关系为M时的通信代价,α为I(M)的权重,β为C(M)的权重,且遵循α+β=1;
最小时,所述映射关系为M时所对应的GPU即为所述目标GPU。
可选的,所述根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU,包括:
根据预设优化算法、所述干扰等级和所述通讯代价确定所述目标子任务在所述目标计算节点中的目标GPU,所述预设优化算法为蚁群算法、遗传算法、模拟退火算法或粒子群优化算法。
第二方面,本申请实施例提供了一种GPU集群深度学习任务并行化装置,包括:
采集模块,用于获取待处理深度学习任务和GPU集群的任务集信息,所述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息;
第一分析模块,用于分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性;
计算节点确定模块,用于根据所述相似性,确定所述待处理深度学习任务在所述GPU集群中的目标计算节点;
子任务模块,用于根据所述待处理深度学习任务需要的GPU个数,将所述待处理深度学习任务分为多个目标子任务;
第二分析模块,用于分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价;
GPU确定模块,用于根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU。
可选的,所述待处理深度学习任务的任务信息,包括:所述待处理深度学习任务的最大CPU使用率、所述待处理深度学习任务的主机内存使用率、所述待处理深度学习任务的I/O吞吐量、所述待处理深度学习任务的GPU使用率、所述待处理深度学习任务的设备内存使用率、所述待处理深度学习任务的带宽使用率、所述待处理深度学习任务每个步骤分析的样本数量、所述待处理深度学习任务的数据集的大小中的至少一种。
可选的,所述第一分析模块具体用于:
将所述待处理深度学习任务信息和所述GPU集群各计算节点等待队列中的任务信息输入预设相似性预测模型中,分别得到所述待处理深度学习任务的特征向量和所述GPU集群各计算节点等待队列中的任务的特征向量;
根据如下公式,分别计算所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,…,n},θJiSjk是所述Ji和所述Sjk的夹角度数,cos(θJiSjk)Jisjk代表所述第i个待处理深度学习任务和所述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,‖Ji‖为Ji向量的模,||Sjk||为Sjk向量的模;
根据所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性,得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性。可选的,所述第二分析模块具体用于:
将所述多个目标子任务分别映射到所述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系;
将所述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,分别得到所述目标子任务与各GPU正在执行的各子任务共同执行时的性能降级;
根据各所述性能降级分别计算所述目标子任务的干扰等级;
根据各GPU之间的可用带宽以及更新模型所需的数据量分别计算得到所述目标子任务的通信代价。
可选的,所述第二分析模块具体用于:
确定目标GPU的目标函数,其中,所述目标函数为:
式中为目标函数值,I(M)代表映射关系为M时的干扰等级,C(M)代表映射关系为M时的通信代价,α为I(M)的权重,β为C(M)的权重,且遵循α+β=1;
最小时,所述映射关系为M时所对应的GPU即为所述目标GPU。
可选的,所述第二分析模块具体用于:
根据预设优化算法、所述干扰等级和所述通讯代价确定所述目标子任务在所述目标计算节点中的目标GPU,所述预设优化算法为蚁群算法、遗传算法、模拟退火算法或粒子群优化算法。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中:
所述处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的GPU集群深度学习任务并行化方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的GPU集群深度学习任务并行化方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的GPU集群深度学习任务并行化方法。
本申请实施例提供的GPU集群深度学习任务并行化方法、装置、电子设备、存储介质及包含指令的计算机程序产品,通过先分析待处理深度学习任务和GPU集群各计算节点的相似性,确定待处理深度学习任务在GPU集群中的目标计算节点,通过充分考虑待处理深度学习任务与其他任务之间的相似性,以减少计算节点资源争用的可能性,从而提高了深度学习任务系统资源的利用率和执行效率,再根据待处理深度学习任务的需要的GPU个数,将待处理深度学习任务分为多个目标子任务,分析目标子任务的干扰等级和通讯代价,从而确定目标子任务在目标计算节点中的目标GPU,通过考虑目标子任务的干扰等级和通讯代价,避免计算节点中GPU上的资源分配不均衡,实现了深度学习任务的高度并行化,提高了GPU集群的资源利用率,同时提高了深度学习任务的执行效率。当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的GPU集群深度学习任务并行化方法的一种示意图;
图2为本申请实施例的GPU集群深度学习任务并行化装置的一种示意图;
图3为本申请实施例的电子设备的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种GPU集群深度学习任务并行化方法、装置、电子设备、存储介质及包含指令的计算机程序产品,以下分别进行说明。
本申请实施例提供了GPU集群深度学习任务并行化方法,参见图1,图1为本申请实施例的GPU集群深度学习任务并行化方法的一种示意图,包括如下步骤:
步骤110,获取待处理深度学习任务和GPU集群的任务集信息,上述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息。
本申请实施例的GPU集群深度学习任务并行化方法可以通过电子设备实现,具体的,该电子设备可以为服务器。
为了提高GPU的计算性能,可以横向扩展为GPU集群,即由多个节点上的多个GPU组成GPU集群,这样GPU集群整合多个GPU可以完成复杂的计算任务。所以在GPU集群进行大规模深度学习任训练时,GPU集群中的深度学习任务可以有多个,待处理深度学习任务为其中的任一任务,假设系统有p个待处理深度学习任务,将待处理深度学习任务定义为Ji,i∈{1,…,p}。GPU集群中包含任务集,其中上述任务集包括GPU集群各计算节点等待队列中的各任务、GPU集群各计算节点中各GPU正在执行的各子任务。
步骤120,分析上述待处理深度学习任务的任务信息和上述GPU集群各计算节点等待队列中各任务的任务信息,分别得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性。
为了提高GPU集群的执行效率和计算资源的利用率,需要计算上述待处理深度学习任务和上述GPU集群各计算节点的相似性,以避免计算资源之间的干扰。
在一种可能的实施方式中,上述待处理深度学习任务的任务信息,包括:上述待处理深度学习任务的最大CPU使用率、上述待处理深度学习任务的主机内存使用率、上述待处理深度学习任务的I/O吞吐量、上述待处理深度学习任务的GPU使用率、上述待处理深度学习任务的设备内存使用率、上述待处理深度学习任务的带宽使用率、上述待处理深度学习任务每个步骤分析的样本数量、上述待处理深度学习任务的数据集的大小。
在本申请实施例中,将上述待处理深度学习任务特征化描述为Ji=(jUCPU,jUhMem,jThPI/O,jUGPU,jUdMem,jThPPCIe,batch_size,dsize),其中jUCPU代表上述待处理深度学习任务的最大CPU使用率、jUhMem代表上述待处理深度学习任务的主机内存使用率、jThPI/O代表上述待处理深度学习任务的I/O吞吐量、jUGPU代表上述待处理深度学习任务的GPU使用率、jUdMem代表上述待处理深度学习任务的设备内存使用率、jThPPCIe代表上述待处理深度学习任务的带宽使用率、batch_size代表上述待处理深度学习任务在每个训练步骤中将分析的样本数量,dsize代表上述待处理深度学习任务的数据集的大小。
在一种可能的实施方式中,上述分析上述待处理深度学习任务的任务信息和上述GPU集群各计算节点等待队列中各任务的任务信息,分别得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性,包括:
将上述待处理深度学习任务信息和上述GPU集群各计算节点等待队列中的任务信息输入预设相似性预测模型中,分别得到上述待处理深度学习任务的特征向量和上述GPU集群各计算节点等待队列中的任务的特征向量;
根据如下公式,分别计算上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,…,n},θJiSjk是上述Ji和上述Sjk的夹角度数,cos(θJisjk)JiSjk代表上述第i个待处理深度学习任务和上述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,‖Ji‖为Ji向量的模,||Sjk||为Sjk向量的模;
根据上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性,得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性。
上述预设相似性预测模型可以为IASP(Interference-AwareSimilarityPrediction,干扰感知相似性预测)模型。
例如,定义待处理深度学习任务-度量矩阵MJ来表征上述待处理深度学习任务,其中矩阵MJ的每一行代表一个上述待处理深度学习任务,每一列代表上述待处理深度学习任务的一个性能特征,即由CPU资源使用率和GPU资源使用率组成。
获取上述待处理深度学习任务Ji的任务信息,将上述待处理深度学习任务的任务信息标准化并填入上述矩阵MJ中相应行,对队列中的每个待处理深度学习任务Ji,使用小数据量对其进行分析,从待处理深度学习任务的特征中任意选择两个特征获得其特征值。使用虚拟文件系统,即proc文件系统分析CPU资源使用率,得到CPU度量,并且使用性能分析工具,如NVIDIA Profiler工具分析GPU资源使用率,得到GPU度量,将分析得到的性能度量填写到待处理深度学习任务特征化向量Ji中,并将向量Ji插入到矩阵MJ中。
使用IASP模型来预测上述矩阵MJ中缺失的特征值,通过IASP模型预测的特征对上述矩阵MJ进行填充,得到完整的矩阵。通过IASP模型得到上述待处理深度学习任务的特征向量。同理,将上述GPU集群各计算节点等待队列中的任务的任务信息输入IASP模型,得到上述GPU集群各计算节点等待队列中的任务的特征向量。
具体的,IASP模型为深度协同过滤模型,如DCF(Deep Collaborative Filtering,深度协同过滤)模型来进行相似性预测。,进一步的,可以使用随机梯度下降法(SGD)来优化DCF模型。
根据如下公式,分别计算上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,…,n},θJiSjk是上述Ji和上述Sjk的夹角度数,cos(θJjSjk)Jisjk代表上述第i个待处理深度学习任务和上述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,‖Ji‖为Ji向量的模,||Sjk||为Sjk向量的模;
根据上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性,得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性。例如,Ji与Sj的相似性为Ji与Sj中各个任务相似性的平均值,即分别计算上述待处理深度学习任务Ji和上述GPU集群各计算节点等待队列中的Sj中n任务之间的相似性后,计算各个相似性的平均值,得到上述第i个待处理深度学习任务与上述GPU集群第j个计算节点等待队列中任务的相似性。
因为Sj包含n个任务,则需要计算上述第i个待处理深度学习任务和上述GPU集群中的第j个计算节点等待队列中的每个任务之间的相似性,计算所有的相似性的平均值,得到上述第i个待处理深度学习任务与上述GPU集群中的第j个计算节点等待队列中的任务的相似性。
步骤130,根据上述相似性,确定上述待处理深度学习任务在上述GPU集群中的目标计算节点。
根据上述相似性,相似性为最小的上述GPU集群中计算节点,即为上述待处理深度学习任务在上述GPU集群中的目标计算节点。
选择相似性最小的计算节点,可以避免计算资源争抢,提高GPU集群的执行效率和计算资源的利用率。
步骤140,根据上述待处理深度学习任务需要的GPU个数,将上述待处理深度学习任务分为多个目标子任务。
上述待处理深度学习任务分配到上述GPU集群中的目标计算节点后,根据上述待处理深度学习任务需要的GPU个数,将上述待处理深度学习任务分为多个目标子任务,例如待处理深度学习任务Ji,定义待处理深度学习任务分为多个目标子任务为其中n代表待处理深度学习任务Ji中的子任务数量。
定义目标子任务为Ti j,j∈{1,…,n},Ti j∈Ji,n表示上述待处理深度学习任务共分为n个目标子任务,其中Ti j表示第j个目标子任务。
步骤150,分析上述目标子任务的任务信息和上述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各上述目标子任务的干扰等级和通讯代价。
定义上述目标计算节点中的GPU集合为Gk,k∈{1,…,m},其中m表示目标计算节点中一共有m个GPU,Gk为第k个GPU。
定义目标子任务为
Ti j=(tESM,tUL1,tThPL1,tUL2,tThPL2,tUTex,tThPTex,tUDRAM,tThPDRAM,tThPL,tThPS,batch_size,sub_dsize),其中tESM、tUL1、tThPL1、tUL2、tThPL2、tUTex、tThPTex、tUDRAM、tThPDRAM、tThPL和tThPS分别代表上述目标子任务的SM效率、GPU L1高速缓存使用率、L1读吞吐量、GPUL2高速缓存使用率、L2读吞吐量、GPU纹理缓存使用率、纹理缓存读吞吐量、GPU内存使用率、内存读吞吐量、全局加载吞吐量、全局存储吞吐量,sub_dsize表示目标子任务的数据集的大小。
在一种可能的实施方式中,上述分析上述目标子任务的任务信息和上述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各上述目标子任务的干扰等级和通讯代价,包括:
将上述多个目标子任务分别映射到上述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系;
将上述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,分别得到上述目标子任务与各GPU正在执行的各子任务共同执行时的性能降级;
根据各上述性能降级分别计算上述目标子任务的干扰等级;
根据各GPU之间的可用带宽以及更新模型所需的数据量分别计算得到上述目标子任务的通信代价。
定义子任务与其他子任务一起运行时的完成时间与单独运行时的完成时间之比来表示性能降级。
将上述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,预设性能预测模型可以为IAPP(Interference-Aware PerformancePrediction,干扰感知性能预测)模型,具体的,预设性能预测模型可以为DNN(Deep Neural Network深度神经网络)模型。
例如,定义目标子任务为Ji={Ti 1,…,Ti n},j∈{1,…,n},Ti j∈Ji,n表示上述待处理深度学习任务共分为n个目标子任务,其中Ti j表示第j个目标子任务,定义上述目标计算节点中的各GPU集合为G={G1…Gm},其中m表示目标计算节点中的有m个GPU,将上述多个目标子任务Ji={Ti 1,…,Ti n}分别映射到上述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系,定义映射关系为M(j)=k,j∈{1,…,n},k∈{1,…,m},n表示上述待处理深度学习任务共分为n个目标子任务,m表示目标计算节点中一共有m个GPU,M(j)=k表示第j个目标子任务Ti j被分配到第k个GPU,即Gk
具体的,定义子任务-度量矩阵Mt来表征子任务,子任务为将上述目标子任务或各GPU正在执行的子任务。
各GPU正在执行的各子任务将矩阵Mt中的向量输入IAPP模型的输出是向量zt,向量zt中每个元素表示目标子任务在与其他子任务共同执行时的性能降级。
使用以下公式计算将目标子任务Ti j分配到一个GPU上的平均性能降级。
其中Slowdownjk表示目标子任务Ti j分配到上述目标计算节点中第k个GPU上的平均性能降级,numk表示上述目标计算节点中第k个GPU上共同执行的子任务数量。
定义干扰等级为其中I(M(j))代表第j个目标子任务Ti j的映射关系为M(j)的干扰等级,n表示待处理深度学习任务分为n个目标子任务。将从Gi到Gj的通信代价定义为ccij,i∈{1,…,m},j∈{1,…,m},Gi表示上述目标计算节点中第i个GPU,Gj表示上述目标计算节点中第j个GPU。通信代价可以由物理GPU之间的可用带宽计算得出,其中高可用带宽意味着低通信成本,低可用带宽意味着高通信成本。
将目标子任务Ti i和目标子任务Ti j之间的通信需求定义为crij,通信需求定义等于更新模型所需的数据量。根据以下公式得到目标子任务Ti i和目标子任务Ti j之间的通信代价:
C(M)代表映射关系为M时的通信代价。
步骤160,根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU。
通过考虑目标子任务的干扰等级和通讯代价,避免计算节点中GPU上的资源分配不均衡,实现了深度学习任务的高度并行化,提高了GPU集群的资源利用率,同时提高了深度学习任务的执行效率。
在一种可能的实施方式中,上述根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU,包括:
确定目标GPU的目标函数,其中,上述目标函数为:
式中为目标函数值,I(M)代表映射关系为M时的干扰等级,C(M)代表映射关系为M时的通信代价,α为I(M)的权重,β为C(M)的权重,且遵循α+β=1;
最小时,上述映射关系为M时所对应的GPU即为上述目标GPU。
通过考虑目标子任务的干扰等级和通讯代价,避免计算节点中GPU上的资源分配不均衡,实现了深度学习任务的高度并行化,提高了GPU集群的资源利用率,同时提高了深度学习任务的执行效率。
在一种可能的实施方式中,上述根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU,包括:
根据预设优化算法、上述干扰等级和上述通讯代价确定上述目标子任务在上述目标计算节点中的目标GPU,上述预设优化算法为蚁群算法、遗传算法、模拟退火算法或粒子群优化算法。
例如粒子群优化算法初始化一群粒子,粒子代表要分配的目标子任务。然后我们从GPU集合G={G1…Gm}中随机初始化粒子位置并且随机初始化粒子速度,分配给粒子的每个维度的适应度值是GPU的编号,比如k为第k个GPU,即粒子表示多个任务到GPU的映射。
每个粒子由其当前位置和当前速度表示,并且每个粒子都知道粒子所发现的最佳位置pbest以及迄今为止整个粒子群中的全局最佳位置gbest。该算法的原理是移动这些粒子以找到最优解。每个粒子位置受其最佳位置pbest和全局最佳位置gbest的影响。每个粒子可以使用通过优化每一代中的适应度函数计算的适应度值来更新其最佳位置pbest。在每次迭代过程中,每个例子都可以使用以下公式来更新其速度和位置。
其中,ω是用于维持粒子的惯性权重,c1和c2是加速系数,r1和r2是0到1之间的随机数。
使用目标函数来执行每个粒子的评估,然后根据以下两个公式来更新每个粒子的速度和位置:
执行迭代直到达到指定的迭代次数或满足迭代精度,找到最优的GPU。
根据预设优化算法、上述干扰等级和上述通讯代价确定上述目标子任务在上述目标计算节点中的目标GPU,可以最大化提高GPU集群的资源利用率,同时最大化提高深度学习任务的执行效率。
通过先分析待处理深度学习任务和GPU集群各计算节点的相似性,确定待处理深度学习任务在GPU集群中的目标计算节点,通过充分考虑待处理深度学习任务与其他任务之间的相似性,以减少计算节点资源争用的可能性,从而提高了深度学习任务系统资源的利用率和执行效率,再根据待处理深度学习任务的需要的GPU个数,将待处理深度学习任务分为多个目标子任务,分析目标子任务的干扰等级和通讯代价,从而确定目标子任务在目标计算节点中的目标GPU,通过考虑目标子任务的干扰等级和通讯代价,避免计算节点中GPU上的资源分配不均衡,实现了深度学习任务的高度并行化,提高了GPU集群的资源利用率,同时提高了深度学习任务的执行效率。
本申请实施例还提供了一种装置,参见图2,图2为本申请实施例的GPU集群深度学习任务并行化装置的一种示意图,上述装置包括:
采集模块210,用于获取待处理深度学习任务和GPU集群的任务集信息,上述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息;
第一分析模块220,用于分析上述待处理深度学习任务的任务信息和上述GPU集群各计算节点等待队列中各任务的任务信息,分别得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性;
计算节点确定模块230,用于根据上述相似性,确定上述待处理深度学习任务在上述GPU集群中的目标计算节点;
子任务模块240,用于根据上述待处理深度学习任务需要的GPU个数,将上述待处理深度学习任务分为多个目标子任务;
第二分析模块250,用于分析上述目标子任务的任务信息和上述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各上述目标子任务的干扰等级和通讯代价;
GPU确定模块260,用于根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU。
在一种可能的实施方式中,上述待处理深度学习任务的任务信息,包括:上述待处理深度学习任务的最大CPU使用率、上述待处理深度学习任务的主机内存使用率、上述待处理深度学习任务的I/O吞吐量、上述待处理深度学习任务的GPU使用率、上述待处理深度学习任务的设备内存使用率、上述待处理深度学习任务的带宽使用率、上述待处理深度学习任务每个步骤分析的样本数量、上述待处理深度学习任务的数据集的大小中的至少一种。
在一种可能的实施方式中,上述第一分析模块220具体用于:
将上述待处理深度学习任务信息和上述GPU集群各计算节点等待队列中的任务信息输入预设相似性预测模型中,分别得到上述待处理深度学习任务的特征向量和上述GPU集群各计算节点等待队列中的任务的特征向量;
根据如下公式,分别计算上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,…,n},θJiSjk是上述Ji和上述Sjk的夹角度数,cos(θJiSjk)JiSjk代表上述第i个待处理深度学习任务和上述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,‖Ji‖为Ji向量的模,||Sjk||为Sjk向量的模;
根据上述待处理深度学习任务和上述GPU集群各计算节点等待队列中的各任务之间的相似性,得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性。在一种可能的实施方式中,上述第二分析模块250具体用于:
将上述多个目标子任务分别映射到上述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系;
将上述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,分别得到上述目标子任务与各GPU正在执行的各子任务共同执行时的性能降级;
根据各上述性能降级分别计算上述目标子任务的干扰等级;
根据各GPU之间的可用带宽以及更新模型所需的数据量分别计算得到上述目标子任务的通信代价。
在一种可能的实施方式中,上述第二分析模块250具体用于:
确定目标GPU的目标函数,其中,上述目标函数为:
式中为目标函数值,I(M)代表映射关系为M时的干扰等级,C(M)代表映射关系为M时的通信代价,α为I(M)的权重,β为C(M)的权重,且遵循α+β=1;
最小时,上述映射关系为M时所对应的GPU即为上述目标GPU。
在一种可能的实施方式中,上述第二分析模块250具体用于:
根据预设优化算法、上述干扰等级和上述通讯代价确定上述目标子任务在上述目标计算节点中的目标GPU,上述预设优化算法为蚁群算法、遗传算法、模拟退火算法或粒子群优化算法。
本申请实施例还提供了一种电子设备,参见图3,包括:处理器310、通信接口320、存储器330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信,
上述存储器330,用于存放计算机程序;
上述处理器310,用于执行上述存储器330存放的计算机程序时,实现如下步骤:
获取待处理深度学习任务和GPU集群的任务集信息,上述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息;
分析上述待处理深度学习任务的任务信息和上述GPU集群各计算节点等待队列中各任务的任务信息,分别得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性;
根据上述相似性,确定上述待处理深度学习任务在上述GPU集群中的目标计算节点;
根据上述待处理深度学习任务需要的GPU个数,将上述待处理深度学习任务分为多个目标子任务;
分析上述目标子任务的任务信息和上述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各上述目标子任务的干扰等级和通讯代价;
根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU。
比如,电子设备的处理器310包括中心控制单元和多个GPU组成的GPU集群,其中GPU集群包括多个计算节点,每个计算节点由多个GPU组成,中心控制单元包括数据采集器、集群管理单元、节点管理单元,电子设备用于在GPU集群中多个深度学习任务并行处理。其中,数据采集器获取待处理深度学习任务和GPU集群的任务集信息,集群管理单元分析上述待处理深度学习任务的任务信息和上述GPU集群各计算节点等待队列中各任务的任务信息,分别得到上述待处理深度学习任务和上述GPU集群各计算节点的相似性,并根据上述相似性,确定上述待处理深度学习任务在上述GPU集群中的目标计算节点,节点管理单元根据上述待处理深度学习任务需要的GPU个数,将上述待处理深度学习任务分为多个目标子任务,然后分析上述目标子任务的任务信息和上述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各上述目标子任务的干扰等级和通讯代价,最后根据各上述目标子任务的干扰等级和上述通讯代价,在上述目标计算节点的GPU中分别确定各上述目标子任务的执行GPU。
可选的,处理器310,用于执行存储器330上所存放的程序时,还可以实现上述任一GPU集群深度学习任务并行化方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、GPU(Graphic Processing Unit,图像处理器)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请实施例中,还提供了一种存储介质,该可存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一GPU集群深度学习任务并行化方法。
在本申请实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一上述的GPU集群深度学习任务并行化方法。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上上述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种GPU集群深度学习任务并行化方法,其特征在于,包括:
获取待处理深度学习任务和GPU集群的任务集信息,所述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的子任务的各任务信息;
分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性;
根据所述相似性,确定所述待处理深度学习任务在所述GPU集群中的目标计算节点;
根据所述待处理深度学习任务需要的GPU个数,将所述待处理深度学习任务分为多个目标子任务;
分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价;
根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU。
2.根据权利要求1所述的方法,其特征在于,所述待处理深度学习任务的任务信息,包括:所述待处理深度学习任务的最大CPU使用率、所述待处理深度学习任务的主机内存使用率、所述待处理深度学习任务的I/O吞吐量、所述待处理深度学习任务的GPU使用率、所述待处理深度学习任务的设备内存使用率、所述待处理深度学习任务的带宽使用率、所述待处理深度学习任务每个步骤分析的样本数量、所述待处理深度学习任务的数据集的大小。
3.根据权利要求1所述的方法,其特征在于,所述分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性,包括:
将所述待处理深度学习任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息输入预设相似性预测模型中,分别得到所述待处理深度学习任务的特征向量和所述GPU集群各计算节点等待队列中的各任务的特征向量;
根据如下公式,分别计算所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性:
其中,Ji代表第i个待处理深度学习任务的特征向量,Sj代表GPU集群中的第j个计算节点等待队列中任务的特征向量,其中Sj包含n个任务,Sjk代表GPU集群中的第j个计算节点等待队列中第k个任务的特征向量,k∈{1,...,n},θJiSjk是所述Ji和所述Sjk的夹角度数,cos(θJiSjk)JiSjk代表所述第i个待处理深度学习任务和所述GPU集群中的第j个计算节点等待队列中的第k个任务的相似性,||Ji||为Ji向量的模,||Sjk||为Sjk向量的模;
根据所述待处理深度学习任务和所述GPU集群各计算节点等待队列中的各任务之间的相似性,得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性。
4.根据权利要求1所述的方法,其特征在于,所述分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价,包括:
将所述多个目标子任务分别映射到所述目标计算节点中的各GPU,得到目标子任务与各个GPU的映射关系;
将所述目标子任务和各GPU正在执行的各子任务分别输入预设性能预测模型中,分别得到所述目标子任务与各GPU正在执行的各子任务共同执行时的性能降级;
根据各所述性能降级分别计算所述目标子任务的干扰等级;
根据各GPU之间的可用带宽以及更新模型所需的数据量分别计算得到所述目标子任务的通信代价。
5.根据权利要求1所述的方法,其特征在于,所述根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU,包括:
确定目标GPU的目标函数,其中,所述目标函数为:
式中为目标函数值,I(M)代表映射关系为M时的干扰等级,C(M)代表映射关系为M时的通信代价,α为I(M)的权重,β为C(M)的权重,且遵循α+β=1;
最小时,所述映射关系为M时所对应的GPU即为所述目标GPU。
6.根据权利要求1-5任一所述的方法,其特征在于,所述根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU,包括:
根据预设优化算法、所述干扰等级和所述通讯代价确定所述目标子任务在所述目标计算节点中的目标GPU,所述预设优化算法为蚁群算法、遗传算法、模拟退火算法或粒子群优化算法。
7.一种GPU集群深度学习任务并行化装置,其特征在于,包括:
采集模块,用于获取待处理深度学习任务和GPU集群的任务集信息,所述GPU集群的任务集信息包括GPU集群各计算节点等待队列中各任务的任务信息、GPU集群各计算节点中各GPU正在执行的各子任务的任务信息;
第一分析模块,用于分析所述待处理深度学习任务的任务信息和所述GPU集群各计算节点等待队列中各任务的任务信息,分别得到所述待处理深度学习任务和所述GPU集群各计算节点的相似性;
计算节点确定模块,用于根据所述相似性,确定所述待处理深度学习任务在所述GPU集群中的目标计算节点;
子任务模块,用于根据所述待处理深度学习任务需要的GPU个数,将所述待处理深度学习任务分为多个目标子任务;
第二分析模块,用于分析所述目标子任务的任务信息和所述目标计算节点中的各GPU正在执行的各子任务的任务信息,分别得到各所述目标子任务的干扰等级和通讯代价;
GPU确定模块,用于根据各所述目标子任务的干扰等级和所述通讯代价,在所述目标计算节点的GPU中分别确定各所述目标子任务的执行GPU。
8.根据权利要求7所述的装置,其特征在于,所述待处理深度学习任务的任务信息,包括:所述待处理深度学习任务的最大CPU使用率、所述待处理深度学习任务的主机内存使用率、所述待处理深度学习任务的I/O吞吐量、所述待处理深度学习任务的GPU使用率、所述待处理深度学习任务的设备内存使用率、所述待处理深度学习任务的带宽使用率、所述待处理深度学习任务每个步骤分析的样本数量、所述待处理深度学习任务的数据集的大小中的至少一种。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,
所述处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6中任一项所述的GPU集群深度学习任务并行化方法。
10.一种存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的GPU集群深度学习任务并行化方法。
CN201910675587.9A 2019-07-25 2019-07-25 Gpu集群深度学习任务并行化方法、装置及电子设备 Active CN110399222B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910675587.9A CN110399222B (zh) 2019-07-25 2019-07-25 Gpu集群深度学习任务并行化方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910675587.9A CN110399222B (zh) 2019-07-25 2019-07-25 Gpu集群深度学习任务并行化方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN110399222A true CN110399222A (zh) 2019-11-01
CN110399222B CN110399222B (zh) 2022-01-21

Family

ID=68325235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910675587.9A Active CN110399222B (zh) 2019-07-25 2019-07-25 Gpu集群深度学习任务并行化方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110399222B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104289A (zh) * 2019-12-25 2020-05-05 创新奇智(上海)科技有限公司 一种gpu集群的效率检查系统及方法
CN111258735A (zh) * 2020-01-16 2020-06-09 中国人民解放军国防科技大学 一种支持用户QoS感知的深度学习任务调度方法
CN111309479A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质
CN111866187A (zh) * 2020-06-30 2020-10-30 中科院计算所西部高等技术研究院 分布式深度学习推理云平台任务调度方法
CN111913799A (zh) * 2020-07-14 2020-11-10 北京华夏启信科技有限公司 一种视频流在线分析任务调度方法和计算机设备
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法
CN112584143A (zh) * 2020-12-02 2021-03-30 浙江大华技术股份有限公司 一种视频编码方法、装置、系统及计算机可读存储介质
CN112905316A (zh) * 2021-02-02 2021-06-04 杭州电子科技大学 基于遗传算法的gpu集群多作业调度方法
CN112965809A (zh) * 2019-12-12 2021-06-15 深圳市优必选科技股份有限公司 深度学习任务处理系统和方法
CN113194086A (zh) * 2021-04-27 2021-07-30 新华三信息安全技术有限公司 一种防攻击的方法及设备
CN113377520A (zh) * 2021-07-07 2021-09-10 北京百度网讯科技有限公司 资源调度方法、装置、设备以及存储介质
CN113900793A (zh) * 2021-07-29 2022-01-07 苏州浪潮智能科技有限公司 一种服务器集群及其深度学习的集合通信系统和方法
CN114116220A (zh) * 2021-11-29 2022-03-01 苏州浪潮智能科技有限公司 一种gpu共享控制方法、gpu共享控制装置及存储介质
CN114138449A (zh) * 2021-12-14 2022-03-04 河南省儿童医院郑州儿童医院 一种基于虚拟现实的康复训练系统
CN114285766A (zh) * 2021-08-20 2022-04-05 腾讯科技(深圳)有限公司 一种网络带宽检测方法、装置、电子设备和存储介质
WO2022116142A1 (zh) * 2020-12-04 2022-06-09 深圳大学 一种基于图神经网络的资源调度方法
CN115248728A (zh) * 2022-09-21 2022-10-28 之江实验室 面向智能计算的分布式训练任务调度方法、系统和装置
CN115373861A (zh) * 2022-10-26 2022-11-22 小米汽车科技有限公司 Gpu资源调度方法、装置、电子设备及存储介质
WO2024022046A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 一种深度学习系统和方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125369A1 (en) * 2003-12-09 2005-06-09 Microsoft Corporation System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit
US20140201741A1 (en) * 2010-07-26 2014-07-17 Microsoft Corporation Workload interference estimation and performance optimization
US20150301862A1 (en) * 2012-09-14 2015-10-22 International Business Machines Corporation Preferential cpu utilization for tasks
CN105900064A (zh) * 2014-11-19 2016-08-24 华为技术有限公司 调度数据流任务的方法和装置
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN107135257A (zh) * 2017-04-28 2017-09-05 东方网力科技股份有限公司 一种节点集群中任务分配的方法、节点和系统
CN107329828A (zh) * 2017-06-26 2017-11-07 华中科技大学 一种面向cpu/gpu异构集群的数据流编程方法和系统
CN107766148A (zh) * 2017-08-31 2018-03-06 北京百度网讯科技有限公司 一种异构集群及任务处理方法和装置
CN109101339A (zh) * 2018-08-15 2018-12-28 北京邮电大学 异构集群中视频任务并行化方法、装置及异构集群系统
CN109936604A (zh) * 2017-12-18 2019-06-25 北京图森未来科技有限公司 一种资源调度方法、装置和系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125369A1 (en) * 2003-12-09 2005-06-09 Microsoft Corporation System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit
US20140201741A1 (en) * 2010-07-26 2014-07-17 Microsoft Corporation Workload interference estimation and performance optimization
US20150301862A1 (en) * 2012-09-14 2015-10-22 International Business Machines Corporation Preferential cpu utilization for tasks
CN105900064A (zh) * 2014-11-19 2016-08-24 华为技术有限公司 调度数据流任务的方法和装置
CN107045456A (zh) * 2016-02-05 2017-08-15 华为技术有限公司 一种资源分配方法及资源管理器
CN107135257A (zh) * 2017-04-28 2017-09-05 东方网力科技股份有限公司 一种节点集群中任务分配的方法、节点和系统
CN107329828A (zh) * 2017-06-26 2017-11-07 华中科技大学 一种面向cpu/gpu异构集群的数据流编程方法和系统
CN107766148A (zh) * 2017-08-31 2018-03-06 北京百度网讯科技有限公司 一种异构集群及任务处理方法和装置
CN109936604A (zh) * 2017-12-18 2019-06-25 北京图森未来科技有限公司 一种资源调度方法、装置和系统
CN109101339A (zh) * 2018-08-15 2018-12-28 北京邮电大学 异构集群中视频任务并行化方法、装置及异构集群系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GEORGE TEODORO ET.AL: ""Approximate Similarity Search for Online Multimedia Services on Distributed CPU-GPU Platforms"", 《ARXIV》 *
HAITAO ZHANG ET.AL: ""Learning Driven Parallelization for Large-Scale Video Workload in Hybrid CPU-GPU Cluster"", 《ICPP 2018》 *
JEON, M. ET.AL: ""Multi-tenant GPU clusters for deep learning workloads"", 《TECHNICAL REPORT, MSR-TR-2018》 *
WEI QIAO ET.AL: ""DLTAP: A Network-efficient Scheduling Method for Distributed Deep Learning Workload in Containerized Cluster Environment"", 《ITM WEB OF CONFERENCES》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965809A (zh) * 2019-12-12 2021-06-15 深圳市优必选科技股份有限公司 深度学习任务处理系统和方法
CN111104289A (zh) * 2019-12-25 2020-05-05 创新奇智(上海)科技有限公司 一种gpu集群的效率检查系统及方法
CN111258735A (zh) * 2020-01-16 2020-06-09 中国人民解放军国防科技大学 一种支持用户QoS感知的深度学习任务调度方法
CN111309479A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质
US11954522B2 (en) 2020-02-14 2024-04-09 Beijing Baidu Netcom Science And Technology Co., Ltd. Method for processing tasks in parallel, device and storage medium
CN111866187B (zh) * 2020-06-30 2022-10-04 中科院计算所西部高等技术研究院 分布式深度学习推理云平台任务调度方法
CN111866187A (zh) * 2020-06-30 2020-10-30 中科院计算所西部高等技术研究院 分布式深度学习推理云平台任务调度方法
CN111913799A (zh) * 2020-07-14 2020-11-10 北京华夏启信科技有限公司 一种视频流在线分析任务调度方法和计算机设备
CN111913799B (zh) * 2020-07-14 2024-04-19 北京华夏启信科技有限公司 一种视频流在线分析任务调度方法和计算机设备
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法
CN112416585B (zh) * 2020-11-20 2024-03-15 南京大学 面向深度学习的gpu资源管理与智能化调度方法
CN112584143A (zh) * 2020-12-02 2021-03-30 浙江大华技术股份有限公司 一种视频编码方法、装置、系统及计算机可读存储介质
CN112584143B (zh) * 2020-12-02 2022-09-06 浙江大华技术股份有限公司 一种视频编码方法、装置、系统及计算机可读存储介质
WO2022116142A1 (zh) * 2020-12-04 2022-06-09 深圳大学 一种基于图神经网络的资源调度方法
CN112905316A (zh) * 2021-02-02 2021-06-04 杭州电子科技大学 基于遗传算法的gpu集群多作业调度方法
CN113194086A (zh) * 2021-04-27 2021-07-30 新华三信息安全技术有限公司 一种防攻击的方法及设备
CN113194086B (zh) * 2021-04-27 2022-05-27 新华三信息安全技术有限公司 一种防攻击的方法及设备
CN113377520A (zh) * 2021-07-07 2021-09-10 北京百度网讯科技有限公司 资源调度方法、装置、设备以及存储介质
CN113900793A (zh) * 2021-07-29 2022-01-07 苏州浪潮智能科技有限公司 一种服务器集群及其深度学习的集合通信系统和方法
CN113900793B (zh) * 2021-07-29 2023-11-10 苏州浪潮智能科技有限公司 一种服务器集群及其深度学习的集合通信系统和方法
CN114285766B (zh) * 2021-08-20 2023-06-13 腾讯科技(深圳)有限公司 一种网络带宽检测方法、装置、电子设备和存储介质
CN114285766A (zh) * 2021-08-20 2022-04-05 腾讯科技(深圳)有限公司 一种网络带宽检测方法、装置、电子设备和存储介质
CN114116220A (zh) * 2021-11-29 2022-03-01 苏州浪潮智能科技有限公司 一种gpu共享控制方法、gpu共享控制装置及存储介质
CN114138449A (zh) * 2021-12-14 2022-03-04 河南省儿童医院郑州儿童医院 一种基于虚拟现实的康复训练系统
WO2024022046A1 (zh) * 2022-07-28 2024-02-01 华为技术有限公司 一种深度学习系统和方法
CN115248728A (zh) * 2022-09-21 2022-10-28 之江实验室 面向智能计算的分布式训练任务调度方法、系统和装置
CN115373861A (zh) * 2022-10-26 2022-11-22 小米汽车科技有限公司 Gpu资源调度方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110399222B (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
CN110399222A (zh) Gpu集群深度学习任务并行化方法、装置及电子设备
CN110389820B (zh) 一种基于v-TGRU模型进行资源预测的私有云任务调度方法
CN103631657B (zh) 一种基于MapReduce的任务调度方法
CN1956457B (zh) 用于安排网格计算系统中的网格作业的方法和设备
Ding et al. Kubernetes-oriented microservice placement with dynamic resource allocation
US9239734B2 (en) Scheduling method and system, computing grid, and corresponding computer-program product
Abdel‐Basset et al. IEGA: an improved elitism‐based genetic algorithm for task scheduling problem in fog computing
CN105373432B (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN101263458A (zh) 用于网格网络节流和负载收集器的方法和装置
Chen et al. Scheduling independent tasks in cloud environment based on modified differential evolution
You et al. Comprehensive workload analysis and modeling of a petascale supercomputer
CN113886080B (zh) 高性能集群任务调度方法、装置、电子设备及存储介质
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
CN115168027A (zh) 一种基于深度强化学习的算力资源度量方法
Geng et al. Interference-aware parallelization for deep learning workload in GPU cluster
Nguyen et al. Modeling multi-constrained fog-cloud environment for task scheduling problem
Xilin et al. Resource allocation optimization of equipment development task based on MOPSO algorithm
CN108427602A (zh) 一种分布式计算任务的协同调度方法及装置
Li et al. Batch jobs load balancing scheduling in cloud computing using distributional reinforcement learning
CN116225708A (zh) 一种gpu资源调度方法及装置
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
Yu [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment
Prado et al. On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers
Zhang et al. A resource optimization scheduling model and algorithm for heterogeneous computing clusters based on GNN and RL
Zhou et al. Stability property of clouds and cooperative scheduling policies on multiple types of resources in cloud computing

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