CN114741207B - 一种基于多维度组合并行的gpu资源调度方法和系统 - Google Patents

一种基于多维度组合并行的gpu资源调度方法和系统 Download PDF

Info

Publication number
CN114741207B
CN114741207B CN202210649280.3A CN202210649280A CN114741207B CN 114741207 B CN114741207 B CN 114741207B CN 202210649280 A CN202210649280 A CN 202210649280A CN 114741207 B CN114741207 B CN 114741207B
Authority
CN
China
Prior art keywords
gpu
resource
scheduling
subtask
resource 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.)
Active
Application number
CN202210649280.3A
Other languages
English (en)
Other versions
CN114741207A (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Lab filed Critical Zhejiang Lab
Priority to CN202210649280.3A priority Critical patent/CN114741207B/zh
Publication of CN114741207A publication Critical patent/CN114741207A/zh
Application granted granted Critical
Publication of CN114741207B publication Critical patent/CN114741207B/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/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/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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • 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

Abstract

本发明公开一种基于多维度组合并行的GPU资源调度方法和系统,该方法包括:步骤一,在GPU资源管理中心添加GPU资源插件模块;步骤二,运行插件模块,完成数据层和物理层各类型GPU资源对应的联动;步骤三,GPU资源管理中心从GPU异构集群收集GPU资源的实时基本信息,并下发到GPU资源调度模块;步骤四,调用GPU资源时,向GPU资源调度模块发送支持多维度的组合调度的请求任务;步骤五,GPU资源调度模块将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。本发明能有效提升GPU资源的利用率。

Description

一种基于多维度组合并行的GPU资源调度方法和系统
技术领域
本发明涉及图形处理器、计算技术领域,具体涉及一种基于多维度组合并行的GPU资源调度方法和系统。
背景技术
在AI(英文全称Aritificial Intelligence,中文翻译为人工智能)时代,算法工程师需要进行大量深度学习任务,通常使用Docker容器来作为训练环境,使用昂贵的图像处理器(Graphics Processing Unit,简称GPU)卡能够显著提高训练速度,分布式训练也是当下最频繁的训练场景。当算法工程师需要使用GPU资源时,就需要GPU资源的分配,一方面如何最大限度的将闲置的GPU资源全部利用起来是一个需要面临解决的问题;另一方面不同类型不同型号的GPU卡性能具有显著差异性,如何在不同应用场景的训练中调度到适合的GPU卡,并在训练性能要求高的情况下保证独享资源也是亟需解决的问题。首先针对资源利用率的问题,传统的解决方案一般基于云原生集群调度器的优化,改造成本较高;而针对资源独享的问题,各个云平台一般采用节点锁定和资源池化的解决方案,一方面需要预先进行合理的资源分配;另一方面资源静态池化存在利用率不足的缺点。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提出了一种基于多维度组合并行的GPU资源调度方法和系统,其具体技术方案如下:
一种基于多维度组合并行的GPU资源调度方法,包括以下步骤:
步骤一,在GPU资源管理中心添加多种类型GPU资源的插件模块;
步骤二,运行各个GPU资源的插件模块,完成数据层和物理层各类型GPU资源对应的联动;
步骤三,GPU资源管理中心从GPU异构集群收集GPU资源的实时基本信息,并将实时基本信息下发到GPU资源调度模块;
步骤四,创建GPU资源分布式应用,即调用GPU资源时,向GPU资源调度模块发送支持多维度组合的资源调度请求任务;
步骤五,GPU资源调度模块接收请求任务,将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。
进一步地,所述插件模块基于GPU资源,初始化配置信息进行运行,配置信息包括GPU类型、GPU具体型号、支持的资源调度标签列表、适配于GPU异构集群的驱动安装脚本、GPU异构集群中各类型的GPU节点对应的IP列表以及连接方式;其中支持的资源调度标签列表的资源调度标签以key-value键值对的形式设置,key对应为资源调度的ID,支持GPU类型、GPU具体型号、GPU节点ID的信息;value即对应的具体信息。
进一步地,所述步骤二具体包括如下子步骤:
步骤1.2.1,GPU资源调度模块初始化GPU资源数据,GPU资源数据包括所述配置信息;
步骤1.2.2,基于配置信息中的GPU节点的IP列表以及连接方式,连接到相应的GPU服务器并运行驱动安装脚本,完成各类型的GPU资源对应的驱动的安装;
步骤1.2.3 ,基于配置信息中支持的资源调度标签列表,在所有的各类型的GPU节点上写入对应的标签键值对,构建GPU节点标签列表。
进一步地,所述实时基本信息,包括:GPU节点所设置的所有标签数据和 GPU节点的实时使用情况数据,实时使用情况数据包括资源已占用值、资源剩余可用值。
进一步地,所述支持多维度组合的资源调度请求任务,以所述资源调度请求任务为主任务,包含多个并行的子任务,每个子任务包含独立设置的属性:优先级ID,资源调度的类型,资源调度ID,资源配额;
所述优先级ID代表子任务的调度优先级;资源调度的类型包括独享资源类型和共享资源类型,即是否要求在GPU节点上运行唯一的任务;资源调度ID具有GPU节点类型、GPU节点具体型号、GPU节点ID的信息;资源配额即子任务需要分配的GPU资源额度;其中,在优先级ID相同的情况下,独享资源类型的子任务优先于共享资源类型的执行。
进一步地,所述步骤五具体为:GPU资源调度模块解析每个子任务的属性,将子任务按照优先级排序,并根据优先级分别做子任务的可执行性预判,可执行性预判的结果为特定GPU节点ID或匹配一组可选的GPU节点标签列表的单维度的标签,单维度的任务调度请求随即下发到GPU异构集群,GPU异构集群基于单维度的标签和资源配额,对GPU资源的调度请求进行分配,分配完成后返回调度结果给GPU资源调度模块,直到所有子任务执行完毕后,由GPU资源调度模块组装各个子任务调度的结果并输出,从而得到主任务的结果。
进一步地,所述可执行性预判具体为:
获取GPU资源管理中心下发的所有GPU节点标签数据以及GPU节点的实时使用情况数据,筛选出所有标签和子任务的资源调度ID匹配的GPU节点,根据GPU节点实时可用值数据从大到小排序,比较最大的GPU节点可用值和子任务的资源配额,具体为:
对于共享资源类型子任务,若可用值大于子任务的资源配额,则预判子任务可以成功调度;
对于独享资源类型子任务,调度可执行性满足以下两点要求:
(1)可用值最大的GPU节点暂无任务占用,即剩余可用值等于总可用值;
(2)GPU节点的总可用值>=子任务GPU资源配额;其中,若GPU节点的总可用值>子任务GPU资源配额,则在下发任务后对该GPU节点打上独享标签,在调度任务完成后实时清理,反之等待释放出资源配额。
一种基于多维度组合并行的GPU资源调度系统,包括GPU异构集群、GPU资源调度模块和插件化管理的GPU资源管理中心,所述插件化管理的GPU资源管理中心,初始化配置信息进行运行,于运行各个GPU资源的插件模块,完成数据层和物理层各类型GPU资源对应的联动,从GPU异构集群收集GPU资源的实时基本信息,并将实时基本信息下发到GPU资源调度模块;所述GPU资源调度模块,接受资源调度的请求任务,将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。
一种基于多维度组合并行的GPU资源调度装置,包括一个或多个处理器,用于实现所述的基于多维度组合并行的GPU资源调度方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的基于多维度组合并行的GPU资源调度方法。
有益效果:
本发明设置了GPU资源管理中心,将不同类型的GPU资源进行插件化管理,全链路可插拔的设计平滑支持GPU异构集群的动态扩容,提升装置的可拓展性;基于多维度组合并行的资源调度,结合优先级策略,动态支持GPU卡类型、具体型号等细粒度化标签,更加适应于差异化的GPU资源分布式使用场;区别于传统的节点静态池化的解决方案,基于调度策略及异构集群使用率实时状态数据,轻量级地支持共享或独享的资源调度类型,有效提升GPU资源的利用率。
附图说明
图1为本发明的一种基于多维度组合并行的GPU资源调度方法流程示意图;
图2为本发明的一种基于多维度组合并行的GPU资源调度系统框架示意图;
图3为本发明实施例的一种基于多维度组合并行的GPU资源调度与单维度的资源调度对比示意图;
图4为本发明实施例的一种基于多维度组合并行的GPU资源调度与基于GPU资源池化的资源调度对比示意图;
图5为本发明实施例的GPU资源调度方法的具体流程示意图;
图6为本发明的一种基于多维度组合并行的GPU资源调度结构示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
如图1所示,一种基于多维度组合并行的GPU资源调度方法,该方法具体包括以下步骤:
步骤一,在GPU资源管理中心添加多种类型GPU资源的插件模块。
每个插件模块基于GPU资源,初始化配置信息进行运行,配置信息包括GPU类型、GPU具体型号、支持的资源调度标签列表、适配于GPU异构集群的驱动安装脚本、GPU异构集群中各类型的GPU节点对应的IP列表以及连接方式;其中支持的资源调度标签列表的资源调度标签以key-value键值对的形式设置,key对应为资源调度的ID,支持GPU类型、GPU具体型号、GPU节点ID等,包括且不止以上的任意可标识GPU节点的信息;value即对应的具体信息。
步骤二,运行各个GPU资源的插件模块,完成数据层和物理层各类型GPU资源对应的联动,具体包括如下子步骤:
步骤1.2.1,在GPU资源调度模块初始化GPU资源数据,GPU资源数据包括步骤一中的配置信息;
步骤1.2.2,基于配置信息中的GPU节点的IP列表以及连接方式,连接到相应的GPU服务器并运行驱动安装脚本,完成各类型的GPU资源对应的驱动的安装;
步骤1.2.3 ,基于配置信息中支持的资源调度标签列表,在所有的各类型的GPU节点上写入对应的标签键值对,构建GPU节点标签列表。
步骤三,GPU资源管理中心从GPU异构集群收集GPU资源的实时基本信息,并将实时基本信息下发到GPU资源调度模块。
所述实时基本信息,包括两个方面:(1)GPU节点所设置的所有标签数据;(2)GPU节点的实时使用情况数据,包括但不限于资源已占用值、剩余可用值。
步骤四,如图5所示,创建GPU资源分布式应用,即调用GPU资源时,向GPU资源调度模块发送支持多维度组合的资源调度请求任务。
以所述支持多维度组合的资源调度请求任务为主任务,包含多个并行的子任务,每个子任务包含的属性有:优先级ID,资源调度的类型,资源调度ID,资源配额。
所述优先级ID代表子任务的调度优先级,GPU资源调度模块根据优先级保障子任务调度的成功性;资源调度的类型包括独享资源类型和共享资源类型,即是否要求在GPU节点上运行唯一的任务;资源调度ID支持GPU节点类型、GPU节点具体型号、GPU节点ID等包括且不止以上的任意可标识GPU节点的信息;资源配额即子任务需要分配的GPU资源额度。各个子任务的每项属性独立设置,无相互依赖关系。其中,在优先级ID相同的情况下,独享资源类型的子任务优先于共享资源类型的执行。
步骤五,GPU资源调度模块接收请求任务,将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。
具体的,GPU资源调度模块解析每个子任务的属性,将子任务按照优先级排序,并根据优先级分别做子任务的可执行性预判,所述可执行性预判的结果为特定GPU节点ID或匹配一组可选的GPU节点标签列表的单维度的标签,单维度的任务调度请求随即下发到GPU异构集群,GPU异构集群基于单维度的标签和资源配额,对GPU资源的调度请求进行分配,分配完成后返回具体的调度结果给GPU资源调度模块,直到所有子任务执行完毕后,由GPU资源调度模块组装各个子任务调度的结果并输出,从而得到主任务的结果。
所述可执行性预判的逻辑包括:
获取GPU资源管理中心下发的所有GPU节点标签数据以及GPU节点的实时使用情况数据,筛选出所有标签和子任务的资源调度ID匹配的GPU节点,根据GPU节点实时可用值数据从大到小排序,比较最大的GPU节点可用值和子任务的资源配额,具体为:
对于共享资源类型子任务,若可用值大于子任务的资源配额,则预判子任务可以成功调度;
对于独享资源类型子任务,调度可执行性需要满足以下两点要求:
(1)可用值最大的GPU节点暂无任务占用,即剩余可用值等于总可用值;
(2)GPU节点的总可用值>=子任务GPU资源配额;其中,若GPU节点的总可用值>子任务GPU资源配额,则在下发任务后对该GPU节点打上独享标签,在调度任务完成后实时清理,反之等待释放出资源配额。
如图2所示,一种基于多维度组合并行的GPU资源调度系统,采用上述基于多维度组合并行的GPU资源调度方法,包括GPU异构集群、GPU资源调度模块和插件化管理的GPU资源管理中心,所述插件化管理的GPU资源管理中心,初始化配置信息进行运行,于运行各个GPU资源的插件模块,完成数据层和物理层各类型GPU资源对应的联动,从GPU异构集群收集GPU资源的实时基本信息,并将实时基本信息下发到GPU资源调度模块;所述GPU资源调度模块,接受资源调度的请求任务,将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。
如图3所示,本发明实施例中,假设分布式应用的GPU资源需求为:GPU节点1需要类型a,型号a-1的GPU资源4卡,GPU节点2需要类型a的GPU资源2卡,无需具体要求类型a的GPU型号。
在单维度资源调度中,若是基于GPU类型维度的资源调度,并针对两个节点分别分配GPU资源,两次资源调度的结果都不可控,GPU节点1和GPU节点2的资源都存在可能调度到GPU1或GPU2上;
进一步地,若是基于GPU型号维度的资源调度,第一次调度任务能够成功为GPU节点1分配类型a型号a-1的GPU资源,但第二次请求需要预先确定GPU型号后再进行调度,若输入型号a-2的GPU资源则会产生调度失败且一直等待的情况。针对该情况的优化一般通过收集GPU异构集群的GPU资源使用情况上报给调用方可用的GPU资源型号及规格,但是资源监控信息的收集存在延时,并不能完全避免调度失败的可能性。
而在本发明的基于多维度组合并行的GPU资源调度系统中,GPU应用可以创建多维度资源调度的主任务:匹配GPU节点1需求的子任务由于调度维度更细粒度可设置成高优先的任务,调度ID输入为GPU类型a型号a-1,可以保证优先分配到GPU1上的4卡型号a-1资源;匹配GPU节点2需求的子任务调度ID设置为GPU类型a即可,则在型号a-1的GPU1资源被占用后,可以动态地调度到型号a-2的GPU2上。更合理地适应于多节点多样化的GPU资源使用场景,并且有效提升GPU资源的利用率。
如图4所示,假设分布式应用的GPU资源需求为:GPU节点1需要类型a的GPU资源4卡,性能要求不高且与其他应用共享GPU资源,GPU节点2和GPU节点3需要类型b的GPU资源4卡,性能要求较高且需要独享节点的GPU资源。一般地在GPU异构集群通过给GPU节点设置容忍和污点标签的方式来达到应用独享的效果,接着调用方预先根据是否独享的需求,选择共享或者已打标的独享资源池,也就是GPU资源池化的解决装置。例如在t1时刻发起的共享资源池请求成功分配到类型a的GPU1节点,在t2时刻发起的独享资源池请求也能够成功分配到类型b的GPU3节点,但在t3时刻发起的独享资源池请求将由于独享资源池的资源耗尽而无法成功调度。然而在基于多维度组合并行的GPU资源调度系统中,并不一定需要预先根据独享资源的需求划分好独享和共享资源池,而是把它作为资源调度规则中的类型,根据GPU异构集群实时的资源使用状态进行更动态更灵活地调度。例如在t1时刻发起包含3个GPU节点资源需求的调度主任务,相似地GPU节点1和GPU节点2能够按需分配到可用资源,而GPU节点3的资源调度类型虽然为独享,但并不是只能下发到独享资源池中。在遍历获取GPU集群的节点信息及实时使用率后,可以简单计算得出GPU2节点的可用资源满足子任务3的配额,由于该节点分配给子任务3后可用资源为0,不可能再接受其他任务的调度,也可以满足子任务3的独享需求,因此子任务3能够调度成功。该实施例说明了独享资源和共享资源在物理设施层不需要静态池化,可以根据资源需求动态调整,有效地在保证独享性能的前提下提升GPU资源利用率。
与前述一种基于多维度组合并行的GPU资源调度方法的实施例相对应,本发明还提供了一种基于多维度组合并行的GPU资源调度装置的实施例。
参见图6,本发明实施例提供的一种基于多维度组合并行的GPU资源调度装置,包括一个或多个处理器,用于实现上述实施例中的一种基于多维度组合并行的GPU资源调度方法。
本发明一种基于多维度组合并行的GPU资源调度装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本发明一种基于多维度组合并行的GPU资源调度装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种基于多维度组合并行的GPU资源调度方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是风力发电机的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于多维度组合并行的GPU资源调度方法,其特征在于,包括以下步骤:
步骤一,在GPU资源管理中心添加多种类型GPU资源的插件模块;所述插件模块基于GPU资源,初始化配置信息进行运行,配置信息包括GPU类型、GPU具体型号、支持的资源调度标签列表、适配于GPU异构集群的驱动安装脚本、GPU异构集群中各类型的GPU节点对应的IP列表以及连接方式;其中支持的资源调度标签列表的资源调度标签以key-value键值对的形式设置,key对应为资源调度的ID,支持GPU类型、GPU具体型号、GPU节点ID的信息;value即对应的具体信息;
步骤二,运行各个GPU资源的插件模块,完成数据层和物理层各类型GPU资源对应的联动;具体包括如下子步骤:
步骤1.2.1,GPU资源调度模块初始化GPU资源数据,GPU资源数据包括所述配置信息;
步骤1.2.2,基于配置信息中的GPU节点的IP列表以及连接方式,连接到相应的GPU服务器并运行驱动安装脚本,完成各类型的GPU资源对应的驱动的安装;
步骤1.2.3 ,基于配置信息中支持的资源调度标签列表,在所有的各类型的GPU节点上写入对应的标签键值对,构建GPU节点标签列表;
步骤三,GPU资源管理中心从GPU异构集群收集GPU资源的实时基本信息,并将实时基本信息下发到GPU资源调度模块;
步骤四,创建GPU资源分布式应用,即调用GPU资源时,向GPU资源调度模块发送支持多维度组合的资源调度请求任务;所述支持多维度组合的资源调度请求任务,以所述资源调度请求任务为主任务,包含多个并行的子任务,每个子任务包含独立设置的属性:优先级ID,资源调度的类型,资源调度ID,资源配额;所述优先级ID代表子任务的调度优先级;资源调度的类型包括独享资源类型和共享资源类型,即是否要求在GPU节点上运行唯一的任务;资源调度ID具有GPU节点类型、GPU节点具体型号、GPU节点ID的信息;资源配额即子任务需要分配的GPU资源额度;其中,在优先级ID相同的情况下,独享资源类型的子任务优先于共享资源类型的执行;
步骤五,GPU资源调度模块接收请求任务,将请求任务的主任务转换成可执行的单维度调度子任务并下发至GPU异构集群,GPU异构集群根据子任务按需分配GPU资源。
2. 如权利要求1所述的一种基于多维度组合并行的GPU资源调度方法,其特征在于,所述实时基本信息,包括:GPU节点所设置的所有标签数据和 GPU节点的实时使用情况数据,实时使用情况数据包括资源已占用值、资源剩余可用值。
3.如权利要求1所述的一种基于多维度组合并行的GPU资源调度方法,其特征在于,所述步骤五具体为:GPU资源调度模块解析每个子任务的属性,将子任务按照优先级排序,并根据优先级分别做子任务的可执行性预判,可执行性预判的结果为特定GPU节点ID或匹配一组可选的GPU节点标签列表的单维度的标签,单维度的任务调度请求随即下发到GPU异构集群,GPU异构集群基于单维度的标签和资源配额,对GPU资源的调度请求进行分配,分配完成后返回调度结果给GPU资源调度模块,直到所有子任务执行完毕后,由GPU资源调度模块组装各个子任务调度的结果并输出,从而得到主任务的结果。
4.如权利要求3所述的一种基于多维度组合并行的GPU资源调度方法,其特征在于,所述可执行性预判具体为:
获取GPU资源管理中心下发的所有GPU节点标签数据以及GPU节点的实时使用情况数据,筛选出所有标签和子任务的资源调度ID匹配的GPU节点,根据GPU节点实时可用值数据从大到小排序,比较最大的GPU节点可用值和子任务的资源配额,具体为:
对于共享资源类型子任务,若可用值大于子任务的资源配额,则预判子任务可以成功调度;
对于独享资源类型子任务,调度可执行性满足以下两点要求:
(1)可用值最大的GPU节点暂无任务占用,即剩余可用值等于总可用值;
(2)GPU节点的总可用值>=子任务GPU资源配额;其中,若GPU节点的总可用值>子任务GPU资源配额,则在下发任务后对该GPU节点打上独享标签,在调度任务完成后实时清理,反之等待释放出资源配额。
5.一种基于多维度组合并行的GPU资源调度装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-4中任一项所述的基于多维度组合并行的GPU资源调度方法。
6.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-4中任一项所述的基于多维度组合并行的GPU资源调度方法。
CN202210649280.3A 2022-06-10 2022-06-10 一种基于多维度组合并行的gpu资源调度方法和系统 Active CN114741207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210649280.3A CN114741207B (zh) 2022-06-10 2022-06-10 一种基于多维度组合并行的gpu资源调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210649280.3A CN114741207B (zh) 2022-06-10 2022-06-10 一种基于多维度组合并行的gpu资源调度方法和系统

Publications (2)

Publication Number Publication Date
CN114741207A CN114741207A (zh) 2022-07-12
CN114741207B true CN114741207B (zh) 2022-09-30

Family

ID=82287716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210649280.3A Active CN114741207B (zh) 2022-06-10 2022-06-10 一种基于多维度组合并行的gpu资源调度方法和系统

Country Status (1)

Country Link
CN (1) CN114741207B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117742901A (zh) * 2022-09-13 2024-03-22 安徽寒武纪信息科技有限公司 任务调度方法、装置、设备及介质
CN115237581B (zh) * 2022-09-21 2022-12-27 之江实验室 一种面向异构算力的多策略智能调度方法和装置
CN115248728B (zh) * 2022-09-21 2023-02-03 之江实验室 面向智能计算的分布式训练任务调度方法、系统和装置
CN116089009A (zh) * 2023-02-01 2023-05-09 华院计算技术(上海)股份有限公司 一种gpu资源管理方法、系统、设备和存储介质
CN115904740B (zh) * 2023-02-23 2023-05-30 青岛创新奇智科技集团股份有限公司 一种gpu资源调用方法及系统
CN116661979B (zh) * 2023-08-02 2023-11-28 之江实验室 异构作业调度系统及方法
CN116992065B (zh) * 2023-09-26 2024-01-12 之江实验室 一种图数据库数据导入方法、系统、电子设备、介质
CN117196930B (zh) * 2023-11-06 2024-01-23 四川并济科技有限公司 基于gpu集群的高性能图像处理系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436504B2 (en) * 2012-05-09 2016-09-06 Nvidia Corporation Techniques for managing the execution order of multiple nested tasks executing on a parallel processor
CN107135257A (zh) * 2017-04-28 2017-09-05 东方网力科技股份有限公司 一种节点集群中任务分配的方法、节点和系统
CN110502330A (zh) * 2018-05-16 2019-11-26 上海寒武纪信息科技有限公司 处理器及处理方法
CN110471766B (zh) * 2019-08-06 2022-12-30 北京华恒盛世科技有限公司 一种基于cuda的gpu资源调度系统和方法
CN113127160A (zh) * 2019-12-30 2021-07-16 阿里巴巴集团控股有限公司 任务调度方法、系统及设备
CN111506404A (zh) * 2020-04-07 2020-08-07 上海德拓信息技术股份有限公司 一种基于Kubernetes的共享GPU调度方法
CN113886057A (zh) * 2020-07-01 2022-01-04 西南科技大学 异构众核上基于剖析技术以及数据流信息的动态资源调度方法
CN114064261A (zh) * 2020-08-07 2022-02-18 中国科学院沈阳自动化研究所 基于工业边缘计算系统的多维异构资源量化方法及装置
CN113076191A (zh) * 2021-02-23 2021-07-06 北京蓝耘科技股份有限公司 一种集群gpu资源调度系统

Also Published As

Publication number Publication date
CN114741207A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN114741207B (zh) 一种基于多维度组合并行的gpu资源调度方法和系统
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
CN111768006A (zh) 一种人工智能模型的训练方法、装置、设备及存储介质
WO2016078008A1 (zh) 调度数据流任务的方法和装置
US20140130057A1 (en) Scheduling jobs in a cluster
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN113946431B (zh) 一种资源调度方法、系统、介质及计算设备
US20240111586A1 (en) Multi-policy intelligent scheduling method and apparatus oriented to heterogeneous computing power
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN112162841A (zh) 面向大数据处理的分布式调度系统、方法及存储介质
CN112905297A (zh) 容器集群资源调度方法和装置
US8543722B2 (en) Message passing with queues and channels
CN115934362B (zh) 面向深度学习的服务器无感知计算集群调度方法及产品
CN112860396A (zh) 一种基于分布式深度学习的gpu调度方法及系统
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
Awasare et al. Survey and comparative study on resource allocation strategies in cloud computing environment
CN114237902A (zh) 一种服务部署方法、装置、电子设备及计算机可读介质
CN112988383A (zh) 一种资源分配方法、装置、设备以及存储介质
Trejo-Sánchez et al. A multi-agent architecture for scheduling of high performance services in a GPU cluster
EP3343370A1 (en) Method of processing opencl kernel and computing device therefor
US20240127034A1 (en) Apparatus and method for distributed processing of neural network
CN113282382B (zh) 任务处理方法、装置、计算机设备和存储介质
CN114880101B (zh) 一种ai处理器、电子部件及电子设备

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