CN112416585B - 面向深度学习的gpu资源管理与智能化调度方法 - Google Patents

面向深度学习的gpu资源管理与智能化调度方法 Download PDF

Info

Publication number
CN112416585B
CN112416585B CN202011310749.8A CN202011310749A CN112416585B CN 112416585 B CN112416585 B CN 112416585B CN 202011310749 A CN202011310749 A CN 202011310749A CN 112416585 B CN112416585 B CN 112416585B
Authority
CN
China
Prior art keywords
job
deep learning
resource
scheduling
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.)
Active
Application number
CN202011310749.8A
Other languages
English (en)
Other versions
CN112416585A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202011310749.8A priority Critical patent/CN112416585B/zh
Publication of CN112416585A publication Critical patent/CN112416585A/zh
Application granted granted Critical
Publication of CN112416585B publication Critical patent/CN112416585B/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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • Physiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向深度学习的GPU资源管理与智能化调度方法,包括以下步骤:第一步,用户通过前端接口组件提交深度学习作业,包括待执行的深度学习程序与训练数据集;第二步,在进行验证后将作业添加到调度器对应的待调度队列;第三步,为该作业启动独立的作业管理器;第四步,向资源管理器申请作业运行需要的计算资源;第五步,对待调度作业进行特征建模与分析;第六步,根据作业特征与集群计算节点特征生成资源调度方案;第七步,按照调度方案将作业调度到指定计算节点上;第八步,作业执行器启动容器并执行深度学习程序。本发明可解决现有集群资源调度方法在深度学习场景下GPU资源利用率低、作业执行性能差的问题。

Description

