CN114968601A - 一种按比例预留资源的ai训练作业的调度方法和调度系统 - Google Patents

一种按比例预留资源的ai训练作业的调度方法和调度系统 Download PDF

Info

Publication number
CN114968601A
CN114968601A CN202210901811.3A CN202210901811A CN114968601A CN 114968601 A CN114968601 A CN 114968601A CN 202210901811 A CN202210901811 A CN 202210901811A CN 114968601 A CN114968601 A CN 114968601A
Authority
CN
China
Prior art keywords
resource
resources
training
node
scheduling
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
CN202210901811.3A
Other languages
English (en)
Other versions
CN114968601B (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.)
Hefei Zhongke Leinao Intelligent Technology Co ltd
Original Assignee
Hefei Zhongke Leinao Intelligent Technology Co ltd
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 Hefei Zhongke Leinao Intelligent Technology Co ltd filed Critical Hefei Zhongke Leinao Intelligent Technology Co ltd
Priority to CN202210901811.3A priority Critical patent/CN114968601B/zh
Publication of CN114968601A publication Critical patent/CN114968601A/zh
Application granted granted Critical
Publication of CN114968601B publication Critical patent/CN114968601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F9/5038Allocation 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种按比例预留资源的AI训练作业的调度方法和调度系统,所述调度方法包括一预选阶段和一优选阶段,用户通过比例调度模块设置一比例,将第一资源、第二资源和第三资源按照比例为1:P:Q进行设定;获取一节点服务器中第一资源、第二资源和第三资源分别对应的总资源数量及识别训练作业,假定调度所述训练作业后,volcano调度器判断所述节点服务器剩余资源数量是否可以满足所述各资源之间的所述比例,筛选出所述节点中剩余各资源之间满足所述比例的节点,将所选出的符合条件的节点进入优选阶段,选出最优的节点处理训练作业。本发明用于提升集群高价值主要资源的利用率以及减少资源的碎片化。

Description

