CN116048802A - 训练推理一体深度学习的gpu集群调度方法 - Google Patents

训练推理一体深度学习的gpu集群调度方法 Download PDF

Info

Publication number
CN116048802A
CN116048802A CN202310055908.1A CN202310055908A CN116048802A CN 116048802 A CN116048802 A CN 116048802A CN 202310055908 A CN202310055908 A CN 202310055908A CN 116048802 A CN116048802 A CN 116048802A
Authority
CN
China
Prior art keywords
training
reasoning
gpu
task
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310055908.1A
Other languages
English (en)
Inventor
尹建伟
陈振乾
赵新奎
智晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202310055908.1A priority Critical patent/CN116048802A/zh
Publication of CN116048802A publication Critical patent/CN116048802A/zh
Pending legal-status Critical Current

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/5083Techniques for rebalancing the load in a distributed system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种训练推理一体深度学习的GPU集群调度方法,能够实现推理的在线业务和训练的离线业务混合部署,在保障推理任务服务质量的前提下,提高集群资源利用率,降低训练任务训练开销。本发明充分考虑到训‑推任务混部调度下的挑战,使用低复杂度的背包算法建模和调度训练任务,省去了遗传算法在大规模集群和负载情况下的高调度开销;实现推理调度算法管理训练推理集群计算资源,降低训‑推集群资源借出与回收阶段对训练、推理任务的影响;引入自适应弹性训练,在快速弹性训练的基础上,引入超参数优化环节,在额外开销可以忽略不计的情况下,降低训练任务总体执行时间。

Description