面向深度学习的GPU资源管理与智能化调度方法
技术领域
本发明涉及集群资源调度技术领域,尤其是一种面向深度学习的GPU资源管理与智能化调度方法。
背景技术
近年来的研究与实践表明,相比传统机器学习技术,深度学习在计算机视觉、语音识别等领域能够获得更高的精度,从而得到广泛使用。深度学习模型训练过程存在很大计算量,而图形处理器(Graphics Processing Unit,GPU)能够更高效地执行这种简单但规模庞大的计算任务,因此成为运行深度学习程序的重要基础计算资源。
由于GPU卡通常比较昂贵,为每个用户(组)部署独立的私有集群成本很高,而且用户并不会一直进行模型训练工作,因此用户通常会共用这些GPU资源来降低成本。为了避免冲突问题以及充分利用集群资源,就需要对大量的GPU等资源进行高效的管理并对用户作业进行统一合理的调度。
对于深度学习场景下GPU资源管理与调度,存在以下问题:
在资源利用率上,随着硬件技术的快速发展,不断有新的GPU卡被推出,因此集群中通常存在不同型号的GPU卡,它们在算力和显存上都存在很大差异,不加区分地分配会造成一些作业在执行时性能不足,而另一些作业在执行时性能过剩的问题。由于缺乏成熟高效的GPU资源虚拟化技术,目前通常独占使用GPU,但部分开发测试目的的小作业资源需求很低,独占使用加剧了资源浪费问题。
在资源调度策略上,目前很多深度学习模型训练工作仍以单机单GPU卡的模式进行,但是为了追求更高的准确度,深度学习模型网络越来越深、参数越来越多,用于训练的数据集规模也越来越大,单GPU卡已经很难容纳,性能也出现瓶颈,于是出现了单机多卡、多机多卡的分布式训练模式。与大数据应用不同,分布式深度学习作业的多个实例之间存在复杂且大量的数据交换与信息同步,不合理的资源调度方案会极大地降低作业执行性能。
因此,如何设计一个调度机制,使得调度器在深度学习场景下依旧获得很好的GPU资源利用率与作业执行性能,成为一个非常有挑战性的工作。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种面向深度学习的GPU资源管理与智能化调度方法,解决现有***在深度学习场景下GPU资源利用率低、作业执行性能差的问题。
技术方案:为了实现上述发明目的,本发明采用的技术方案是提供一种面向深度学习的GPU资源管理与智能化调度方法,包括以下步骤:
(1)用户通过前端接口组件提交深度学习作业(简称作业),所述作业包括需要执行的深度学习程序、程序运行输入数据集以及作业的任务划分信息;
(2)对所述作业进行参数有效性检查与权限验证,然后将作业添加到指定的待调度队列中等待调度;
(3)当作业被选中开始调度,为所述作业启动一个独立的作业管理器来负责所述作业的后续运行;
(4)作业管理器根据所述深度学习作业的任务划分,为每一个任务向全局资源管理器申请运行所需要的计算资源;
(5)基于作业资源需求智能化预测模型(简称预测模型)对作业特征进行建模分析,包括作业运行时对GPU算力、GPU显存、CPU、内存及网络带宽资源需求特征,并生成作业执行资源需求向量;
(6)利用所述步骤(5)返回的资源需求向量,并结合作业的分布式架构与集群网络拓扑结构来生成所述作业的资源调度方案;
(7)根据所述资源调度方案,通过推送机制将所述作业调度到指定的计算节点上;
(8)作业执行器为所述作业的每一个任务启动独立的运行容器来具体执行深度学习程序。
进一步地,所述步骤(3)中,由于当前多数深度学习框架不具备弹性机制,为了避免同时调度多个作业导致资源死锁问题,采用成组调度机制,即前一个作业的所有资源需求均得到满足后才开始给下一个作业分配资源。
进一步地,所述步骤(3)中,为了降低作业调度器的负载,为每一个作业启动独立的作业管理器,由所述作业管理器负责所述作业的生命周期管理,所述生命周期管理包括申请资源、推送到计算节点、监控运行状态以及重试失败任务等。
进一步地,所述步骤(4)中,由于当前多数分布式深度学习框架采用静态映射方式,作业的任务划分在执行前就已经确定,因此调度***只需按照预先划分的任务来分配资源并决定资源调度方案。
进一步地,所述步骤(5)中,建立作业资源需求智能化预测模型,所述预测模型的输入特征包括任务划分、超参数设置以及数据集规模,所述预测模型的输出标签包括作业资源需求向量(简称向量),所述向量包括CPU、内存、GPU算力、GPU显存以及网络带宽,并利用传统机器学习算法求解所述预测模型对应的回归问题。
进一步地,所述步骤(5)中,采集同类作业在历史运行时的实际资源需求等特征,并利用所述预测模型,对后续的作业资源需求特征进行预测。
进一步地,所述步骤(6)中,首先按照队列间采用公平调度、队列内采用先到先服务调度的原则决定作业的执行顺序并选择待调度作业,然后提取作业的分布式拓扑与集群网络的拓扑结构,并根据作业的资源需求特征,建立网络通信代价模型,最后利用启发式方法遗传算法求解生成调度方案。
有益效果:本发明能够在深度学习场景下,通过一种面向深度学习的GPU资源管理与智能化调度方法,有效地解决了GPU资源利用率低、作业执行性能差的问题:第一,本发明对现有主流深度学习框架进行抽象并提取共性,提供了一个深度学习框架无关的服务接口,具有很好的框架兼容性与易用性。第二,本发明提供了对于作业资源需求的智能化预测模型,能够根据历史调度数据预测待调度作业在运行时的特征,从而自动确定作业资源需求向量,并增强调度。第三,不同于以往方法将待调度作业完全当成黑盒,本发明利用收集到的信息,并在调度时考虑作业分布式拓扑结构与集群网络拓扑结构,生成更高效的调度方案,提升作业的执行性能。
附图说明
图1为本发明的方法总体流程示意图;
图2为本发明所述利用分组编码方式表示资源调度方案示意图;
图3为本发明所述调度策略流程图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提出了一种面向深度学习的GPU资源管理与智能化调度方法,解决了深度学习场景下,GPU资源利用率低与作业执行性能差的问题。
如图1所示,本发明的完整流程包括作业提交阶段、权限验证阶段、作业管理器启动阶段、资源申请阶段、作业特征建模与分析阶段、资源调度方案生成阶段、作业分发阶段、执行阶段8个部分。具体的实施方式分别说明如下:
作业提交阶段对应技术方案步骤(1)。具体实施方式为:用户通过可视化管理前端或API接口提交深度学习作业,包括可执行深度学习程序、程序运行所需输入训练集、作业任务划分、程序启动参数。在本发明的调度***中,对作业的定义如下:一个作业由若干任务组成,如在参数服务器(Parameter Server)架构中,就包括参数服务器与工作节点(Worker)两种。单机单卡与单机多卡作业只有一个任务,而多机多卡作业则包括多个任务,每个任务对应一个参数服务器或工作节点。由于目前大多数深度学习框架并不具备弹性机制,因此任务的数量及划分方式由用户在提交作业时指定。在调度时,一个任务被调度到一个计算节点(物理机)上运行,一个计算节点可以同时运行多个任务。作业是用户提交的基本单位,而任务是***调度执行的基本单位。
权限验证阶段对应技术方案步骤(2)。具体的实施方式为:接收到用户提交的作业后,首先对作业参数有效性与完整性进行检查,然后验证用户是否有权限将作业提交至指定的待调度队列,最后,在验证通过后将作业添加到调度器的指定待调度队列中,并记录该次请求。
作业管理器启动阶段对应技术方案步骤(3)。具体的实施方式为:调度器按照公平调度原则决定待调度作业的执行顺序。当该作业被选中开始调度执行时,启动一个独立的作业管理器来负责该作业的后续生命周期流程。
资源申请阶段对应技术方案步骤(4)。具体的实施方式为:作业管理器根据作业的任务划分,然后为每一个任务申请计算资源,直到该作业的所有任务资源需求均得到满足。
作业特征建模与分析阶段对应技术方案步骤(5)。具体实施方式为:调度***利用同类作业历史运行时收集到的作业对CPU、内存、GPU算力资源、GPU显存资源与网络带宽资源的实际使用数据,然后基于这些数据利用传统机器学习模型随机森林算法训练作业资源需求向量预测模型,接着利用该模型预测待调度作业运行时资源需求向量特征,从而给作业分配合适的资源及选择合适的调度方案。
资源调度方案生成阶段对应技术方案步骤(6)。具体实施方式为:首先,过滤掉不满足需求的计算节点与GPU,得到候选节点列表;接着,利用步骤(5)返回的作业资源需求向量,得到与该作业GPU算力需求最匹配的GPU型号,并从候选节点中选出拥有该GPU型号的节点,作为下一步的候选节点列表,如该型号的GPU资源不足,则选择性能接近的;最后利用启发式方法分组遗传算法,生成一个较优的资源调度方案。
为了解决本发明的资源调度问题,就需要对调度目标进行形式化定义。对于一个分布式模型训练作业,不同的资源调度方案对作业执行性能有很大的影响,而这主要由网络通信质量决定,因此在生成资源调度方案时需要考虑网络通信,并在此基础上尽可能考虑其他指标,如降低资源碎片等。首先基于作业拓扑与集群网络拓扑结构等因素对不同的调度方案进行评估,得分Score由网络通信开销Costnetwork与节点匹配度Fitnessnode两部分组成。调度的目的就是最小化该得分。
Score=Costnetwork+ΣFitnessnode
以下介绍如何结合分组遗传算法来求解本发明的资源调度方案生成问题:
1)编码方式。图2展示了本发明的调度策略下如何使用分组编码来表示一个资源调度方案(将8个任务放置到若干计算节点上的两种调度方案)。从遗传算法概念的角度,每一条染色体代表一种资源调度方案,每一个基因位代表一个任务,每一个基因组代表一个计算节点,在交叉与变异操作时均以一个计算节点为单位。
2)初始种群生成。采用最先适应算法(First-Fit)与随机适应算法(Random-Fit)两种简单算法来生成若干初始的资源调度方案。其中最先适应算法的思想是将每一个任务调度到第一个能够放置的计算节点上,而随机适应算法则是随机选取一个符合需求的节点。这两种算法复杂度都很低,运行速度足够快。
3)适应度函数与选择策略。本发明的调度目的是为了降低通信开销,因此适应度函数Fitness为调度目标的负值(网络通信开销越小,适应度越好)。为了加快算法收敛速度,在这基础上,引入了一个新的变量NumNodesusing,即调度方案需要的计算节点数量,使得算法能够在网络开销接近时,优先选择使用节点少的资源调度方案。
Fitness=-(Costnetwork+∑Fitnessnode+NumNodesusing)
选择锦标赛法作为选择策略。锦标赛法每次进行多轮淘汰并选取最好的,不需要进行全量排序,复杂度低,而且可以并行化处理,时间开销更小,更适合本发明在线调度场景。
4)交叉与变异规则。交叉的过程如下:首先,从当前资源调度方案中利用选择策略选择两个方案X与Y,并分别选择交叉点(计算节点)与交叉位置;然后,将选中的计算节点与节点上任务添加到另一个调度方案的交叉位置中;接着,在交叉后,新的调度方案中可能会存在重复的计算节点与任务,需要将这些重复的删除,由于交叉变异的基本单位是一个计算节点,因此需要将重复的计算节点,以及重复任务所在的计算节点删除;最后,由于被删除节点上的任务也被删除,需要将这些任务重新添加到剩余的计算节点上,采用最先适应算法将被删除的任务添加到剩余计算节点中。与交叉规则类似,变异的过程如下:首先,选择一个资源调度方案Y,并随机选择一个计算节点,将该计算节点以及计算节点上的任务删除;然后,将被删除的任务按照最先适应算法重新放置到剩余的计算节点上,得到新的调度方案。
图3展示了本发明中资源调度方案生成流程。由于资源碎片的存在,被选中的作业可能无法被同时调度,针对这种情况,等待一段时间并再次尝试生成有效的资源调度方案。在资源较为分散等场景下,生成的资源调度方案可能不够好,此时可以等待一段时间,看是否有更多、更合适的资源被释放;最后,在生成的调度方案足够好或调度算法运行时间超时后,按照当前最佳的资源调度方案调度作业。
作业分发阶段对应技术方案步骤(7)。具体实施方式为:在作业的所有任务资源需求均得到满足后,作业管理器按照资源调度方案,将作业的任务推送到对应的计算节点上,等待执行。
作业执行阶段对应技术方案步骤(8)。具体实施方式为:首先,为作业创建对应的作业运行环境(即容器,Container),并根据作业资源需求限制容器可用资源;然后,当容器启动后,将作业包含的用户深度学习程序下载至容器内指定位置;接着,将深度学习程序模型训练需要的训练数据集挂载到本地相应目录;随后,通过启动命令启动用户的深度学习程序(简称程序),并持续监控该程序的运行情况;最后,当程序执行完毕后,将程序的输出文件转存到外部可靠存储HDFS中,销毁容器并释放其占用的***资源。
本发明提出了一种面向深度学***均作业完成时间(Job Completion Time,JCT)又进一步降低了10%。相比现有的Kubernetes***,本发明资源调度方法降低了48%的作业平均完成时间。在***可扩展性方面,当集群节点增加时,调度***吞吐速度可以保持稳定,具有良好的可扩展性。本发明所研究提出的面向深度学习的GPU资源管理与智能化调度方法具有显著的性能优化效果。