一种按比例预留资源的AI训练作业的调度方法和调度系统
技术领域
本发明涉及计算机领域的云原生、资源调度和深度学习平台等,尤其涉及一种按比例预留资源的AI训练平台的调度方法和调度系统。
背景技术
随着机器学习与深度学习持续发展,模型训练和预测对设备性能要求持续增长。其中GPU、NPU(神经网络处理器)等人工智能芯片是支持深度学习的主流硬件,由于此类芯片价格较传统CPU芯片价格更高,一般是CPU价格的10倍,因此在价格昂贵的资源GPU、NPU与价格便宜的资源CPU同时使用时,如何提升云平台中主要资源例如价格昂贵资源的利用率是提升平台收益的关键问题。
目前一些厂商都在使用K8s、volcano等搭建自己的深度学习平台,K8s、volcano这些项目也提供了资源调度器来解决资源调度的问题。如K8s自带的资源调度器,该资源调度器有一个明显的特点是:依次调度每个容器,其固有的特点也限制了其在大规模分布式训练或者大数据场景下的应用。
在大规模分布式训练或者大数据场景下,必须多个容器同时配合执行,上述大规模分布式训练或者大数据场景下计算任务中包含的容器们希望的操作是,要么同时执行,要么就都不执行,也即必须所有需要的容器都同时运行才能进行训练。在K8s依次调度每个容器的情况下,当集群资源小于计算任务资源总需求时,就会存在后面调度的部分容器因为资源不足而调度失败,其他的已经调度容器即使运行着也不能进行训练作业,会空占GPU却不能开始计算,保持死锁的状态浪费资源,这种成本是非常高的,因此K8s项目中容器的依次调度无法满足该场景的需求。
此时为了解决上述K8s中的问题,就诞生了支持批处理作业调度的volcano模块,其是CNCF(云原生计算基金会)下首个也是唯一的基于K8s的容器批量计算平台。它通过Gang Scheduling(组调度器)调度策略使一组容器要么同时执行,要么都别调度的问题。Gang调度策略是volcano调度器的核心调度算法之一,具体算法是,观察Job(任务)下的Pod(容器,是K8s进行调度的最小单元)已调度数量是否满足了最小运行数量,例如,当Job调度时,需要4个pod同时启动才能正常运行,如果集群仅能满足3个pod创建,并不会直接将3个pod调度并创建,当Job(任务)的最小运行数量得到满足时,也即pod的数量满足4个时,为Job(任务)下的所有Pod(容器)执行调度动作,否则,不执行。这个是最基本的用来解决资源死锁的问题,可以很好的提高集群资源利用率。但是,现有技术中的调度不支持每个节点服务器按照比例预留资源的调度策略,导致资源碎片化严重以及主要资源利用率低下的问题。K8s中的节点资源通常包括1个master节点以及多个worker节点。Master节点指的是集群控制节点,负责整个集群的管理和控制,它通常会占据一个独立的服务器。除了master节点,K8s集群中的其他机器被称为worker node,简称node节点,它是K8s集群中的工作负载节点,资源检测组件kubelet就运行在node节点,node节点所在的服务器被称为节点服务器。在选择调度训练任务的节点时,如果某个node节点的GPU数量符合任务的需求,但是因为其CPU资源和内存资源已经所剩无几远远低于该任务的需求,导致该节点不能执行训练任务,最终导致该节点GPU资源的闲置浪费。以GPU和CPU硬件平台为例,在纯CPU任务占用集群中某个节点大量的内存和CPU资源后,我们申请CPU和GPU混合调度任务的情况时,由于该节点剩余内存和CPU资源不足导致GPU资源因不能分配到相应的CPU和内存资源而不能被调度,造成了该节点的GPU资源只能空闲着,从而产生了资源浪费。因此,从整个集群资源利用率角度这些调度算法仍然存在以下问题:
首先,现有技术虽然可以实现对K8s中一组容器的同时调度,但是不能解决因为训练作业占用节点CPU、内存等辅助资源过多,出现某个GPU还有剩余的node节点上剩余辅助资源不足,导致最终GPU任务因为辅助资源不足无法被调度的问题,也即无法实现按照一定比例预留节点资源(例如GPU、CPU、内存)的调度工作,造成资源碎片化的问题;第二,由于训练任务除了需要GPU卡外,还需要分配相应的CPU和内存资源,如果某个节点上调度了很多消耗过多的CPU和内存资源的训练作业,会导致该node节点因为CPU和内存被过多的占用,导致该节点的部分GPU因为没有足够的CPU和内存资源而无法被调度使用,而GPU是用于模型训练的核心算力资源,这样会造成核心高价值的主要硬件资源(AI芯片,如GPU、NPU等)的浪费,导致生产成本的提升和资源利用率降低的问题。
有鉴于此,如何设计一种按比例预留资源的AI训练作业的调度方法和系统,实现对每个node节点更合理的调度工作,提高节点主要资源利用率以及降低核心高价值资源的生产成本是业内相关技术人员亟待解决的一项课题。发明内容
本发明提供了一种按比例预留资源的AI训练作业的调度方法和系统,解决因为训练作业占用node节点CPU、内存等辅助资源过多,出现某个节点上资源分配不协调,GPU任务因为辅助资源不足无法被调度从而造成的资源碎片化的问题;另外,解决由于训练任务除了需要GPU卡外,还需要分配相应的CPU和内存资源,如果某个node节点上调度了很多消耗过多的CPU和内存资源的训练作业,会导致该node节点因为CPU和内存被过多的占用,导致该节点的部分GPU因为没有足够的CPU和内存资源而无法被使用,而GPU是用于模型训练的核心算力资源,这样会造成核心高价值的主要硬件资源(AI芯片,如GPU、NPU等)的浪费,导致主要资源的利用率降低、生产成本的提升的问题。本发明实现了按照比例预留节点资源(例如GPU、CPU、内存)的调度方法、提高主要资源的利用率、降低生产成本和减少资源碎片化的技术效果。
本发明提供了一种按比例预留资源的AI训练作业的调度方法,包括以下步骤:
步骤S1:用户通过比例调度模块设置一比例,将第一资源、第二资源和第三资源按照比例为1:P:Q进行设定,其中,1≤P≤Q,第一资源的主次高于第二资源和第三资源;
步骤S2:获取一节点服务器中第一资源、第二资源和第三资源分别对应的总资源数量,节点服务器为node节点服务器;
步骤S3:所述节点服务器识别一训练作业,节点服务器为node节点服务器;
步骤S4:所述节点服务器计算所述训练作业所需消耗的第一资源、第二资源和第三资源的数量,节点服务器为node节点服务器;
步骤S5:假定调度所述训练作业后,计算所述节点服务器在调度该训练作业后剩余的第一资源、第二资源和第三资源的数量,判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q,其中,所述第二资源和所述第三资源可以存在剩余,节点服务器为node节点服务器;
步骤S6:如果步骤S5判断结果为是,或者当所述节点服务器剩余的第一资源等于0且第二资源、第三资源大于等于0时,则所述节点服务器进入一优选阶段,如果在优选阶段所述节点服务器得分最高,则调度该训练作业,在调度所述训练作业后,当有新的训练作业被识别,则重复步骤S4和步骤S5,节点服务器为node节点 服务器;
如果步骤S5判断结果为否,则所述训练作业在该节点服务器不被调度,若新的训练作业被识别则重复步骤S4和步骤S5。
进一步地,其中第一资源包括GPU,第二资源包括CPU,第三资源包括内存,所述节点服务器(node节点服务器)至少包括两个或多个。
更进一步地,步骤S3中所述训练作业包括第一训练作业、第二训练作业……第N训练作业,其中N为大于等于1的整数,调度所述第N训练作业会将所述第一资源完全消耗完。
更进一步地,所述比例调度模块的名称写在volcano配置文件对应的调度插件的位置,以实现比例调度模块和volcano模块的绑定,并把所述比例调度的开关设置为开的状态,即启用该比例调度模块,以实现对资源的利用效率,更合理的分配训练任务。
更进一步地,所述调度方法还包括:S1:用户在比例调度模块中设置需要预留的所述GPU、CPU、内存资源之间数量上的所述比例为:GPU:CPU:内存为1:P:Q,其中GPU的数量计算单位为卡,CPU的数量计算单位为核,内存的数量计算单位为GB;
S2:检测集群中所述节点服务器中GPU空闲总资源为G,CPU空闲总资源为C,内存空闲总资源为M;
S3:节点服务器识别所述训练作业;
S4:计算所述训练作业所需的资源分别为GPU为G1卡,CPU为C1核,内存为M1GB;
S5:volcano调度器对所述节点剩余资源进行计算并判断是否符合所述比例,节点各剩余资源计算如下:剩余GPU资源:G-G1;剩余CPU资源:C-C1 -(G - G1)* P ;剩余内存:M-M1 -(G - G1)* Q;
S6:如果S5中所述节点剩余GPU资源、剩余CPU资源、剩余内存资源均大于等于0,则所述节点服务器进入所述优选阶段,如果在优选阶段所述节点服务器得分最高,则该节点服务器调度该训练作业。
更进一步地,第一资源还进一步包括:高性能NIC或FPGA或NPU。FPGA是指FieldProgrammable Gate Array,现场可编程门阵列, 是一种可以重构电路的芯片,一种硬件可重构的体系结构。
更进一步地,所述节点服务器识别所述训练作业的各资源使用情况的检测组件为kubelet组件,其中所述kubelet组件接口用于监控节点资源以及节点的资源使用情况。
更进一步地,所述第一资源属于主要资源,包括GPU等资源,所述第二资源和所述第三资源属于次要资源,包括CPU资源或内存任一者或者两者的组合。
本发明还提出一种按比例预留资源的AI训练作业的调度系统,解决因为训练作业占用节点CPU、内存等辅助资源过多,出现某个node 节点上资源分配不协调,导致最终GPU任务因为辅助资源不足无法被调度的问题;另外,解决由于训练作业除了需要GPU卡外,还需要分配相应的CPU和内存资源,如果某个节点上调度了很多消耗过多的CPU和内存资源训练作业,会导致该节点因为CPU和内存被过多的占用,导致该节点的部分GPU因为没有足够的CPU和内存资源而无法被调度使用,而GPU是用于模型训练的核心算力资源,这样会造成核心高价值的主要硬件资源(AI芯片,如GPU、NPU等)的浪费,导致主要资源的利用率降低、生产成本的提升和资源碎片化的问题。本发明实现了按照比例实现节点资源(例如GPU、CPU、内存)的调度工作、提高主要资源的利率、降低生产成本和减少资源碎片化的技术效果。
该调度系统包括比例调度模块、master节点服务器、node节点服务器、volcano调度器,比例调度模块用于设置一比例,将第一资源、第二资源和第三资源按照比例为1:P:Q进行设定,其中,1≤P≤Q,第一资源的主次高于第二资源和第三资源;
一node节点服务器,所述节点服务器用于识别一训练作业;所述节点服务器用于计算所述训练作业所需的第一资源、第二资源和第三资源以及所述第一资源、第二资源、第三资源分别对应的总资源数量,且为一训练作业提供资源;
一volcano调度器,计算所述节点服务器调度所述训练作业后剩余的资源;
假定调度所述训练作业后,所述volcano调度器计算所述节点服务器在调度该训练作业后剩余的第一资源、第二资源和第三资源的数量,判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q,其中,所述第二资源和所述第三资源可以存在剩余;
如果判断结果为是,或者当所述节点服务器剩余的第一资源等于0且第二资源、第三资源大于等于0时,则所述节点服务器进入一优选阶段,如果在优选阶段所述节点服务器得分最高,则调度该训练作业,在调度所述训练作业后,当有新的训练作业被识别,则所述节点服务器重新判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q;
如果判断结果为否,则所述训练作业在该节点服务器不被调度,若新的训练作业被识别则所述节点服务器判断调度所述新的训练作业后,所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q。
进一步地,第一资源包括GPU,第二资源包括CPU,第三资源包括内存。
进一步地,所述训练作业包括第一训练作业、第二训练作业……第N训练作业,其中N为大于等于1的整数,调度所述第N训练作业会将所述第一资源完全消耗完。
更进一步地,所述比例调度模块的名称需要写在volcano配置文件对应的调度插件的位置,以实现比例调度模块和volcano的绑定,并把所述比例调度的开关设置为开的状态,即启用该比例调度模块。
更进一步地,用户在比例调度模块中设置所述GPU、CPU、内存的空闲资源之间数量上的所述比例为:GPU:CPU:内存为1:P:Q,其中GPU的数量计算单位为卡,CPU的数量计算单位为核,内存的数量计算单位为GB;
检测集群中所述节点服务器中GPU空闲总资源为G,CPU空闲总资源为C,内存空闲总资源为M;
所述节点服务器识别所述训练作业;
节点调度组件计算所述训练作业所需的资源分别为GPU为G1卡,CPU为C1核,内存为M1GB;
节点资源调度组件对节点剩余资源进行计算并判断是否符合所述比例,节点各剩余资源计算如下:剩余GPU资源:G-G1;剩余CPU资源:C-C1 -(G - G1)* P ;剩余内存:M-M1-(G - G1)* Q;
所述节点剩余GPU资源、剩余CPU资源、剩余内存资源均大于等于0,则所述节点服务器进入所述优选阶段,如果在优选阶段所述节点服务器得分最高,则该节点服务器调度该训练作业。
在运行训练作业的时候,需要申请不同类型的资源,如部分作业仅需要CPU和内存资源,部分任务需要GPU和CPU及内存资源。在该按比例预留资源的调度方法下,需要先设定一个主要资源如GPU,并按预先设定的比例预留一定数量的关联的“次要”资源如CPU、内存,从而保证节点高价值主要硬件资源有足够的“次要”资源来调度训练作业而不会被闲置产生浪费,从而提高主要硬件资源的利用率以及减少资源碎片化。
本发明提出了一种按照比例预留资源的AI训练作业的调度策略,能够进一步提高深度学习平台资源利用率,减少高价值主要硬件资源的浪费。
附图说明
附图是用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施说明一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的按照比例预留节点资源的AI训练作业的调度方法流程图以及未使用比例调度插件的资源使用流程图。
图2为本发明提供的按照比例预留资源节点调度流程图。
图3为本发明提供的按照比例预留节点资源调度方法中的预选阶段流程图。
图4为本发明提供的按照比例预留节点资源调度方法中预选阶段节点调度过程。
具体实施方式
下面结合附图详细说明本发明的具体实施例。然而,应当将本发明理解成并不局限于以下描述的这种实施方式,并且本发明的技术理念可以与其他公知技术或功能与那些公知技术相同的其他技术组合实施。
在以下具体实施例的说明中,为了清楚展示本发明的结构及工作方式,将借助诸多方向性词语进行描述,但是应当将“前”、“后”、“左”、“右”、“外”、“内”、“向外”、“向内”、“轴向”、“径向”等词语理解为方便用语,而不应当理解为限定性词语。其中,kubelet:K8s中的组件之一,在K8s集群中,每个node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod。K8s中的节点资源通常包括1个master节点以及多个worker节点。master指的是集群控制节点,负责整个集群的管理和控制,它通常会占据一个独立的服务器。除了master,K8s集群中的其他机器被称为worker node,简称node(节点)。它是K8s集群中的工作负载节点,资源检测组件kubelet就运行在node节点。
空闲资源:node节点上未被使用的资源;
比例:主要资源和次要资源之间比例,对应的次要资源相对于主要资源的倍数值(取整);
剩余资源:某一节点某一资源总量减去该节点中资源已用的量减去主要资源剩余量与比例值乘积的差值;本发明提出了一种按比例预留资源的AI训练作业的调度方法来解决现有技术中无法实现集群中每个节点按照比例预留节点资源(例如GPU、CPU、内存)的调度工作以及生产成本高和主要资源利用率低、资源碎片化的技术问题。
每个node节点均会包含多种资源,例如CPU、GPU、内存等资源,每个node节点会运行处理多个训练作业,根据运行训练作业所需的资源种类,消耗一定的CPU、GPU、内存等。因此,当用户运行训练作业的时候,需要根据训练作业的需求申请不同类型的资源,例如部分作业仅需要CPU和内存资源,部分作业需要GPU和CPU资源。如果用户申请的训练作业需要一定数量的GPU和CPU时,当某个节点上的GPU资源不满足该训练作业时,即便该节点上的CPU资源有大量的剩余或者某个节点上的CPU资源不满足该训练作业时,即便该节点上的GPU资源有大量的剩余,该节点仍然不能实现对上述训练作业的处理,造成节点资源的浪费。考虑到GPU资源的高价值特点,在一些情况下,需要先设定一个主要资源如GPU,并按预先设定的比例预留关联的“次要”资源如CPU、内存,保证高价值主要硬件资源例如GPU不会被闲置,从而提高主要硬件资源的利用率。
结合图1解释按比例预留节点资源的AI训练作业的调度方法流程图以及未使用比例调度插件的资源使用流程图,图1中,虚线左边是使用了比例调度插件里设置的比例调度策略进行训练作业的调度过程,虚线右边是未使用比例调度插件进行的训练作业调度的过程及结果。通过对比可以发现,在用该组调度数据进行调度的情况下,使用了比例调度插件里的比例调度策略时,节点可以达到GPU卡的利用率为100%,而未使用比例调度插件时,节点的GPU利用率在为50%。虽然在特定的情况下未使用比例调度插件进行调度也是可以达到100% 的GPU利用率,但这种情况比较少。很多情况下都会因为node节点上调度了很多消耗CPU和内存的任务而使节点GPU因没有充足的训练作业必须的CPU或内存而闲置,从而造成了该高价值资源的浪费。
首先,用户在比例调度模块中设置一比例,将第一资源、第二资源、第三资源按照该比例进行设置,该比例作为一个判断依据,当训练作业出现时,假定node节点服务器调度了该训练作业,则计算该节点服务器第一资源、第二资源和第三资源所对应的剩余资源之间的比值是否满足比例调度模块中的比例,如果满足比例调度模块中设置的比例,则节点服务器调度该训练作业,如果剩余的第一资源、第二资源、第三资源之间不满足设定的比例,则不会调度该训练作业。因此通过比例调度模块中的比例,可以提前判断待调度工作与节点剩余资源之间的关系,从而将节点资源充分的利用。
结合图1进行详细说明如下。在比例调度模块中设置一比例,其中该比例是第一资源GPU、第二资源CPU和第三资源内存之间资源数量的比例值,各资源之间的比例为:GPU:CPU:内存=1卡:4核:20G,此处为了更清楚的论述该比例的作用,因此采用了具体的数值,此处的各个资源之间的比值不限于此,可以根据具体需求调整比例值。
kubelet组件检测到节点服务器中第一资源、第二资源和第三资源分别对应的总资源数量为第一资源GPU为8卡,第二资源CPU为40核,第三资源内存为200G,将检测到的数据共享到volcano调度器模块。
node节点服务器识别训练作业,当节点服务器识别到训练作业A时,volcano调度器计算出训练作业A所需消耗的第一资源GPU、第二资源CPU、第三资源内存分别为1卡、10核、50G。假定节点服务器调度训练作业A后,判断节点服务器剩余的第一资源、第二资源和第三资源之间的比例是否可以满足1卡:4核:20G。如果节点服务器调度训练作业A,则节点服务器上剩余的第一资源GPU为7卡(8卡-1卡),剩余第二资源CPU为30核(40核-10核),剩余的第三资源为150G(200G-50G),那么节点服务器中的第一资源、第二资源和第三资源之间的比例为:7:30:150=1:4.3:21.4,因此可以满足比例调度模块中设置的比例1:4:20,也即第一资源可以充分被利用,第二资源和第三资源可能有部分盈余。当判断剩余资源符合比例调度模块中设定的比例时,该训练作业A会被调度。
训练作业A被调度后,节点服务器会继续识别是否有待训练作业存在,如果识别待训练作业B,节点服务器计算出训练作业B所需消耗的第一资源GPU、第二资源CPU、第三资源内存分别为3卡、15核、150G。假定节点服务器调度训练作业B后,volcano调度器判断节点服务器剩余的第一资源、第二资源和第三资源之间的比例是否可以满足1卡:4核:20G。如果节点服务器调度训练作业B,则节点服务器上剩余的第一资源GPU为4卡(7卡-3卡),剩余第二资源CPU为25核(40核-15核),剩余的第三资源为0G(150G-150G),那么节点服务器中的第一资源、第二资源和第三资源之间的比例为:4:25:0不符合比例调度模块中设置的比值1:4:20,判断剩余资源不符合比例调度模块中设定的比例时,该训练作业B不会被调度。
如果节点服务器资源有剩余,节点服务器还会不停的识别是否存在训练工作,当节点服务器识别到存在训练工作C时。节点服务器计算出训练作业C所需消耗的第一资源GPU、第二资源CPU、第三资源内存分别为7卡、15核、10G。假定节点服务器调度训练作业C后,volcano调度器判断节点服务器剩余的第一资源、第二资源和第三资源之间的比例是否可以满足1卡:4核:20G。如果节点服务器调度训练作业C,则节点服务器上剩余的第一资源GPU为0卡(7卡-7卡),剩余第二资源CPU为10核(25核-15核),剩余的第三资源为140G(150G-10G),那么节点服务器中的第一资源、第二资源和第三资源之间的比例为:0:10:140,也即第一资源完全消耗完,第二资源和第三资源之间的比值也符合4:20,也即将相对昂贵的资源完全消耗,此时,训练作业C会被调度,也即会处理训练作业C。针对剩余的第二资源和第三资源也会被仅消耗CPU或内存的训练作业消耗掉。下面是举的一个使用比例调度插件与未使用比例调度插件可能发生的调度结果的例子。
图1右侧流程图显示了现有技术中没有采用本方案的作业调度方式流程图,同样以三个训练作业A、B、C进行演示,节点服务器同样具有第一资源、第二资源、第三资源分别为GPU8卡、CPU40核、内存200G。当训练作业A被节点服务器识别后,判断节点服务器的资源是否满足训练作业A的需求,如果满足,则执行训练作业A,节点服务器剩余资源变为第一资源7卡,第二资源30核,第三资源150G,执行训练作业A后,会继续识别训练作业B,然后判断节点服务器剩余资源是否满足训练作业B,由于训练作业B所需的第一资源、第二资源和第三资源分别为3卡、15核、150G。因此,训练作业B会被调度处理,此次节点服务器剩余的第一资源、第二资源和第三资源分别为4卡、15核、0G,由于内存已经被完全消耗完,GPU的任务肯定需要内存资源才能运行,因此GPU的任务在该节点上都不能运行,导致该节点服务器会有4核的GPU闲置,也即该节点服务器中GPU的利用率仅占50%,导致了主要资源的严重浪费。
经过本发明中的方案具体实施和没有采用本发明技术方案的现有的处理方式,可以清楚的进行比对,现有技术方案中第一资源也即主要资源的利用率比较低,甚至利用率仅达到一半,有时甚至更低。因此本发明在调度训练作业之前设置一比例,实现对是否调度训练作业进行判断,可以实现主要资源也即第一资源的充分利用,同时,在第一资源实现充分利用后,也可以将剩余的第二资源和第三资源实现充分的利用,也即提高主要资源的利用率,降低生产成本、降低资源碎片化的问题。
其中,需要进一步说明的,本领域技术人员知悉上述node节点服务器并非仅指一个节点服务器,可以包括符合条件的多个节点服务器,多个节点服务器判断后如果符合上述条件,均满足执行上述训练任务的可能性,最终执行该训练任务的节点服务器会从选择出的多个符合条件的节点服务器选择最优的一个执行训练作业。
结合图2提供的按照比例预留资源节点调度流程图对操作过程进行说明。用户申请创建训练作业,在K8s申请所需的资源,进行多个node节点服务器资源检测,通过volcano调度器获取到 kubelet组件检测到的各个节点服务器的资源种类和各个资源的总量信息,以及节点资源使用情况等,通过 volcano调度器判断节点中剩余资源的情况;volcano调度器对节点剩余资源以及创建训练作业所需资源进行分析,选择满足训练作业所需资源条件的node节点服务器进行调度该训练作业。
该按比例预留节点资源的调度方法如下:
(1) 节点资源种类、数量和使用情况的检测
通过volcano调度器获取到K8s中的kubelet组件检测到的各个节点的资源种类和总量信息;根据K8s的kubelet组件的一些接口监控节点的资源使用情况,判断节点中各个资源被占用的数量以及各资源剩余的情况。
(2)节点资源调度
节点资源调度包括节点资源调度预选阶段和节点资源调度优选阶段。其中在节点资源调度的预选阶段,筛选符合设定比例条件的资源节点服务器(也可称“节点”),根据训练作业所需的资源情况排除掉不符合预选阶段设定条件的节点,筛选出所有满足训练作业所需资源条件的节点并进入优选阶段。优选阶段的工作就是为这些通过了预选阶段的满足调度训练作业的节点打分,得分最高的就是最合适调度训练作业的节点。
节点资源调度预选阶段在资源调度过程中的作用,可以理解为过滤,即:从当前集群的所有节点中,“过滤”出一系列符合条件的node节点。这些节点,都是可以运行待调度Pod(容器)的宿主机。在节点资源调度预选阶段完成了节点的“过滤”之后,优选阶段的工作就是为这些节点打分,这里打分的范围是 0-10分,0 表示优先级最低的节点,10表示优先级最高的节点,得分最高的节点就是最后被 Pod绑定的最佳节点,即最合适调度训练作业的节点。
默认的打分算法有8个,每个算法有各自的权重,最常用的一个打分算法,是Least Requested Priority(最少被请求优选策略),这个算法实际上就是在选择空闲资源(CPU 和 内存)最多的node(节点)。 在实际的执行过程中,调度器里关于集群和 Pod 的信息都已经缓存化,所以这些算法的执行过程还是比较快的,其中,Pod运行在node节点上,node节点服务器可以为pod提供运行的条件,如资源请求或者网络等,pod中运行着训练作业这种工作负载。
按比例预留资源的AI训练作业的调度方法的预选阶段主要是选择可使用的节点,使用该调度方法时,首先根据集群节点空闲资源指定主要资源和附属资源的调度比例,以集群中GPU为主要资源,CPU、内存属于附属资源为例,比例调度模块中可以设置GPU:CPU:内存为1卡:P核:QGB。例如可以根据集群中空闲资源中GPU:CPU:内存比例最小的一节点设置比例。如比例最小的一节点中空闲的GPU:8,CPU:68,内存:82,考虑到GPU属于主要资源,可以将该节点的资源设定1:8:10的比例值。相同的,其他主要资源例如还可以为高性能NIC或FPGA或NPU等,其中主要资源解释如下:NPU是指嵌入式神经网络处理器;NIC是指网络接口控制器(英语:network interface controller),高性能资源与其他次要资源之间也可以采用同样的设置方式,保证为主要资源预留一定的次要资源例如CPU资源、内存,以使主要资源可以被充分利用。
节点资源检测组件用于检测各个节点的资源信息,例如集群中某一节点GPU总资源为G,CPU总资源为C,内存总资源为M,节点资源使用情况检测组件检测到上述节点中已经使用GPU核数为G2,CPU为C2,内存为M2。用户提交创建训练作业请求,申请GPU申请GPU为G1,CPU核数为C1,申请内存为M1,则节点资源调度组件会进行剩余资源的计算,节点剩余CPU:C-C1-C2 -(G - G1-G2)* P ;节点剩余内存: M-M1-M2 -(G - G1-G2)* Q,如果上述的节点剩余CPU和节点剩余内存都大于等于0,则判断为该节点剩余资源符合所述比例,该节点被选中,进入优选阶段;如果上述的节点剩余CPU和节点剩余内存任何一个小于0,表示该节点中相较于主要资源辅助资源已不满足训练作业任务调度所需要各资源之间的比例,则该节点在预选阶段被排除,则该训练作业任务不再被调度到该节点。
具体实施例:
首先设置比例调度模块,在比例调度模块(Proportional)的参数中增加节点各空闲资源之间比例的配置,该比例的配置可根据节点空余资源进行设定。如节点当前空闲GPU为4卡,CPU为34核,Memory(内存)为60G,则可以设置GPU,CPU,Memory等空闲资源的比例为1:8:10(多出来的CPU和内存可以供节点调度纯CPU任务),然后需要根据上述设置的节点资源比例增加节点的筛选条件(节点的筛选条件在下面列出),最后需要把该比例调度模块与volcano模块进行绑定。其中,绑定的过程即在volcano的调度配置文件(volcano-scheduler.conf)中写入该比例调度模块的名称,以及在参数里增加参数ProportionalEnable(是否开启比例调度策略)并把该值设置为true(真),即表示启用该比例调度模块里的比例调度策略。将比例调度模块与volcano绑定的作用就是让volcano运行时可以调用该比例调度模块,从而在任务调度时预选阶段就可以根据该比例调度模块设置的比例调度策略实现对节点的筛选。
节点筛选的条件结合图1实施例进行说明:
1、节点空闲CPU与节点已使用CPU之差大于等于节点空闲GPU乘以CPU与GPU之间的比例(在本例中为GPU:CPU =1:4,则该比例为4)
2、节点空闲Memory与节点已使用Memory之差大于等于节点空闲GPU乘以Memory(内存)与GPU之间的比例(在本例中为GPU: Memory=1:20,则该比例为20)
当上述两条其中任一不符合或者均不符合时,该节点不能通过预选条件,直接从可调度的节点中排除;如果节点的CPU资源和GPU资源均符合上述两个条件,则阶段通过预选阶段进入优选阶段。
当用户向K8s申请创建训练作业的所需的计算资源(如 CPU、Memory、GPU等)时,volcano调度器会根据比例调度模块中设定的比例以及调度策略从节点中排除掉不满足预选条件的节点。
按照比例预留资源的的AI训练作业的调度系统,K8s组件kubelet用于检测一节点资源,节点服务器识别训练作业认为所需资源的种类,以及用于监控节点上所述资源的使用情况;volcano调度器,用于判断所述节点剩余资源是否满足所述节点各资源之间的一比例;其中,volcano调度器中绑定了比例调度模块,用于设定节点需要预留的各资源之间的所述比例;如果所述节点剩余资源满足所述节点各资源之间的所述比例,则该节点被选中符合调度训练作业的节点;如果节点剩余资源不满足所述节点各资源之间的所述比例,则该节点不被选中作为调度训练作业的节点。其中,比例调度模块中各资源之间的比例可以根据节点空闲资源之间比例进行设置,例如设置为:GPU:CPU:内存为1:4:20。节点资源检测组件用于检测各个节点的资源信息,例如集群中某一节点GPU总资源为G,CPU总资源为C,内存总资源为M,节点资源使用情况检测组件检测到上述节点中已经使用GPU核数为G2,CPU核数为C2,内存为M2。用户提交创建训练作业请求,申请GPU核数为G1,CPU核数为C1,申请内存为M1,则节点资源调度组件会进行剩余资源的计算,节点剩余CPU:C - C1 - C2-(G - G1 -G2)* 4 ;节点剩余内存: M - M1 - M2 -(G - G1- G2)* 20,如果上述的节点剩余CPU和节点剩余内存都大于等于0,则判断为该节点剩余资源符合所述比例,该节点被选中,进入优选阶段;如果上述的剩余CPU和剩余内存任意一个小于0,表示该节点中相较于主要资源辅助资源已不满足任务调度所需要各资源之间的比例,则该节点在预选阶段被排除,则该训练作业不再被调度到该节点。
本发明相较于现有技术,具有如下优势:常规调度策略混合调度CPU任务、GPU或NPU等任务时,会出现节点上因为附属资源耗尽而主要资源剩余的情况,造成主要资源的浪费以及资源碎片化问题的出现。当采用此调度策略时,设定比例调度模块,会确保节点空闲的主要资源与空闲的辅助资源满足一定的比例,从而避免节点上某种辅助资源耗尽而别的资源(这里主要指GPU等高价值主要资源)仍有剩余的情况(即集群资源浪费),进而提升集群高价值主要资源的利用率,降低任务处理成本以及减少资源碎片化。
本说明书中所述的只是本发明的较佳具体实施例,以上实施例仅用以说明本发明的技术方案而非对本发明的限制。凡本领域技术人员依本发明的构思通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在本发明的范围之内。