训练推理一体深度学习的GPU集群调度方法
技术领域
本发明属于分布式系统及多租户深度学习应用技术领域,具体涉及一种训练推理一体深度学习的GPU集群调度方法。
背景技术
近年来,深度学习技术已经广泛地在计算机视觉、自然语言处理、语音、推荐系统等领域落地应用,同时训练上述任务的模型以及模型推理逐渐成为云计算集群的主要负载。云服务厂商为了更好地管理算力资源,设计GPU集群调度系统,在多租户训练集群中实现降低模型训练时长,在推理集群中确保推理任务服务质量的目标。
分布式训练任务作为典型的长时间的离线业务,对实时响应的要求不高;弹性训练技术的引入使得在集群负载规模低时,集群调度器定期轮询集群内训练作业和资源使用情况,调整训练任务GPU数量加速训练过程,因此对训练集群的挑战在于使用有限的GPU保证多租户训练的高效和公平。
文献[Qiao,Aurick,et al."Pollux:Co-adaptive cluster scheduling forgoodput-optimized deep learning."15th USENIX Symposium on Operating SystemsDesign and Implementation(OSDI 21).2021]提出了基于Goodput的超参优化多租户集群训练调度系统,Pollux考虑到选择合适的超参数在多租户训练场景下的意义,在不同的资源分配情况下基于Goodput动态调整批处理量、学习率等,并使用遗传算法调度多租户训练任务;然而,在训练推理的大规模集群和负载场景下,遗传算法调度复杂度过高,影响推理任务的实时性。
推理任务是典型的在线业务,对实时性有高要求,因此推理集群为了确保负载高峰情形下的服务质量,会针对最大负载预留推理集群节点或GPU,然而负载的时间周期性导致推理集群的GPU资源在多数时候空闲,造成大量的资源浪费。
文献[Li,Jiamin,et al."Aryl:An Elastic Cluster Scheduler for DeepLearning."arXiv preprint arXiv:2202.07896(2022)]设计了一种训练推理集群管理系统,它将多租户训练任务调度建模为一个背包问题,以最大加权时间作为优化目标,对于推理任务在回收时,回收训练任务使用GPU最少的整个节点;然而,其多租户训练调度目标对于短时间训练任务不友好,导致较长的训练任务平均执行时间,同时推理任务调度在回收方式上节点级的粗粒度仍具有优化空间。
由于深度学习训练、推理在任务特性以及部署需求上存在较大差异,现有的工作往往将人工的将GPU划分为训练、推理集群,导致训练集群资源不足效率低下而推理集群在低负载时段资源冗余的矛盾现象。实现一个训练推理一体深度学习集群调度系统的主要挑战在于:
1.设计公平、高效的训练任务调度算法;训练任务GPU分配是NP难问题,避免高复杂度造成的开销影响推理任务实时性。
2.管理推理集群资源生命周期;在保证推理任务服务质量的前提下,根据推理集群资源生命周期状态进行GPU借出-回收。
3.设计对训练任务影响尽可能小的推理调度算法;推理集群在回收借出资源时,减少对训练效率、公平性的影响,并且在分配推理集群资源时,确保剩余部分在借出给训练任务时,分布式训练收益最大化。
发明内容
鉴于上述,本发明提供了一种训练推理一体深度学习的GPU集群调度方法,其支持在大规模集群、大量训练,推理负载的情形下,以低复杂度近似求解训练任务的最优资源分配;同时为推理集群GPU设置了生命周期管理机制,避免频繁的推理集群GPU资源的借出与回收对训练和推理任务造成波动影响;最后设计推理调度算法,减少回收阶段对训练任务的影响,最大化借出阶段对训练作业的收益。
一种训练推理一体深度学习的GPU集群调度方法,包括如下步骤:
(1)利用训推一体的调度控制器同时管理训练集群和推理集群的GPU资源,对于分布式训练任务,采用时间间隔轮询的方式更新GPU分配,同时对推理任务实时处理;
(2)对于任一分布式训练任务,确定其允许分配的GPU个数w作为分组背包的权重,并计算对应权重下的任务加速比作为分组背包问题下的价值v;
(3)根据所述价值v计算确定每一分布式训练任务的分配方案;
(4)对于分配更新的分布式训练任务,执行自适应弹性资源切换,更新训练超参;
(5)对于推理调度,在确保服务质量等级的前提下,将推理任务放置在对训练任务当前以及未来影响最小的GPU上。
进一步地,所述步骤(1)中调度控制器同时管理训练集群和推理集群的GPU资源,即当分布式训练任务在训练集群GPU资源不足时,借用推理集群空闲的GPU加速分布式训练;在推理负载繁忙时,能够回收被训练任务借用的GPU。
进一步地,所述步骤(2)中分布式训练任务允许分配的GPU个数w∈[1,max_replicas],max_replicas为分布式训练任务在当前分配轮次下允许分配到的最大GPU个数,且max_replicas=max(M,2×previous_max_replicas),M为训练集群和推理集群中减去被推理任务占用或保留的GPU后剩下的可用于训练任务调度的GPU个数,previous_max_replicas为过去分配轮次中该分布式训练任务曾经分配过的GPU数量最大值。
进一步地,所述步骤(2)中任务加速比的计算方式为:遍历w∈[1,max_replicas],可得到对应的max_replicas组分配方案,每组分配方案要求将分配的GPU放置在尽可能少的服务器节点上,然后根据以下公式计算每组分配方案的任务加速比,若当前的分配方案与上一轮次的分配方案一致,则使v=speedup,否则v=speedup×penalty;
Figure BDA0004060547190000031
其中:speedup为任务加速比即当前分配方案的性能指标,θ为当前分配方案的超参数集合,θ0为上一轮次分配方案的超参数集合,metric()为度量函数,penalty为惩罚系数。
进一步地,所述度量函数可采用有效吞吐量表示,即:
Figure BDA0004060547190000041
其中:Throughput(θ)表示当前分配方案下训练任务的数据吞吐量,即单位时间内迭代的数据量;Efficiency(θ)表示当前分配方案下训练任务的统计效率,用于衡量每次batch size的迭代对于训练总体轮次的贡献。
进一步地,所述惩罚系数penalty的表达式如下:
Figure BDA0004060547190000042
其中:t.age为分布式训练任务的运行时间,t.restart为重启次数,delay为时延常数。
进一步地,所述步骤(3)的具体实现方式为:在集群GPU资源有限的约束下,使所有分布式训练任务得到的分配方案的价值v总和最大为目标,采用分组背包算法进行求解以确定每一分布式训练任务的分配方案。
进一步地,所述步骤(4)中的自适应弹性资源切换,其在省去分布式训练副本模型初始化、数据集加载、权重管理在内的初始化流程并同步所有副本的基础上,自适应弹性训练在副本同步阶段,首先同步包括分布式训练度量函数建模参数、训练进度、超参数在内的信息,完成同步后所有副本重新加载上述信息,完成网络同步后恢复训练。
进一步地,所述步骤(5)的具体实现方式为:首先将推理集群中的GPU划分为保护、空闲、借用、执行4种状态,其中保护状态是指推理任务在GPU上运行完后,将该GPU预留不被训练任务借用,专门用于处理下一次推理服务;当保护时间结束后,该GPU从保护状态变为空闲状态,允许训练任务借用,被训练任务借用后,该GPU从空闲状态变为借用状态;推理集群会在保护和空闲状态的GPU用完时,回收这些被借用的GPU;执行状态是指推理任务在GPU上执行时,不可被训练任务借用,也不可被其他推理任务抢占;然后将推理任务放置的GPU优先级从高到低依次为保护、空闲、借用。
本发明能够实现推理的在线业务和训练的离线业务混合部署,在保障推理任务服务质量的前提下,提高集群资源利用率,降低训练任务训练开销。本发明充分考虑到训-推任务混部调度下的挑战,使用低复杂度的背包算法建模和调度训练任务,省去了遗传算法在大规模集群和负载情况下的高调度开销;实现推理调度算法管理训练推理集群计算资源,降低训-推集群资源借出与回收阶段对训练、推理任务的影响;引入自适应弹性训练,在快速弹性训练的基础上,引入超参数优化环节,在额外开销可以忽略不计的情况下,降低训练任务总体执行时间。
附图说明
图1为本发明训-推一体深度学习GPU集群调度系统的整体架构图。
图2为将GPU数量转化为分配方式的示意图。
图3为自适应弹性训练的流程示意图
图4为推理集群GPU生命周期以及推理任务的调度示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
本发明训练推理一体深度学习的GPU集群调度方法,包括如下步骤:
(1)利用训-推一体集群调度器同时管理训练和推理集群的GPU资源,对分布式训练任务,采用时间间隔轮询的方式更新GPU分配,对推理任务实时处理。
如图1所示,将训练、推理集群下的节点纳入同一个K8s集群,之后通过K8s定义一个控制器,对于训练任务,每60s轮询一次集群中新到达的、运行、挂起任务的资源使用情况以及性能指标;训练调度器对训练任务的资源进行更新,资源的更新包括为上一轮挂起的任务分配GPU、已拥有GPU的任务,根据吞吐量预测情况增加或减少GPU分配以及在GPU资源不足的情况下挂起训练任务。
对于推理任务,控制器对于到达的请求立刻响应交给推理调度器进行处理,推理调度器根据推理集群现有的GPU进行分配,或是回收被训练任务占用的GPU。
在调度的过程中,训练、推理任务始终与控制器同步作业状态信息。
(2)计算分布式训练任务t允许分配GPU个数w∈[1,max_replicas]作为分组背包的权重,并求出对应权重下的任务加速比speedup作为分组背包问题下的价值v。
其中max_replicas是训练任务t在当前分配轮次下允许分配到的最大GPU个数,max_replicas=max(M,2×previous_max_replicas),M是训练和推理集群中,减去被推理任务占用或是保留的GPU后,剩下的可用于训练任务调度的GPU个数。previous_max_replicas是过去分配轮次中,任务t曾经分配过的最大数量的GPU。
遍历w∈[1,max_replicas],通过W2A(w)将GPU总数w转化为每个节点对应放置GPU个数的分配方案allocation,用于后续预测对应的放置方案的性能指标。转化过程采用乐观估计方式,在满足w=∑node allocationnode的前提下,将GPU分配在尽可能少的节点上。
如图2所示为将GPU数量转化分配的一个样例,推理集群包含2个4U推理GPU节点,其中节点1的1个GPU已经被推理任务占用,不可用于给训练任务分配,需要分配的3个任务分别需要1、2、4个GPU。
对于第一个需要1个GPU的任务,我们将其放置在能满足它数量的,空闲GPU最少的节点上,此时节点1和2都能满足需要,但是节点1空闲GPU数量为3,节点2为4,因此将该任务放在节点1上,此时节点1空闲GPU数量为2。对于第二个需要2个GPU的任务,同理放置在节点1上,第三个4个GPU的任务恰好放置在节点2上,3个任务的分配方案分别为[1,0],[2,0],[0,4]。
如果是任务需要GPU数量超过单个节点最大GPU数量,则将该任务的分配到空闲节点最多的GPU上,接着重复上一轮分配方案,直到满足需要。在这种分配方案下,将任务放置在尽可能少的节点上,减少分布式训练跨节点通信开销。
通过转化得到的allocation,得到当前方案的metric(allocation),这里的度量metric指标采用Goodput,定义如下:
Figure BDA0004060547190000061
其中:θ是包含allocation在内的度量指标函数超参集合,Throughput(θ)是训练数据吞吐量,即单位时间内迭代的数据量,Efficiency(θ)是统计效率,用于衡量每次batchsize的迭代对于训练总体轮次的贡献;指标Goodput的优势在于可以公平的比较不同类型深度学习任务的训练效率。
最后我们定义当前分配方案allocation下,相较于上次分配方案previous_allocation下Goodput的比值:
Figure BDA0004060547190000071
其中:θ0是包含previous_allocation以及建模参数组成的超参集合。
频繁的低收益资源更新会影响训练指标的收集,同时重启的时间开销往往在30~150s不等,在60s的轮询周期下可能出现长时间挂起的状态,因此对于频繁重启的作业设置一个惩罚系数penalty。对于previous_allocation≠allocation的分配方案,v=speedup×penalty;否则v=speedup,其中penalty定义如下:
Figure BDA0004060547190000072
其中:t.age是训练任务t运行时间,t.restart是重启次数,delay是时延常数,这里设置为30;惩罚系数与重启次数负相关,与执行时间正相关,短时间内的大量重启会使得惩罚系数小,对应方案的背包价值小。
(3)使用分组背包算法求出最大加速比的任务分配。
将集群中n个训练任务的所有分配方案集合
Figure BDA00040605471900000710
与对应的加速比
Figure BDA0004060547190000079
整理成分组背包算法待处理的格式:
Figure BDA0004060547190000073
Figure BDA0004060547190000074
其中:
Figure BDA0004060547190000075
是训练任务ti的重量集合,即
Figure BDA0004060547190000076
元素个数ti.max_replica是任务ti分配到的最大GPU数;
Figure BDA0004060547190000077
为重量集合
Figure BDA0004060547190000078
下对应的价值集合。
分组背包算法的场景,是共有n种物品,每种物品可以选择多种重量,并有对应的价值(价值不一定随重量线性增长),同时每种物品至多只能选择一种重量,最后求解使得背包总价值最大的装配方案。这个场景与多租户训练分配GPU的场景一致,这里的n种物品对应n个分布式训练任务,每个任务可选重量是[1,max_replicas],每个任务只能决定一种GPU分配数量,价值就是对应的speedup,最终求得是每个任务最优的GPU分配方案。
(4)对于分配更新的任务,执行自适应弹性资源切换,更新训练超参。
如图3中第一行所示,传统基于Stop-Resume的切换方式,是指当作业分配到的GPU数量变化时,停止当前所有分布式训练副本,同步训练状态信息、权重等,然后保存,销毁容器,接着基于新一轮分配方案在对应GPU上创建容器,并重新加载数据集、模型权重以及模型初始化,等到全部副本初始化并同步完成后,重新开始新分配方案下的训练,这种分配方式的弊端是重启时间很长。
如图3中第二行所示,快速弹性训练在任务增加GPU分配的情况下,只对新增的GPU经历容器创建、初始化流程,原先分配中的GPU上的训练副本继续训练,直到新GPU副本完成初始化后,原有副本将暂停与新副本同步,继续训练。现有的快速弹性训练以极低的代价实现了弹性训练的切换,然而这种切换没有给超参数优化参数状态保留调整信息。
本发明在现有快速弹性训练的基础上,自适应弹性训练在副本同步阶段,首先同步分布式训练metric()建模参数、训练进度、超参等信息;完成同步后,所有副本重新加载上述信息,完成网络同步后恢复训练。过程如图3中第三行所示,这个过程在快速弹性训练调整的基础上会引入一定1~5s的开销,但相对于Stop-Resume而言已经节省了很多时间,同时调整正确的超参数利于训练任务找到更合适的批处理大小、学习率、梯度累计步长,超参数优化的方式参考Pollux的方案。
(5)推理调度在确保推理任务的服务质量等级的前提下,放置在对训练任务当前以及未来影响最小的节点上。
如图4所示,集群中的GPU划分为保护、空闲、借用、执行4种状态。
保护状态:是推理任务在GPU上运行完后,将该GPU预留不被训练任务借用,专门用于处理下一次推理服务,该状态可以避免频繁训练、推理任务之间借用与回收导致的任务执行波动。
空闲状态:当保护时间结束后,该GPU从保护态变为空闲态,允许训练任务借用,被训练任务借用后,该GPU从空闲态变为借用态。
借用状态:被训练任务借用,推理集群在保护和空闲状态的GPU使用完时,会回收这些被借用的GPU。
执行状态:推理任务在GPU上执行时,不可被训练任务借用,也不可被其他推理任务抢占。
推理任务放置的优先级从高到低依次为保护、空闲、训练。对于保护状态的GPU,记录其在保护时间内的执行任务次数为cnt,每次处理推理请求时,cnt加1,保护时间为tp=tp,min+cnt×interval,其中tp,min是保底启动时间为30s,interval为次数间隔时间,设置为15s,保护时间与执行次数成正比。为了避免短时间负载过密导致保护时间过长,设置一个保护时间上限tp,max为120s,这样最终的保护时间tprotect=min(tp,tp,max);当保护时间清零时,cnt也归零。
如图4中步骤①首先到达的第一个推理任务,会优先寻找执行次数更多的保护GPU,使得低使用率的GPU可以尽快结束保护状态,可供借用。
当保护状态GPU使用完毕后,步骤③第三个推理请求将优先使用空闲GPU少的节点处理推理请求;空闲GPU多的节点可以更多的借用给训练任务,尽可能避免分布式训练任务跨节点通信的情况。
当空闲状态GPU使用完毕时,步骤⑤回收被训练任务占用的GPU,此时考虑回收GPU后对训练任务影响最小的GPU。具体地,将遍历推理集群中所有被训练任务占用的GPU,计算当前任务在被回收GPU后的Δspeedup=speedup(new_allocation)-speedup(allocation),new_allocation是对应训练任务在假设当前GPU被回收后的分配方案。显然Δspeedup<0,因为新方案减少了GPU,我们选择所有方案中Δspeedup最大的作为回收节点,因此在步骤⑤中,由于分布式训练,两个GPU的效率无法线性叠加,因此回收J1对应的GPU。
经过上述步骤完成训练、推理集群的联合调度管理,在微软深度学习集群负载数据集上,将我们的调度算法与主流的方法比较结果如表1所示,其中DeepBoot为本发明调度系统。
表1
Figure BDA0004060547190000101
可以看到DeepBoot相较于基线,通过引入训-推一体的机制,大幅降低了作业平均完成时间和等待GPU的时间;将训-推一体机制引入其他算法进行比较,看到DeepBoot和Pollux的优越性。尽管DeepBoot和Pollux的性能近似,然而Pollux使用高复杂度的遗传算法作为调度依据,在大规模集群和任务场景下,调度开销不可忽略。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明,熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