Claims (7)

1.一种面向深度学习的GPU资源管理与智能化调度方法,包括以下步骤:
(1)用户通过前端接口组件提交深度学习作业,所述深度学习作业包括需要执行的深度学习程序、程序运行输入数据集以及作业的任务划分信息;
(2)对所述深度学习作业进行参数有效性检查与权限验证,然后将深度学习作业添加到指定的待调度队列中等待调度;
(3)当深度学习作业被选中开始调度,为所述深度学习作业启动一个独立的作业管理器来负责所述深度学习作业的后续运行;
(4)作业管理器根据深度学习作业的任务划分,为每一个任务向全局资源管理器申请运行所需要的计算资源;
(5)基于作业资源需求智能化预测模型对作业特征进行建模分析,包括作业运行时对GPU算力、GPU显存、CPU、内存及网络带宽资源需求特征,并生成作业执行资源需求向量;
(6)利用所述步骤(5)返回的资源需求向量,并结合作业的分布式架构与集群网络拓扑结构来生成所述深度学习作业的资源调度方案;
(7)根据所述资源调度方案,通过推送机制将所述深度学习作业调度到指定的计算节点上;
(8)作业执行器为所述深度学习作业的每一个任务启动独立的运行容器来具体执行深度学习程序。
2.根据权利要求1所述的面向深度学习的GPU资源管理与智能化调度方法,其特征在于:所述步骤(3)中,采用成组调度机制:前一个作业的所有资源需求均得到满足后才开始给下一个作业分配资源。
3.根据权利要求1所述的面向深度学习的GPU资源管理与智能化调度方法,其特征在于:所述步骤(3)中,为每一个深度学习作业启动独立的作业管理器,由所述作业管理器负责所述深度学习作业的生命周期管理,所述生命周期管理包括申请资源、推送到计算节点、监控运行状态以及重试失败任务。
4.根据权利要求1所述的面向深度学习的GPU资源管理与智能化调度方法,其特征在于:所述步骤(4)中,调度***只需按照预先划分的任务来分配资源并决定资源调度方案,所述深度学习作业的任务划分在执行前就已经确定。
5.根据权利要求1所述的面向深度学习的GPU资源管理与智能化调度方法,其特征在于:所述步骤(5)中,建立作业资源需求智能化预测模型,所述作业资源需求智能化预测模型的输入特征包括任务划分、超参数设置以及数据集规模,所述作业资源需求智能化预测模型的输出标签为作业执行资源需求向量,所述作业执行资源需求向量包括CPU、内存、GPU算力、GPU显存以及网络带宽,并利用传统机器学习算法求解所述作业资源需求智能化预测模型对应的回归问题。
6.根据权利要求1所述的面向深度学习的GPU资源管理与智能化调度方法,其特征在于:所述步骤(5)中,采集同类作业在历史运行时的实际资源需求特征,并利用所述作业资源需求智能化预测模型,对后续的深度学习作业资源需求特征进行预测。
7.根据权利要求1所述的面向深度学***调度、队列内采用先到先服务调度的原则决定作业的执行顺序并选择待调度作业,然后提取作业的分布式拓扑与集群网络的拓扑结构,并根据作业的资源需求特征,建立网络通信代价模型,最后利用启发式方法遗传算法求解生成资源调度方案。
CN202011310749.8A 2020-11-20 2020-11-20 面向深度学习的gpu资源管理与智能化调度方法 Active CN112416585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011310749.8A CN112416585B (zh) 2020-11-20 2020-11-20 面向深度学习的gpu资源管理与智能化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011310749.8A CN112416585B (zh) 2020-11-20 2020-11-20 面向深度学习的gpu资源管理与智能化调度方法