Claims (13)

1.一种按比例预留资源的AI训练作业的调度方法,其特征在于,所述方法包括以下步骤:步骤S1:用户通过比例调度模块设置一比例,将第一资源、第二资源和第三资源按照比例为1:P:Q进行设定,其中,1≤P≤Q,第一资源的主次高于第二资源和第三资源;
步骤S2:获取一节点服务器中第一资源、第二资源和第三资源分别对应的总资源数量;
步骤S3:所述节点服务器识别一训练作业;
步骤S4:所述节点服务器计算所述训练作业所需消耗的第一资源、第二资源和第三资源的数量;
步骤S5:假定调度所述训练作业后,计算所述节点服务器在调度该训练作业后剩余的第一资源、第二资源和第三资源的数量,volcano调度器判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q,其中,所述第二资源和所述第三资源可以存在剩余;
步骤S6:如果步骤S5判断结果为是,或者当所述节点服务器剩余的第一资源等于0且第二资源、第三资源大于等于0时,则所述节点服务器进入一优选阶段,如果在优选阶段所述节点服务器得分最高,则调度该训练作业,在调度所述训练作业后,当有新的训练作业被识别,则重复步骤S4和步骤S5;
如果步骤S5判断结果为否,则所述训练作业在该节点服务器不被调度,若新的训练作业被识别则重复步骤S4和步骤S5。
2.根据权利要求1所述的按比例预留资源的AI训练作业的调度方法,其特征在于,其中第一资源包括GPU,第二资源包括CPU,第三资源包括内存,所述节点服务器至少包括两个。
3.根据权利要求1所述的按比例预留资源的AI训练作业的调度方法,其特征在于,步骤S3中所述训练作业包括第一训练作业、第二训练作业……第N训练作业,其中N为大于等于1的整数,调度所述第N训练作业会将所述第一资源完全消耗完。
4.根据权利要求1所述的按比例预留资源的AI训练作业的调度方法,其特征在于,所述比例调度模块的名称写在volcano配置文件对应的调度插件的位置,以实现比例调度模块和volcano模块绑定,并把所述比例调度模块的开关设置为开的状态。
5.根据权利要求2所述的按比例预留资源的AI训练作业的调度方法,其特征在于,
所述调度方法还包括:步骤S1:用户在比例调度模块中设置需要预留的所述GPU、CPU、内存资源之间数量上的所述比例为:GPU:CPU:内存为1:P:Q,其中GPU的数量计算单位为卡,CPU的数量计算单位为核,内存的数量计算单位为GB;
步骤S2:检测集群中所述节点服务器中GPU空闲总资源为G,CPU空闲总资源为C,内存空闲总资源为M;
步骤S3:所述节点服务器识别所述训练作业;
步骤S4:计算所述训练作业所需的资源分别为GPU为G1卡,CPU为C1核,内存为M1GB;
步骤S5:volcano调度器对所述节点剩余资源进行计算并判断是否符合所述比例,节点各剩余资源计算如下:剩余GPU资源:G-G1;剩余CPU资源:C-C1 -(G - G1)* P ;剩余内存:M-M1 -(G - G1)* Q;
步骤S6:如果步骤S4中所述节点剩余GPU、剩余CPU资源、剩余内存资源均大于等于0,则所述节点服务器进入所述优选阶段,如果在优选阶段所述节点服务器得分最高,则该节点服务器调度该训练作业。
6.根据权利要求2所述的按比例预留资源的AI训练作业的调度方法,其特征在于,第一资源还进一步包括:高性能NIC或FPGA或NPU。
7.根据权利要求1所述的按比例预留资源的AI训练作业的调度方法,其特征在于,所述节点服务器识别所述训练作业的各资源使用情况的检测组件为kubelet组件,其中所述kubelet组件接口用于监控节点资源以及节点的资源使用情况。
8.根据权利要求1所述的按比例预留资源的AI训练作业的调度方法,其特征在于,所述第一资源属于主要资源,包括GPU资源,所述第二资源和所述第三资源属于次要资源,包括CPU资源或内存任一者或者两者的组合。
9.一种按比例预留资源的AI训练作业的调度系统,其特征在于,包括:
一比例调度模块,用于设置一比例,将第一资源、第二资源和第三资源按照比例为1:P:Q进行设定,其中,1≤P≤Q,第一资源的主次高于第二资源和第三资源;
一节点服务器,所述节点服务器用于识别一训练作业;所述节点服务器用于计算所述训练作业所需的第一资源、第二资源和第三资源以及所述第一资源、第二资源、第三资源分别对应的总资源数量,且为一训练作业提供资源;
一volcano调度器,计算所述节点服务器调度所述训练作业后剩余的资源;
假定调度所述训练作业后,所述volcano调度器计算所述节点服务器在调度该训练作业后剩余的第一资源、第二资源和第三资源的数量,判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q,其中,所述第二资源和所述第三资源可以存在剩余;
如果判断结果为是,或者当所述节点服务器剩余的第一资源等于0且第二资源、第三资源大于等于0时,则所述节点服务器进入一优选阶段,如果在优选阶段所述节点服务器得分最高,则调度该训练作业,在调度所述训练作业后,当有新的训练作业被识别,则所述节点服务器重新判断所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q;
如果判断结果为否,则所述训练作业在该节点服务器不被调度,若新的训练作业被识别则所述节点服务器判断调度所述新的训练作业后,所述节点服务器剩余资源数量是否可以满足第一资源:第二资源:第三资源为1:P:Q。
10.根据权利要求9所述的按比例预留资源的AI训练作业的调度系统,其特征在于,第一资源包括GPU,第二资源包括CPU,第三资源包括内存。
11.根据权利要求9所述的按比例预留资源的AI训练作业的调度系统,其特征在于,所述训练作业包括第一训练作业、第二训练作业……第N训练作业,其中N为大于等于1的整数,调度所述第N训练作业会将所述第一资源完全消耗完。
12.根据权利要求9所述的按比例预留资源的AI训练作业的调度系统,所述比例调度模块的名称需要写在volcano配置文件对应的调度插件的位置,以实现比例调度模块和volcano模块绑定,并把所述比例调度的开关设置为开的状态,即启用该比例调度模块。
13.根据权利要求10所述的按比例预留资源的AI训练作业的调度系统,用户在比例调度模块中设置所述GPU、CPU、内存的空闲资源之间数量上的所述比例为:GPU:CPU:内存为1:P:Q,其中GPU的数量计算单位为卡,CPU的数量计算单位为核,内存的数量计算单位为GB;
检测集群中所述节点服务器中GPU空闲总资源为G,CPU空闲总资源为C,内存空闲总资源为M;
所述节点服务器识别所述训练作业;
节点调度组件计算所述训练作业所需的资源分别为GPU为G1卡,CPU为C1核,内存为M1GB;
节点资源调度组件对节点剩余资源进行计算并判断是否符合所述比例,节点各剩余资源计算如下:剩余GPU资源:G-G1;剩余CPU资源:C-C1 -(G - G1)* P ;剩余内存:M-M1 -(G- G1)* Q;
所述节点剩余GPU资源、剩余CPU资源、剩余内存资源均大于等于0,则所述节点服务器进入所述优选阶段,如果在优选阶段所述节点服务器得分最高,则该节点服务器调度该训练作业。
CN202210901811.3A 2022-07-28 2022-07-28 一种按比例预留资源的ai训练作业的调度方法和调度系统 Active CN114968601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210901811.3A CN114968601B (zh) 2022-07-28 2022-07-28 一种按比例预留资源的ai训练作业的调度方法和调度系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210901811.3A CN114968601B (zh) 2022-07-28 2022-07-28 一种按比例预留资源的ai训练作业的调度方法和调度系统