Claims (9)

1.一种训练推理一体深度学习的GPU集群调度方法,包括如下步骤:
(1)利用训推一体的调度控制器同时管理训练集群和推理集群的GPU资源,对于分布式训练任务,采用时间间隔轮询的方式更新GPU分配,同时对推理任务实时处理;
(2)对于任一分布式训练任务,确定其允许分配的GPU个数w作为分组背包的权重,并计算对应权重下的任务加速比作为分组背包问题下的价值v;
(3)根据所述价值v计算确定每一分布式训练任务的分配方案;
(4)对于分配更新的分布式训练任务,执行自适应弹性资源切换,更新训练超参;
(5)对于推理调度,在确保服务质量等级的前提下,将推理任务放置在对训练任务当前以及未来影响最小的GPU上。
2.根据权利要求1所述的GPU集群调度方法,其特征在于:所述步骤(1)中调度控制器同时管理训练集群和推理集群的GPU资源,即当分布式训练任务在训练集群GPU资源不足时,借用推理集群空闲的GPU加速分布式训练;在推理负载繁忙时,能够回收被训练任务借用的GPU。
3.根据权利要求1所述的GPU集群调度方法,其特征在于:所述步骤(2)中分布式训练任务允许分配的GPU个数w∈[1,max_replicas],max_replicas为分布式训练任务在当前分配轮次下允许分配到的最大GPU个数,且max_replicas=max(M,2×previous_max_replicas),M为训练集群和推理集群中减去被推理任务占用或保留的GPU后剩下的可用于训练任务调度的GPU个数,previous_max_replicas为过去分配轮次中该分布式训练任务曾经分配过的GPU数量最大值。
4.根据权利要求3所述的GPU集群调度方法,其特征在于:所述步骤(2)中任务加速比的计算方式为:遍历w∈[1,max_replicas],可得到对应的max_replicas组分配方案,每组分配方案要求将分配的GPU放置在尽可能少的服务器节点上,然后根据以下公式计算每组分配方案的任务加速比,若当前的分配方案与上一轮次的分配方案一致,则使v=speedup,否则v=speedup×penalty;
Figure FDA0004060547180000021
其中:speedup为任务加速比即当前分配方案的性能指标,θ为当前分配方案的超参数集合,θ0为上一轮次分配方案的超参数集合,metric()为度量函数,penalty为惩罚系数。
5.根据权利要求4所述的GPU集群调度方法,其特征在于:所述度量函数可采用有效吞吐量表示,即:
Figure FDA0004060547180000022
其中:Throughput(θ)表示当前分配方案下训练任务的数据吞吐量,即单位时间内迭代的数据量;Efficiency(θ)表示当前分配方案下训练任务的统计效率,用于衡量每次batchsize的迭代对于训练总体轮次的贡献。
6.根据权利要求4所述的GPU集群调度方法,其特征在于:所述惩罚系数penalty的表达式如下:
Figure FDA0004060547180000023
其中:t.age为分布式训练任务的运行时间,t.restart为重启次数,delay为时延常数。
7.根据权利要求1所述的GPU集群调度方法,其特征在于:所述步骤(3)的具体实现方式为:在集群GPU资源有限的约束下,使所有分布式训练任务得到的分配方案的价值v总和最大为目标,采用分组背包算法进行求解以确定每一分布式训练任务的分配方案。
8.根据权利要求1所述的GPU集群调度方法,其特征在于:所述步骤(4)中的自适应弹性资源切换,其在省去分布式训练副本模型初始化、数据集加载、权重管理在内的初始化流程并同步所有副本的基础上,自适应弹性训练在副本同步阶段,首先同步包括分布式训练度量函数建模参数、训练进度、超参数在内的信息,完成同步后所有副本重新加载上述信息,完成网络同步后恢复训练。
9.根据权利要求1所述的GPU集群调度方法,其特征在于:所述步骤(5)的具体实现方式为:首先将推理集群中的GPU划分为保护、空闲、借用、执行4种状态,其中保护状态是指推理任务在GPU上运行完后,将该GPU预留不被训练任务借用,专门用于处理下一次推理服务;当保护时间结束后,该GPU从保护状态变为空闲状态,允许训练任务借用,被训练任务借用后,该GPU从空闲状态变为借用状态;推理集群会在保护和空闲状态的GPU用完时,回收这些被借用的GPU;执行状态是指推理任务在GPU上执行时,不可被训练任务借用,也不可被其他推理任务抢占;然后将推理任务放置的GPU优先级从高到低依次为保护、空闲、借用。
CN202310055908.1A 2023-01-16 2023-01-16 训练推理一体深度学习的gpu集群调度方法 Pending CN116048802A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310055908.1A CN116048802A (zh) 2023-01-16 2023-01-16 训练推理一体深度学习的gpu集群调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310055908.1A CN116048802A (zh) 2023-01-16 2023-01-16 训练推理一体深度学习的gpu集群调度方法