Publications (2)

Publication Number Publication Date
CN112416585A CN112416585A (zh) 2021-02-26
CN112416585B true CN112416585B (zh) 2024-03-15

Family

ID=74776959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011310749.8A Active CN112416585B (zh) 2020-11-20 2020-11-20 面向深度学习的gpu资源管理与智能化调度方法

Country Status (1)

Country Link
CN (1) CN112416585B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094116B (zh) * 2021-04-01 2022-10-11 中国科学院软件研究所 一种基于负载特征分析的深度学习应用云配置推荐方法及***
CN113377540A (zh) * 2021-06-15 2021-09-10 上海商汤科技开发有限公司 集群资源调度方法及装置、电子设备和存储介质
CN113608722A (zh) * 2021-07-31 2021-11-05 云南电网有限责任公司信息中心 一种基于分布式技术的算法封装方法
CN113791906A (zh) * 2021-08-09 2021-12-14 戴西(上海)软件有限公司 基于gpu资源在人工智能与工程领域调度***及优化算法
CN113656151A (zh) * 2021-08-20 2021-11-16 上海熠知电子科技有限公司 深度学习算力虚拟化方法
CN115048216B (zh) * 2022-05-31 2024-06-04 苏州浪潮智能科技有限公司 一种人工智能集群的资源管理调度方法、装置和设备
CN115202850B (zh) * 2022-09-09 2022-12-20 国家超级计算天津中心 作业调度方法、装置、电子设备和存储介质
CN117827415A (zh) * 2022-09-27 2024-04-05 中兴通讯股份有限公司 Gpu资源调度方法、服务器及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959891A (zh) * 2017-03-30 2017-07-18 山东超越数控电子有限公司 一种实现gpu调度的集群管理方法和***
CN108881446A (zh) * 2018-06-22 2018-11-23 深源恒际科技有限公司 一种基于深度学***台***
CN109034396A (zh) * 2018-07-11 2018-12-18 北京百度网讯科技有限公司 用于处理分布式集群中的深度学习作业的方法和装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN109189401A (zh) * 2018-07-06 2019-01-11 曙光信息产业(北京)有限公司 一种深度学习框架的部署方法以及***
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN110442451A (zh) * 2019-07-12 2019-11-12 中电海康集团有限公司 一种面向深度学习的多类型gpu集群资源管理调度方法和***
CN111090456A (zh) * 2019-12-06 2020-05-01 浪潮(北京)电子信息产业有限公司 一种深度学习开发环境的构建方法、装置、设备及介质
KR102140730B1 (ko) * 2019-12-17 2020-08-04 (주) 씨이랩 Gpu 기반의 딥러닝 개발 환경 제공 시스템 및 방법
CN111694656A (zh) * 2020-04-22 2020-09-22 北京大学 基于多智能体深度强化学习的集群资源调度方法及***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885762B (zh) * 2017-09-19 2021-06-11 北京百度网讯科技有限公司 智能大数据***、提供智能大数据服务的方法和设备
US10884795B2 (en) * 2018-04-26 2021-01-05 International Business Machines Corporation Dynamic accelerator scheduling and grouping for deep learning jobs in a computing cluster

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959891A (zh) * 2017-03-30 2017-07-18 山东超越数控电子有限公司 一种实现gpu调度的集群管理方法和***
CN108881446A (zh) * 2018-06-22 2018-11-23 深源恒际科技有限公司 一种基于深度学***台***
CN109189401A (zh) * 2018-07-06 2019-01-11 曙光信息产业(北京)有限公司 一种深度学习框架的部署方法以及***
CN109034396A (zh) * 2018-07-11 2018-12-18 北京百度网讯科技有限公司 用于处理分布式集群中的深度学习作业的方法和装置
CN109086134A (zh) * 2018-07-19 2018-12-25 郑州云海信息技术有限公司 一种深度学习作业的运行方法和装置
CN110442451A (zh) * 2019-07-12 2019-11-12 中电海康集团有限公司 一种面向深度学习的多类型gpu集群资源管理调度方法和***
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN111090456A (zh) * 2019-12-06 2020-05-01 浪潮(北京)电子信息产业有限公司 一种深度学习开发环境的构建方法、装置、设备及介质
KR102140730B1 (ko) * 2019-12-17 2020-08-04 (주) 씨이랩 Gpu 기반의 딥러닝 개발 환경 제공 시스템 및 방법
CN111694656A (zh) * 2020-04-22 2020-09-22 北京大学 基于多智能体深度强化学习的集群资源调度方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Distributed training strategies for a computer vision deep learning algorithm on a distributed GPU cluster;panelVíctor Campos et al.;《Procedia Computer Science》;全文 *
深度学习云服务适配问题研究;林健 等;《软件导刊》;全文 *
面向GPU异构集群的自学习负载均衡调度算法惠;刘惠 等;《西安石油大学学报( 自然科学版)》;第30卷(第3期);全文 *