Publications (2)

Publication Number Publication Date
CN114968601A true CN114968601A (zh) 2022-08-30
CN114968601B CN114968601B (zh) 2022-11-08

Family

ID=82969422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210901811.3A Active CN114968601B (zh) 2022-07-28 2022-07-28 一种按比例预留资源的ai训练作业的调度方法和调度系统

Country Status (1)

Country Link
CN (1) CN114968601B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115951988A (zh) * 2023-03-03 2023-04-11 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN117170812A (zh) * 2023-09-07 2023-12-05 中国人民解放军国防科技大学 一种基于研发运维一体化架构的数值预报计算云系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150334696A1 (en) * 2013-08-15 2015-11-19 Huawei Technologies Co., Ltd. Resource provisioning method
CN107908479A (zh) * 2017-12-11 2018-04-13 北京奇艺世纪科技有限公司 一种节点资源分配方法及装置
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110825520A (zh) * 2019-10-18 2020-02-21 山东省计算中心(国家超级计算济南中心) 一种实现资源高效利用的集群极速弹性伸缩方法
US20210382728A1 (en) * 2020-06-09 2021-12-09 Tencent Technology (Shenzhen) Company Limited Running pbs jobs in kubernetes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150334696A1 (en) * 2013-08-15 2015-11-19 Huawei Technologies Co., Ltd. Resource provisioning method
CN107908479A (zh) * 2017-12-11 2018-04-13 北京奇艺世纪科技有限公司 一种节点资源分配方法及装置
CN109885389A (zh) * 2019-02-19 2019-06-14 山东浪潮云信息技术有限公司 一种基于容器的并行深度学习调度训练方法及系统
CN110825520A (zh) * 2019-10-18 2020-02-21 山东省计算中心(国家超级计算济南中心) 一种实现资源高效利用的集群极速弹性伸缩方法
US20210382728A1 (en) * 2020-06-09 2021-12-09 Tencent Technology (Shenzhen) Company Limited Running pbs jobs in kubernetes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115951988A (zh) * 2023-03-03 2023-04-11 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN117170812A (zh) * 2023-09-07 2023-12-05 中国人民解放军国防科技大学 一种基于研发运维一体化架构的数值预报计算云系统
CN117170812B (zh) * 2023-09-07 2024-05-03 中国人民解放军国防科技大学 一种基于研发运维一体化架构的数值预报计算云系统