Publications (1)

Publication Number Publication Date
CN116048802A true CN116048802A (zh) 2023-05-02

Family

ID=86132872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310055908.1A Pending CN116048802A (zh) 2023-01-16 2023-01-16 训练推理一体深度学习的gpu集群调度方法

Country Status (1)

Country Link
CN (1) CN116048802A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820784A (zh) * 2023-08-30 2023-09-29 杭州谐云科技有限公司 一种面向推理任务QoS的GPU实时调度方法及系统
CN117834614A (zh) * 2024-01-11 2024-04-05 北京蓝耘科技股份有限公司 一种云计算环境中gpu资源调度方法
CN117873734A (zh) * 2024-03-11 2024-04-12 南京认知物联网研究院有限公司 一种智能算力动态优化调度的分布式模型训练装置及方法
CN117971502A (zh) * 2024-03-29 2024-05-03 南京认知物联网研究院有限公司 一种针对ai推理集群进行在线优化调度的方法与装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820784A (zh) * 2023-08-30 2023-09-29 杭州谐云科技有限公司 一种面向推理任务QoS的GPU实时调度方法及系统
CN116820784B (zh) * 2023-08-30 2023-11-07 杭州谐云科技有限公司 一种面向推理任务QoS的GPU实时调度方法及系统
CN117834614A (zh) * 2024-01-11 2024-04-05 北京蓝耘科技股份有限公司 一种云计算环境中gpu资源调度方法
CN117873734A (zh) * 2024-03-11 2024-04-12 南京认知物联网研究院有限公司 一种智能算力动态优化调度的分布式模型训练装置及方法
CN117873734B (zh) * 2024-03-11 2024-05-07 南京认知物联网研究院有限公司 一种智能算力动态优化调度的分布式模型训练装置及方法
CN117971502A (zh) * 2024-03-29 2024-05-03 南京认知物联网研究院有限公司 一种针对ai推理集群进行在线优化调度的方法与装置