Also Published As

Publication number Publication date
CN112416585A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN110737529B (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
US11989647B2 (en) Self-learning scheduler for application orchestration on shared compute cluster
Guo et al. Cloud resource scheduling with deep reinforcement learning and imitation learning
Gu et al. Liquid: Intelligent resource estimation and network-efficient scheduling for deep learning jobs on distributed GPU clusters
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
Polo et al. Performance-driven task co-scheduling for mapreduce environments
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN104765640B (zh) 一种智能服务调度方法
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和***
TWI786564B (zh) 任務調度方法和裝置、儲存媒體及計算機設備
CN110262897B (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
CN114237869B (zh) 基于强化学习的Ray双层调度方法、装置和电子设备
CN110221909A (zh) 一种基于负载预测的Hadoop计算任务推测执行方法
CN109710372A (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109740870A (zh) 云计算环境下Web应用的资源动态调度方法
Zhong et al. Speeding up Paulson’s procedure for large-scale problems using parallel computing
CN114911613A (zh) 一种云际计算环境中跨集群资源高可用调度方法及***
CN111061565A (zh) 一种Spark环境下的两段式流水线任务调度方法及***
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN111930485B (zh) 一种基于性能表现的作业调度方法
Chen et al. Deadline-constrained MapReduce scheduling based on graph modelling
CN113377503A (zh) 一种协作式ai的任务调度方法、装置与***
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN116932201A (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