Also Published As

Publication number Publication date
CN114968601B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN114968601B (zh) 一种按比例预留资源的ai训练作业的调度方法和调度系统
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
CN112214307A (zh) 在可用主机节点的约束内的容器化过程的执行
CN110838939B (zh) 一种基于轻量级容器的调度方法及边缘物联管理平台
CN114356543A (zh) 一种基于Kubernetes的多租户机器学习任务资源调度方法
CN112269641A (zh) 一种调度方法、装置、电子设备及存储介质
CN109783225B (zh) 一种多租户大数据平台的租户优先级管理方法及系统
CN113672391B (zh) 一种基于Kubernetes的并行计算任务调度方法与系统
CN111240824B (zh) 一种cpu资源调度方法及电子设备
US20230037293A1 (en) Systems and methods of hybrid centralized distributive scheduling on shared physical hosts
CN110704165A (zh) 一种容器高可用部署方法
CN110221920A (zh) 部署方法、装置、存储介质及系统
CN112181613A (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
CN116340005B (zh) 容器集群的调度方法、装置、设备及存储介质
CN113391914A (zh) 任务调度方法和装置
CN113032102A (zh) 资源重调度方法、装置、设备和介质
CN111209098A (zh) 一种智能渲染调度方法、服务器、管理节点及存储介质
CN114721818A (zh) 一种基于Kubernetes集群的GPU分时共享方法和系统
CN117971491A (zh) 进程内资源控制方法、装置、设备及存储介质
CN114764371A (zh) 任务调度方法及管理系统
CN111796932A (zh) 一种gpu资源调度方法
CN116483547A (zh) 资源调度方法、装置、计算机设备和存储介质
US20230089925A1 (en) Assigning jobs to heterogeneous graphics processing units
CN115629854A (zh) 分布式任务调度方法、系统、电子设备和存储介质
CN113407305A (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