Similar Documents

Publication Publication Date Title
CN116048802A (zh) 训练推理一体深度学习的gpu集群调度方法
Zhang et al. Dynamic cloud task scheduling based on a two-stage strategy
CN109271015B (zh) 一种降低大规模分布式机器学习系统能耗的方法
CN110442451B (zh) 一种面向深度学习的多类型gpu集群资源管理调度方法和系统
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
CN102546700B (zh) 一种资源调度以及资源迁移的方法及设备
CN110457131B (zh) 基于Docker容器的电力系统超算平台任务调度方法
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN112052092B (zh) 一种风险感知的边缘计算任务分配方法
CN114996001A (zh) 一种分布式机器学习任务gpu资源调度分配方法及系统
CN110928651B (zh) 一种移动边缘环境下的服务工作流容错调度方法
CN113094159A (zh) 一种数据中心作业调度方法、系统、存储介质及计算设备
CN112214301A (zh) 面向智慧城市基于用户偏好的动态计算迁移方法及装置
CN111209104A (zh) 一种异构集群下Spark应用的能量感知调度方法
CN111309472A (zh) 一种基于虚拟机预部署的在线虚拟资源分配方法
Peng et al. A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint
CN109976873B (zh) 容器化分布式计算框架的调度方案获取方法及调度方法
Jagadish Kumar et al. Hybrid gradient descent golden eagle optimization (HGDGEO) algorithm-based efficient heterogeneous resource scheduling for big data processing on clouds
CN116700933B (zh) 一种面向异构算力联邦的多集群作业调度系统和方法
CN115562812A (zh) 面向机器学习训练的分布式虚拟机调度方法、装置和系统
CN112698911B (zh) 一种基于深度强化学习的云作业调度方法
CN115686830A (zh) 边缘计算资源弹性调度方法及系统
CN114090239A (zh) 一种基于模型的强化学习的边缘资源调度方法和装置
Xu et al. Effective scheduler for distributed DNN training based on MapReduce and GPU cluster
CN115883486B (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