CN114647515A - 一种面向gpu集群的动态资源调度方法 - Google Patents
一种面向gpu集群的动态资源调度方法 Download PDFInfo
- Publication number
- CN114647515A CN114647515A CN202210382828.2A CN202210382828A CN114647515A CN 114647515 A CN114647515 A CN 114647515A CN 202210382828 A CN202210382828 A CN 202210382828A CN 114647515 A CN114647515 A CN 114647515A
- Authority
- CN
- China
- Prior art keywords
- resource
- task
- gpu
- node
- scheme
- 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
Links
Images
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
- G06F9/5038—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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域
本发明涉及一种面向GPU集群的动态资源调度方法,GPU集群上借助分布式深度学习技术利用多个GPU设备对深度神经网络(Deep Neural Networks,DNN)模型进行并行训练,从而加快训练过程。
背景技术
深度学习技术在过去几年被应用于众多业务场景当中,研发人员根据业务场景的目标特征构建DNN模型,并在特定数据集上反复训练直至模型精度维持在一个预期的水平,从而达到业务场景的复杂程度提高,此时需要结构更复杂并且层数越来越多的DNN模型来获得较高的精度,同时数据集的规模也不断地增长,导致训练一个DNN模型需要耗费大量的时间。
因此学术界和工业界需要通过分布式并行计算的方式构建分布式深度学习任务,在GPU集群上使用多个GPU设备同时对DNN模型进行训练从而加快训练过程。现在的主流的机器学习框架,如PyTorch、TensorFlow等,都对分布式深度学习提供了完整的技术支持。
多数企业和高校通常会采购多个GPU设备组建一个中小规模的GPU集群来运行多个用户的分布式深度学习任务。他们目前使用现有的GPU集群调度器,例如Yarn、Mesos和Kubernetes,并未对分布式深度学习任务提供良好的调度支持,会导致资源分配不当,运行效率不高,无法满足用户要求。在某实验室使用Yarn进行资源管理的GPU集群中,同一机架和跨机架分别采用无线宽带技术和以太网对GPU设备之间进行互联,由于GPU设备间的带宽差异,不同资源布局方式会导致DNN模型的训练效率不同,该GPU集群上的历史调度日志表明该GPU集群的平均资源利用率仅有50%。此外,对于GPU集群用户而言,任务截止时间是衡量用户满意度的关键指标,在大多数情况下,用户可以接受在截止时间之前完成的任务,而当任务结束时间超过截止时间时,用户对于GPU集群的性能满意度会大幅下降。
许多专家和学者在GPU集群的资源调度上针对不同的优化指标进行了研究,现有相关工作主要从减少任务完成时间和提升GPU集群性能指标两方面进行资源调度过程。现有相关工作虽然能够较为有效地解决GPU集群的资源调度问题,其中尝试结合资源分配、资源布局和截止时间需求的研究工作较少,但是对于在异构带宽环境下最大化截止时间保证率仍存在一定的局限性。
发明内容
本发明的一个目的是针对异构带宽环境下具有截止时间需求的多任务调度问题,提出一种面向GPU集群的动态调度的方法,将资源配置、资源布局和截止时间需求相结合得到调度决策,最大化截止时间保证率并提高GPU集群节点的资源利用率。
本发明方法包括以下步骤:
一种面向GPU集群的动态资源调度方法,包括以下步骤:
步骤(1)、基于分布式机器学习的Ring-Allreduce通信架构下的DNN模型迭代特征和GPU设备间的带宽差异,构建资源-时间模型;
步骤(2)、基于资源方案使用的资源数量、任务运行时间和任务截止时间构建了资源-性能模型;
步骤(3)、在步骤(1)、(2)基础上进行分布式深度学习任务的动态资源方案决策;
步骤(5)、在动态资源调度算法每次执行任务调度流程前,将分析已运行任务情况,决定是否进行资源迁移:
步骤(6)、调度器执行调度算法选择新的任务至GPU集群运行。
本发明的另一个目的是提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述的方法。
本发明的又一个目的是提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述的方法。
本发明的有益效果:
1)利用时间模型获取任务在不同资源方案下的运行时间,其次利用性能模型指导分布式深度学习任务的最优资源方案生成,然后基于最近截止时间原则选择调度任务,最后进行资源分配确定资源方案的物理资源位置,生成含有GPU集群节点序号和GPU数量的运行方案。借助机器学习框架应用接口在GPU集群服务器上启动任务运行脚本,完成资源调度过程。
2)引入迁移机制减少调度过程中出现的资源碎片场景的影响。
3)Ring-Allreduce通信架构能够有效减少参数同步阶段所需要的通信时间。
4)使用资源-性能模型对可用资源方案进行筛选,保留可进行有效分布式训练的资源方案,减少出现资源浪费的现象。
与现有技术相比,本发明综合考虑了任务自身的完成时间和用户截至完成时间,根据GPU集群负载情况和任务运行情况可实时动态调度GPU工作,有效减少了深度学习训练任务完成时间,最大化截止时间保证率并有效地提高了GPU集群工作效率和GPU集群节点的资源利用率。
相关概念定义及符号说明
cfree:表示空闲GPU数量;
Trun:表示在某个资源方案下的实际运行时间;
Tcal:表示单个GPU设备上的计算时间;
ls:表示一个单节点资源方案列表;
lm:表示跨节点资源方案列表。
附图说明
图1:Ring-Allreduce通信架构示意图。
图2:资源配置决策示意图。
图3:物理资源分配示意图。
图4:资源迁移机制示意图。
图5:动态资源调度方法示意图。
具体实施方式
下面结合附图对本发明做进一步的分析。
本发明面向GPU集群的动态资源调度方法包括以下步骤:
一种面向GPU集群的动态资源调度方法,其特征在于包括以下步骤:
步骤(1)、基于分布式机器学习的Ring-Allreduce通信架构下的DNN模型迭代特征和GPU设备间的带宽差异,构建资源-时间模型:
所述Ring-Allreduce通信架构包括互相通信的GPU集群的若干节点,每个节点中包括多个CPU和GPU,同一个节点上的GPU设备借助高速串行计算机扩展总线标准(PCIe)和快速通道互联(QPI)进行通信(其中GPU和GPU间采用PCIe通信,GPU和CPU间采用PCIe通信,CPU和CPU间采用QPI通信),GPU集群中的节点与节点之间则借助无线宽带技术(InfiniBand)进行通信;
所述资源-时间模型包括如下:
(1.1)分布式深度学习任务在某个资源方案下的实际运行时间Trun表示如下:
Trun=Tstep×Nstep×Nepoch 式(1)
其中,Tstep是DNN模型训练一个批次大小的数据集所花费的时间,Nstep是DNN模型在一个迭代回合中可输入的一个批次大小的数据集个数,Nepoch表示迭代回合;
(1.2)Tstep由单个CPU设备上的计算时间Tcal、CPU与CPU设备间的通信时间Tcomm所组成,其计算公式如下:
Tstep=Tcal+Tcomm 式(2)
(1.4)Nstep会随着资源方案所包含的GPU总数不同而发生变化,数量越多,则Nstep则相应地减少;Nstep、DNN模型训练数据集大小Sdataset、批次大小Sbatch和GPU总数NGPU在分布式数据并行训练过程中的关系如下:
其中,NGPU由资源方案上每个节点的cused累加得到,Cused表示训练任务在单个节点上被使用的GPU数量;
(1.5)通过将DNN模型放置在单个GPU设备上进行若干批次的迭代并记录对应的运行时间,由于不涉及多设备通信,因此该运行时间仅包含将单个GPU设备上的计算时间表示如下:
其中,T'step是若干次迭代的运行时间,N'step是相应的迭代次数;
(1.6)如果不存在通信时间,那么任务的运行时间和资源方案所包含的GPU总数将为正比关系,即随着GPU总数上升,任务的运行时间将会成比例下降.而存在通信时间时,则会导致运行效率的下降;Ring-Allreduce通信架构下的通信时间Tcomm表示如下:
其中,BW是两GPU设备之间的带宽速度,如果两GPU设备处于同一个节点上,则BW就是节点内GPU设备之间的带宽,如果两GPU设备处于不同节点,则BW就是节点间的网络带宽;
步骤(2)、基于资源方案使用的资源数量、任务运行时间和任务截止时间构建了资源-性能模型:
(2.1)截止时间建模:
(2.1.1)设用户对于任务的截止时间需求由任务到达时间、任务优先级以及任务最大运行时间所组成,其中最大运行时间是任务仅在单个GPU设备上的运行时间,定义若干任务优先级,将优先级转换为任务的期望运行时间Texp,其计算公式表示如下:
(2.1.2)设任务的到达时间和运行开始时间分别为Tarr和Tstart,则任务的截止时间Tdl和运行结束时间Tend则可分别表示为:
Tdl=Tarr+Texp 式(7)
Tend=Tstart+Trum 式(8)
(2.1.3)当任务的截至时间Tdl和运行结束时间Tend满足下述的式(9)时,说明任务结束时满足用户的截止时间需求:
Tend<Tdl 式(9)
(2.2)当资源方案所持有的GPU设备都位于同一节点上时,其带宽速度为GPU设备之间的直连带宽,而当资源方案所持有的GPU设备位于不同节点上时,其带宽速度则为节点和节点之间的网络带宽;由式(5)可知,在NGPU和Nparam不变时,Tcomm随着BW的减少而增加,将式(2)和式(3)代入式(1)中,并要求多机分布式训练的时间比单机训练的运行时间要来得短,则可以得到如下不等式:
其中,不等式前半部分和后半部分分别为DNN模型在多个节点和单个节点上训练一个迭代回合的时间,化简式(10)可得:
Tcomm<(NGPU-1)×Tcal 式(11)
当DNN模型在进行多机分布式训练时,Tcomm、NGPU和Tcal只有符合式(10)才能达到模型训练加速的目的;
(2.3)为衡量任务在不同资源方案下的性能,并在满足截至时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能,将资源-性能模型的性能公式定义为:
(2.3)为衡量任务在不同资源方案下的性能,并在满足截至时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能,将资源-性能模型的性能公式定义为:
其中Tdl表示任务的截至时间;
步骤(3)、在步骤(1)、(2)基础上进行分布式深度学习任务的动态资源方案决策的过程如下图2:
为等待队列中的每个任务基于集群空闲资源和资源布局生成可用资源方案列表,根据资源-性能模型并结合集群节点负载情况,确定每个任务的最优资源方案;具体如下:
(3.1)获取资源列表R,并设cfree>0的资源节点数量为n,cfree表示单个节点中空闲GPU数量,资源节点中cfree的最大值为max(cfree)及其累加和为sum(cfree),并初始化单节点资源方案列表ls和跨节点资源方案列表lm;
(3.2)如果n=1,则在资源列表R获取cused从1至max(cfree)的资源方案Rt添加到ls中,如果n>1,则在资源列表R获取cused从1至sum(cfree)的资源方案Rt添加到lm中;
根据式(1)和式(8)计算ls和lm中Rt的Trun和Tend,并根据式(11)过滤部分低效率的资源方案Rt;
(3.4)判断是否满足跨节点预期方案存在且GPU集群存在0<cfree<NGPU的资源节点,如果满足则说明当前任务存在跨节点资源方案可以利用局部资源并在Tdl内结束运行,此时最优资源方案如果不满足但存在,则最优资源方案如果不满足且仍不存在,则说明GPU集群当前空闲资源无法令当前任务在Tdl内运行结束运行,认为此时没有预期方案和可供选择,判断是否满足跨节点非预期方案存在且GPU集群存在0<cfree<NGPU的资源节点,如果满足则说明当前任务存在跨节点资源方案可以利用局部资源并在Tdl内结束运行,此时最优资源方案如果不满足,则最优资源方案
(4.1)获取资源列表R并按照节点的cfree升序排序;
(4.2)如果步骤(3)最优资源方案为单节点预期方案则遍历资源列表R,找到cfree≥NGPU的资源节点Node(s,cfree),从该资源节点Node(s,cfree)移出NGPU个GPU设备,将Node(s,Nused)添加到中,结束遍历,其中Node(s,cfree)表示GPU集群中的序号为s并且拥有cfree个空闲GPU的节点对象,s表示节点对象的序号;Node(s,Nused)表示GPU集群中的序号为s并且拥有Nused个使用中GPU的节点对象;
(4.3)如果步骤(3)最优资源方案为跨节点预期方案则设Nused=NGPU,NGPU是由资源方案上每个节点的cused累加得到的GPU总数,遍历资源列表R,找到cfree>0的资源节点对象Node(s,cfree),从该资源节点对象Node(s,cfree)和Nused分别移出min(cfree,Nused)个GPU设备,将资源节点对象Node(s,min(cfree,NGPU))添加到中,以此类推,直到Nused=0,结束遍历;Node(s,min(cfree,NGPU))表示Node(s,Nused)表示GPU集群中的序号为s并且拥有min(cfree,Nused)个GPU的节点对象;
步骤(5)、在动态资源调度算法每次执行任务调度流程前,将分析已运行任务情况,决定是否进行资源迁移过程如下图4;具体如下:
(5.1)初始化任务列表ls和lm;遍历运行任务队列Qrun,将原处于单节点运行的任务t添加到ls中,将原处于跨节点运行的任务t添加到lm中;
(5.2)将ls和lm中的任务t根据最优资源方案的GPU总数NGPU降序排序;首先遍历ls,对其中的任务t执行步骤(4)的物理资源分配过程,然后遍历lm,对其中的任务t同样执行步骤(4)的物理资源分配过程;
步骤(6)、调度器执行调度算法选择新的任务至GPU集群运行;具体如下:
(6.1)接收等待任务队列Qwait、资源列表R和当前时间Tcurr,其中Tcurr以单位时间增加,当分布式深度学习任务的到达时间Tarr=Tcurr时,将任务添加到队列Qwait中,此时根据式(7)预先计算任务的截至时间Tdl;
(6.2)动态资源调度的过程如下图5;具体步骤如下:
(6.2.1)根据GPU集群资源的负载情况,尝试执行步骤(5)的资源迁移过程;
(6.2.3)初始化预期任务队列Qexp和非预期任务队列如果任务的运行结束时间Tend和截止时间Tdl满足式(9),则将任务t添加到队列Qexp中,反之添加到队列中;将队列Qexp中的任务t根据Tdl-Tend的值升序降序,此时排在队头的任务t在资源方案下的Tend越接近Tdl;将队列中的任务t根据Tend的值升序排序,排在队头的任务t在资源方案下的Tend越接近Tdl;注意队列Qexp可能为空;
实验数据
(1)参与测量的DNN模型在GPU集群单个GPU设备训练多个迭代回合的时间
(2)实验数据对比:
(2.1)Earliest Deadline First(EDF):从等待队列中选择截止时间最小的任务并使用整体GPU资源进行资源分配;
(2.2)First In First Out(FIFO):等待任务队列中选择到达时间最小的任务并使用整体GPU资源进行资源分配;
(2.3)Themis:将GPU资源根据完成时间公平性分配给多个等待任务并一次性调度至GPU集群运行,尽可能保证任务之间具有相近的完成时间;
(2.4)No Resource Migration(NoRM):为了验证DRS引入迁移机制的有效性,将DRS中的迁移机制部分移除,比较它和DRS的各种性能指标。
(2.5)本发明面向GPU集群的动态资源调度方法为Dynamic Resource Scheduling(DRS)。
(3)不同任务抵达率对于各个调度算法性能的比较:
(3.1)截止时间保证率/%
(3.2)平均等待时间/h
(3.3)平均完成时间/h
(4)不同资源节点数量下对于各个调度算法性能的比较:
(4.1)截止时间保证率/%
(4.2)平均等待时间/h
(4.3)平均完成时间/h
(5)同紧急任务数量下对于各个调度算法性能的比较:
(5.1)截止时间保证率/%
(5.2)平均等待时间/h
(5.3)平均完成时间/h
(6)不同接收时间下对于各个调度算法性能的比较:
(6.1)截止时间保证率/%
(6.2)平均等待时间/h
(6.3)平均完成时间/h
Claims (9)
1.一种面向GPU集群的动态资源调度方法,其特征在于包括以下步骤:
步骤(1)、基于分布式机器学习的Ring-Allreduce通信架构下的DNN模型迭代特征和GPU设备间的带宽差异,构建资源-时间模型:
所述资源-时间模型包括如下:
(1.1)分布式深度学习任务在某个资源方案下的实际运行时间Trun表示如下:
Trun=Tstep×Nstep×Nepoch 式(1)
其中,Tstep是DNN模型训练一个批次大小的数据集所花费的时间,Nstep是DNN模型在一个迭代回合中可输入的一个批次大小的数据集个数,Nepoch表示迭代回合;
(1.2)Tstep由单个CPU设备上的计算时间Tcal、CPU与CPU设备间的通信时间Tcomm所组成,其计算公式如下:
Tstep=Tcal+Tcomm 式(2)
(1.4)Nstep会随着资源方案所包含的GPU总数不同而发生变化,数量越多,则Nstep则相应地减少;Nstep、DNN模型训练数据集大小Sdataset、批次大小Sbatch和GPU总数NGPU在分布式数据并行训练过程中的关系如下:
其中,NGPU由资源方案上每个节点的cused累加得到,cused表示训练任务在单个节点上被使用的GPU数量;
(1.5)通过将DNN模型放置在单个GPU设备上进行若干批次的迭代并记录对应的运行时间,由于不涉及多设备通信,因此该运行时间仅包含将单个GPU设备上的计算时间表示如下:
其中,T′step是若干次迭代的运行时间,N′step是相应的迭代次数;
(1.6)如果不存在通信时间,那么任务的运行时间和资源方案所包含的GPU总数将为正比关系,即随着GPU总数上升,任务的运行时间将会成比例下降.而存在通信时间时,则会导致运行效率的下降;Ring-Allreduce通信架构下的通信时间Tcomm表示如下:
其中,BW是两GPU设备之间的带宽速度,如果两GPU设备处于同一个节点上,则BW就是节点内GPU设备之间的带宽,如果两GPU设备处于不同节点,则BW就是节点间的网络带宽;
步骤(2)、基于资源方案使用的资源数量、任务运行时间和任务截止时间构建资源-性能模型:
(2.1)截止时间建模:
(2.1.1)设用户对于任务的截止时间需求由任务到达时间、任务优先级以及任务最大运行时间所组成,其中最大运行时间是任务仅在单个GPU设备上的运行时间,定义若干任务优先级,将优先级转换为任务的期望运行时间Texp,其计算公式表示如下:
(2.1.2)设任务的到达时间和运行开始时间分别为Tarr和Tstart,则任务的截止时间Tdl和运行结束时间Tend则可分别表示为:
Tdl=Tarr+Texp 式(7)
Tend=Tstart+Trun 式(8)
(2.1.3)当任务的截至时间Tdl和运行结束时间Tend满足下述的式(9)时,说明任务结束时满足用户的截止时间需求:
Tend<Tdl 式(9)
(2.2)当资源方案所持有的GPU设备都位于同一节点上时,其带宽速度为GPU设备之间的直连带宽,而当资源方案所持有的GPU设备位于不同节点上时,其带宽速度则为节点和节点之间的网络带宽;由式(5)可知,在NGPU和Nparam不变时,Tcomm随着BW的减少而增加,将式(2)和式(3)代入式(1)中,并要求多机分布式训练的时间比单机训练的运行时间要来得短,则可以得到如下不等式:
其中,不等式前半部分和后半部分分别为DNN模型在多个节点和单个节点上训练一个迭代回合的时间,化简式(10)可得:
Tcomm<(NGPU-1)×Tcal 式(11)
当DNN模型在进行多机分布式训练时,Tcomm、NGPU和Tcal只有符合式(10)才能达到模型训练加速的目的;
(2.3)为衡量任务在不同资源方案下的性能,并在满足截至时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能,将资源-性能模型的性能公式定义为:
(2.3)为衡量任务在不同资源方案下的性能,并在满足截至时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能,将资源-性能模型的性能公式定义为:
其中Tdl表示任务的截至时间;
步骤(3)、在步骤(1)、(2)基础上进行分布式深度学习任务的动态资源方案决策:
为等待队列中的每个任务基于集群空闲资源和资源布局生成可用资源方案列表,根据资源-性能模型并结合集群节点负载情况,确定每个任务的最优资源方案;
步骤(5)、在动态资源调度算法每次执行任务调度流程前,将分析已运行任务情况,决定是否进行资源迁移;
步骤(6)、调度器执行调度算法选择新的任务至GPU集群运行。
2.如权利要求1所述的一种面向GPU集群的动态资源调度方法,其特征在于步骤(1)中所述Ring-Allreduce通信架构包括互相通信的GPU集群的若干节点,每个节点中包括多个CPU和GPU,同一个节点上的GPU设备借助高速串行计算机扩展总线标准PCIe和快速通道互联QPI进行通信,其中GPU和GPU间采用PCIe通信,GPU和CPU间采用PCIe通信,CPU和CPU间采用QPI通信;GPU集群中的节点与节点之间则借助无线宽带技术进行通信。
3.如权利要求1所述的一种面向GPU集群的动态资源调度方法,其特征在于步骤(3)中具体如下:
(3.1)获取资源列表R,并设cfree>0的资源节点数量为n,cfree表示单个节点中空闲GPU数量,资源节点中cfree的最大值为max(cfree)及其累加和为sum(cfree),并初始化单节点资源方案列表ls和跨节点资源方案列表lm;
(3.2)如果n=1,则在资源列表R获取cused从1至max(cfree)的资源方案Rt添加到ls中,如果n>1,则在资源列表R获取cused从1至sum(cfree)的资源方案Rt添加到lm中;
根据式(1)和式(8)计算ls和lm中Rt的Trun和Tend,并根据式(11)过滤部分低效率的资源方案Rt;
4.如权利要求3所述的一种面向GPU集群的动态资源调度方法,其特征在于步骤(4)具体是:
(4.1)获取资源列表R并按照节点的cfree升序排序;
(4.2)如果步骤(3)最优资源方案为单节点预期方案则遍历资源列表R,找到cfree≥NGPU的资源节点Node(s,cfree),从该资源节点Node(s,cfree)移出NGPU个GPU设备,将Node(s,Nused)添加到中,结束遍历,其中Node(s,cfree)表示GPU集群中的序号为s并且拥有cfree个空闲GPU的节点对象,s表示节点对象的序号;Node(s,Nused)表示GPU集群中的序号为s并且拥有Nused个使用中GPU的节点对象;
6.如权利要求5所述的一种面向GPU集群的动态资源调度方法,其特征在于步骤(6)具体是:
(6.1)接收等待任务队列Qwait、资源列表R和当前时间Tcurr,其中Tcurr以单位时间增加,当分布式深度学习任务的到达时间Tarr=Tcurr时,将任务添加到队列Qwait中,此时根据式(7)预先计算任务的截至时间Tdl;
(6.2)动态资源调度。
7.如权利要求6所述的一种面向GPU集群的动态资源调度方法,其特征在于步骤(6.2)具体是:
(6.2.1)根据GPU集群资源的负载情况,尝试执行步骤(5)的资源迁移过程;
(6.2.3)初始化预期任务队列Qexp和非预期任务队列如果任务的运行结束时间Tend和截止时间Tdl满足式(9),则将任务t添加到队列Qexp中,反之添加到队列中;将队列Qexp中的任务t根据Tdl-Tend的值升序降序,此时排在队头的任务t在资源方案下的Tend越接近Tdl;将队列中的任务t根据Tend的值升序排序,排在队头的任务t在资源方案下的Tend越接近Tdl;注意队列Qexp可能为空;
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的方法。
9.一种机器可读存储介质,其特征在于,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210382828.2A CN114647515A (zh) | 2022-04-12 | 2022-04-12 | 一种面向gpu集群的动态资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210382828.2A CN114647515A (zh) | 2022-04-12 | 2022-04-12 | 一种面向gpu集群的动态资源调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114647515A true CN114647515A (zh) | 2022-06-21 |
Family
ID=81996955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210382828.2A Pending CN114647515A (zh) | 2022-04-12 | 2022-04-12 | 一种面向gpu集群的动态资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114647515A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314397A (zh) * | 2022-08-05 | 2022-11-08 | 中科计算技术西部研究院 | 用于分布式训练的网络模拟方法、系统、装置及存储介质 |
CN117032937A (zh) * | 2023-09-28 | 2023-11-10 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
CN117407155A (zh) * | 2023-09-22 | 2024-01-16 | 国网冀北电力有限公司信息通信分公司 | 资源方案确定方法、装置、存储介质及电子设备 |
CN117632444A (zh) * | 2024-01-26 | 2024-03-01 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
WO2024060789A1 (zh) * | 2022-09-21 | 2024-03-28 | 之江实验室 | 面向智能计算的分布式训练任务调度方法、系统和装置 |
-
2022
- 2022-04-12 CN CN202210382828.2A patent/CN114647515A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314397A (zh) * | 2022-08-05 | 2022-11-08 | 中科计算技术西部研究院 | 用于分布式训练的网络模拟方法、系统、装置及存储介质 |
CN115314397B (zh) * | 2022-08-05 | 2023-07-21 | 中科计算技术西部研究院 | 用于分布式训练的网络模拟方法、系统、装置及存储介质 |
WO2024060789A1 (zh) * | 2022-09-21 | 2024-03-28 | 之江实验室 | 面向智能计算的分布式训练任务调度方法、系统和装置 |
CN117407155A (zh) * | 2023-09-22 | 2024-01-16 | 国网冀北电力有限公司信息通信分公司 | 资源方案确定方法、装置、存储介质及电子设备 |
CN117032937A (zh) * | 2023-09-28 | 2023-11-10 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
CN117032937B (zh) * | 2023-09-28 | 2024-01-09 | 之江实验室 | 基于gpu的任务调度方法、电子装置和存储介质 |
CN117632444A (zh) * | 2024-01-26 | 2024-03-01 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
CN117632444B (zh) * | 2024-01-26 | 2024-06-11 | 之江实验室 | 一种计算机集群的npu容错调度系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114647515A (zh) | 一种面向gpu集群的动态资源调度方法 | |
CN110737529A (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN109561148A (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
CN107943568B (zh) | 综合模块化航空电子系统两级调度模型与原型平台 | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN111831415B (zh) | 一种多队列多集群的任务调度方法及系统 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN115994567B (zh) | 一种深度神经网络模型并行计算任务异步调度方法 | |
CN110780985A (zh) | 一种有限时间的并行任务调度方法与装置 | |
CN116932201A (zh) | 一种面向深度学习训练任务的多资源共享调度方法 | |
Peng et al. | Diversity vs. parallelism in distributed computing with redundancy | |
CN110275765B (zh) | 基于分支dag依赖的数据并行作业调度方法 | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN112698911B (zh) | 一种基于深度强化学习的云作业调度方法 | |
Xu et al. | Talos: A weighted speedup-aware device placement of deep learning models | |
CN110928683B (zh) | 基于两类密集型虚拟机的边缘计算资源分配方法 | |
CN113010319A (zh) | 混合启发式规则和遗传算法的动态工作流调度优化方法 | |
CN112448899A (zh) | 一种基于流量调度的多任务训练集群网络优化方法 | |
Al-Olimat et al. | Cloudlet Scheduling with Population Based Metaheuristics | |
CN113254195B (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 |