CN115048216A - 一种人工智能集群的资源管理调度方法、装置和设备 - Google Patents

一种人工智能集群的资源管理调度方法、装置和设备 Download PDF

Info

Publication number
CN115048216A
CN115048216A CN202210609937.3A CN202210609937A CN115048216A CN 115048216 A CN115048216 A CN 115048216A CN 202210609937 A CN202210609937 A CN 202210609937A CN 115048216 A CN115048216 A CN 115048216A
Authority
CN
China
Prior art keywords
gpu
node
resource
scheduling
module
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
CN202210609937.3A
Other languages
English (en)
Other versions
CN115048216B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210609937.3A priority Critical patent/CN115048216B/zh
Publication of CN115048216A publication Critical patent/CN115048216A/zh
Application granted granted Critical
Publication of CN115048216B publication Critical patent/CN115048216B/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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/45562Creating, deleting, cloning virtual machine instances

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)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种人工智能集群的资源管理调度方法、装置和设备,资源管理调度方法包括:当GPU管理模块将GPU节点的GPU驱动安装服务部署到GPU节点上之后,其获取GPU节点的GPU资源配置信息、并发送给节点管理模块;GPU驱动安装服务包括通过容器化方式将GPU驱动安装至物理机上;节点管理模块将GPU节点的GPU资源配置信息发送给信息存储模块进行存储;当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、所有GPU节点的GPU资源配置信息,按照预设调度策略将深度学习任务发送给目标GPU节点。通过上述技术方案,可解决目前人工智能集群中GPU资源、网络资源无法有效配置和利用的问题。

Description

一种人工智能集群的资源管理调度方法、装置和设备
技术领域
本发明涉及人工智能集群技术领域,尤其是指一种人工智能集群的资源管理调度方法、装置和设备。
背景技术
图形处理器(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节点上之后,所述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节点。
进一步的,所述预设调度策略包括以下至少之一:
将所有深度学习任务按照任务调度优先级等级进行排序和调度;
将所有深度学习任务按照先入先出原则进行调度;
将所有深度学习任务按照高优先级队列和高优先级任务优先调度原则进行调度。
进一步的,在按照预设调度策略将所述深度学习任务发送给目标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节点的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节点的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是本发明实施例一中人工智能集群的资源管理调度方法的流程示意图;
图2是本发明实际实施例中人工智能集群的资源管理调度装置的结构框图;
图3是本发明实际实施例中人工智能集群的资源管理调度方法的流程图;
图4为本发明实施例二中计算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
如图1所示,本发明实施例提供一种人工智能集群的资源管理调度方法,人工智能集群中设有信息存储模块、资源调度模块、多个GPU节点;GPU节点中设有节点管理模块、GPU管理模块;
资源管理调度方法包括:
S1、当GPU管理模块将GPU节点的GPU驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的GPU资源配置信息、并发送给节点管理模块;其中,GPU驱动安装服务包括通过容器化方式将GPU节点的GPU驱动安装至物理机上;
S2、节点管理模块将GPU节点的GPU资源配置信息发送给信息存储模块进行存储;
S3、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有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资源配置信息,根据预设调度策略来调度管理深度学习任务、将深度学习任务发送给目标GPU节点,通过目标GPU节点来处理深度学习任务;
由此,通过将GPU节点的GPU驱动通过容器安装到物理机上、实现挂载,可将GPU节点的GPU资源进行共享、提升GPU资源使用效率;
同时,通过信息存储模块统一存储所有GPU资源配置信息,通过资源调度模块来统一调度集群中所有GPU节点的GPU资源,从而提升GPU资源配置效率、提高集群资源的利用率。
如图2所示,在实际实施例中,人工智能集群中还设有部署模块,部署模块用于将GPU管理模块、网络管理模块、节点管理模块、信息存储模块、调度模块各个模块部署于整个集群之上。
部署模块还可将kubernetes部署到整个集群中。Kubernetes即K8S集群,其为Google基于Borg开源的容器编排调度引擎;K8S集群一般为分布式,其包括master节点和node节点;master节点主要负责集群控制,对任务、资源进行调度等;node节点为工作负载节点。
此外,存储模块可以采用单点服务或者高可用服务来保证功能的稳定性。
在一个优选的实施方式中,S4中,预设调度策略包括以下至少之一:
将所有深度学习任务按照任务调度优先级等级进行排序和调度;
将所有深度学习任务按照先入先出原则进行调度;
将所有深度学习任务按照高优先级队列和高优先级任务优先调度原则进行调度。
在具体实施例中,调度方案可以根据实际需求选择如下调度方案进行调度,例如优先级队列、先入先出队列、最大资源利用率等调度方案。
其中,三种调度情况具体如下:
调度模块可将调度任务放到调度队列中,根据调度的优先级将各个任务调度进行调度优先排序,选择最高优先级的进行调度;
如果调度队列为先入先出队列,那么所有的任务都根据先来先调度的原则进行调度;
如果采用高优先级队列任务优先处理,则根据队列优先级选出最高优先级的队列,再选出这个队列中最高优先级的任务进行调度。
同时,为了满足GPU或网卡亲和性的要求,调度方案可以采用具有亲和性的GPU和网卡被优先使用等调度方案,从而来提升GPU或网卡等资源的调用速度、提升调用效率。
在一个优选的实施方式中,资源管理调度方法还包括:
S5、当GPU管理模块将GPU节点的网卡驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的网络资源配置信息、并发送给节点管理模块;其中,网卡驱动安装服务包括通过容器化方式将GPU节点的网卡驱动安装至物理机上;
S6、节点管理模块将GPU节点的网络资源配置信息发送给信息存储模块进行存储;
S7、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有GPU节点的网络资源配置信息,按照预设调度策略将深度学习任务发送给目标GPU节点。
在具体实施例中,类似的,通过将GPU节点的网卡驱动通过容器安装到物理机上、实现挂载,可将GPU节点的网卡/网络资源进行共享、提升网卡/网络资源使用效率。
同时,通过信息存储模块统一存储所有网络资源配置信息,通过资源调度模块来统一调度集群中所有GPU节点的网络资源,从而提升网络资源配置效率、提高集群资源的利用率。
在一个优选的实施方式中,S4中,在按照预设调度策略将深度学习任务发送给目标GPU节点之前,资源管理调度方法还包括:
S311、资源调度模块根据各个GPU节点的剩余GPU资源信息筛选出多个候选GPU节点,并从中选择具有GPU资源亲和性的候选GPU节点作为目标GPU节点;其中,目标GPU节点中的所有GPU的通信连接方式相同;
S312、资源调度模块在目标GPU节点中选择相同通信连接方式的网卡,用来调度网络资源。
在具体实施例中,在确定了具体的调度任务之后,调度模块可根据节点资源的剩余量选出候选的节点,对这些节点进行遍历。
为了提升资源的调用速度、提升调用效率,调度模块可优先选择具有亲和性GPU和网卡资源的节点、作为目标GPU节点。其中,GPU资源亲和性是指GPU通信连接方式相同,具有亲和性的GPU被优先使用,可使得GPU之间通信更快;网络资源亲和性是指网卡通信连接方式与GPU通信连接方式相同,可进一步提升GPU之间的通信效率。
由此,将具有GPU和网卡亲和性的候选GPU节点作为目标GPU节点之后,通过目标GPU节点来处理深度学习任务,可有效提高任务处理效率、提升集群中各资源利用效率。
在一个优选的实施方式中,在S1之前,资源管理调度方法还包括:
资源调度模块将GPU节点的GPU虚拟化服务部署到GPU节点上;
和/或,资源调度模块将GPU节点的网卡虚拟化服务部署到GPU节点上。
GPU虚拟化可GPU资源可分成若干份虚拟资源,以便分配配置、提升GPU资源利用率;
同理,网卡虚拟化可网卡/网络资源可分成若干份虚拟资源,以便分配配置、提升网络资源利用率。
通过GPU虚拟化、网卡虚拟化,可提升各节点中各资源的有效配置和利用,从而提升集群资源的利用率。
在一个优选的实施方式中,S4中,在按照预设调度策略将深度学习任务发送给目标GPU节点之前,资源管理调度方法还包括:
S321、资源调度模块在候选GPU节点中选出多个具有资源亲和性的虚拟资源候选组;其中,虚拟资源候选组中的虚拟GPU和虚拟网卡属于同一通信连接方式;
S322、当虚拟资源候选组的数量达到深度学习任务的资源需求数量时,资源调度模块将候选GPU节点作为目标GPU节点。
当候选节点中的GPU或者网卡预先进行过虚拟化处理时,可在候选节点中选择属于同一通信连接方式的虚拟GPU和虚拟网卡资源,并从这些虚拟GPU和虚拟网卡资源中选择出与需求数量匹配的虚拟资源组,用于进行深度学习任务的处理。
在一个优选的实施方式中,在S4之后,资源管理调度方法还包括:
目标GPU节点中的节点管理模块将目标GPU节点的剩余GPU资源信息发送给信息存储模块进行更新。
如图3所示,在实际实施例中,上述人工智能集群的资源管理调度方法具体实施过程如下:
部署模块将kubernetes部署到整个集群中,并将其他相关的模块都部署到集群中。
GPU管理模块根据节点是否是GPU节点、将相关服务部署到GPU节点上;相关服务包括但是不限于:GPU驱动、containortool、监控等、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节点,并从中选择具有GPU资源亲和性的候选GPU节点作为目标GPU节点;其中,目标GPU节点中的所有GPU的通信连接方式相同;
以及,在目标GPU节点中选择相同通信连接方式的网卡,用来调度网络资源。
在一个优选的实施方式中,资源调度模块还用于:
将GPU节点的GPU虚拟化服务部署到GPU节点上;
和/或,将GPU节点的网卡虚拟化服务部署到GPU节点上。
在一个优选的实施方式中,资源调度模块还用于:
候选GPU节点中选出多个具有资源亲和性的虚拟资源候选组;其中,虚拟资源候选组中的虚拟GPU和虚拟网卡属于同一通信连接方式;
以及,当虚拟资源候选组的数量达到深度学习任务的资源需求数量时,将候选GPU节点作为目标GPU节点。
在一个优选的实施方式中,节点管理模块还用于:将目标GPU节点的剩余GPU资源信息发送给信息存储模块进行更新。
关于上述装置的具体限定,可以参见上文中对于方法的限定,在此不再赘述。
上述装置中的各个模块,可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于、或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
其中,如图4所示,上述计算机设备可以是终端,其包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
可以理解的是,上述图中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例三:
本发明实施例又提供一种计算机设备,包括存储器、处理器及计算机程序,计算机程序存储在存储器上并可在处理器上运行,处理器执行计算机程序时实现以下步骤:
S1、当GPU管理模块将GPU节点的GPU驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的GPU资源配置信息、并发送给节点管理模块;其中,GPU驱动安装服务包括通过容器化方式将GPU节点的GPU驱动安装至物理机上;
S2、节点管理模块将GPU节点的GPU资源配置信息发送给信息存储模块进行存储;
S4、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有GPU节点的GPU资源配置信息,按照预设调度策略将深度学习任务发送给目标GPU节点。
在一个优选的实施方式中,处理器执行计算机程序时还实现以下步骤:
S5、当GPU管理模块将GPU节点的网卡驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的网络资源配置信息、并发送给节点管理模块;其中,网卡驱动安装服务包括通过容器化方式将GPU节点的网卡驱动安装至物理机上;
S6、节点管理模块将GPU节点的网络资源配置信息发送给信息存储模块进行存储;
S7、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有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资源信息发送给信息存储模块进行更新。
实施例四:
本发明实施例再提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S1、当GPU管理模块将GPU节点的GPU驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的GPU资源配置信息、并发送给节点管理模块;其中,GPU驱动安装服务包括通过容器化方式将GPU节点的GPU驱动安装至物理机上;
S2、节点管理模块将GPU节点的GPU资源配置信息发送给信息存储模块进行存储;
S4、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有GPU节点的GPU资源配置信息,按照预设调度策略将深度学习任务发送给目标GPU节点。
在一个优选的实施方式中,计算机程序被处理器执行时还实现以下步骤:
S5、当GPU管理模块将GPU节点的网卡驱动安装服务部署到GPU节点上之后,GPU管理模块获取GPU节点的网络资源配置信息、并发送给节点管理模块;其中,网卡驱动安装服务包括通过容器化方式将GPU节点的网卡驱动安装至物理机上;
S6、节点管理模块将GPU节点的网络资源配置信息发送给信息存储模块进行存储;
S7、当收到深度学习任务时,资源调度模块根据深度学习任务所请求的资源信息、信息存储模块中所有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资源信息发送给信息存储模块进行更新。
可以理解的是,上述实施例方法中的全部或部分流程的实现,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要注意的是,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种人工智能集群的资源管理调度方法,其特征在于,所述人工智能集群中设有信息存储模块、资源调度模块、多个GPU节点;所述GPU节点中设有节点管理模块、GPU管理模块;
所述资源管理调度方法包括:
当所述GPU管理模块将所述GPU节点的GPU驱动安装服务部署到所述GPU节点上之后,所述GPU管理模块获取所述GPU节点的GPU资源配置信息、并发送给所述节点管理模块;其中,所述GPU驱动安装服务包括通过容器化方式将所述GPU节点的GPU驱动安装至物理机上;
所述节点管理模块将所述GPU节点的GPU资源配置信息发送给所述信息存储模块进行存储;
当收到深度学习任务时,所述资源调度模块根据所述深度学习任务所请求的资源信息、所述信息存储模块中所有GPU节点的GPU资源配置信息,按照预设调度策略将所述深度学习任务发送给目标GPU节点。
2.根据权利要求1所述的人工智能集群的资源管理调度方法,其特征在于,所述资源管理调度方法还包括:
当所述GPU管理模块将所述GPU节点的网卡驱动安装服务部署到所述GPU节点上之后,所述GPU管理模块获取所述GPU节点的网络资源配置信息、并发送给所述节点管理模块;其中,所述网卡驱动安装服务包括通过容器化方式将所述GPU节点的网卡驱动安装至物理机上;
所述节点管理模块将所述GPU节点的网络资源配置信息发送给所述信息存储模块进行存储;
当收到深度学习任务时,所述资源调度模块根据所述深度学习任务所请求的资源信息、所述信息存储模块中所有GPU节点的网络资源配置信息,按照所述预设调度策略将所述深度学习任务发送给所述目标GPU节点。
3.根据权利要求2所述的人工智能集群的资源管理调度方法,其特征在于,在按照预设调度策略将所述深度学习任务发送给目标GPU节点之前,所述资源管理调度方法还包括:
所述资源调度模块根据各个GPU节点的剩余GPU资源信息筛选出多个候选GPU节点,并从中选择具有GPU资源亲和性的候选GPU节点作为所述目标GPU节点;其中,所述目标GPU节点中的所有GPU的通信连接方式相同;
所述资源调度模块在所述目标GPU节点中选择相同通信连接方式的网卡,用来调度网络资源。
4.根据权利要求3所述的人工智能集群的资源管理调度方法,其特征在于,在所述GPU管理模块获取所述GPU节点的GPU资源配置信息、并发送给所述节点管理模块之前,所述资源管理调度方法还包括:
所述资源调度模块将所述GPU节点的GPU虚拟化服务部署到所述GPU节点上;
和/或,所述资源调度模块将所述GPU节点的网卡虚拟化服务部署到所述GPU节点上。
5.根据权利要求4所述的人工智能集群的资源管理调度方法,其特征在于,在按照预设调度策略将所述深度学习任务发送给目标GPU节点之前,所述资源管理调度方法还包括:
所述资源调度模块在所述候选GPU节点中选出多个具有资源亲和性的虚拟资源候选组;其中,所述虚拟资源候选组中的虚拟GPU和虚拟网卡属于同一通信连接方式;
当所述虚拟资源候选组的数量达到所述深度学习任务的资源需求数量时,所述资源调度模块将所述候选GPU节点作为所述目标GPU节点。
6.根据权利要求1所述的人工智能集群的资源管理调度方法,其特征在于,所述预设调度策略包括以下至少之一:
将所有深度学习任务按照任务调度优先级等级进行排序和调度;
将所有深度学习任务按照先入先出原则进行调度;
将所有深度学习任务按照高优先级队列和高优先级任务优先调度原则进行调度。
7.根据权利要求1所述的人工智能集群的资源管理调度方法,其特征在于,在按照预设调度策略将所述深度学习任务发送给目标GPU节点之后,所述资源管理调度方法还包括:
所述目标GPU节点中的节点管理模块将所述目标GPU节点的剩余GPU资源信息发送给所述信息存储模块进行更新。
8.一种人工智能集群的资源管理调度装置,其特征在于,用于实现如上权利要求1-7任一项所述的人工智能集群的资源管理调度方法,所述资源管理调度装置包括:
所述GPU管理模块,用于将所述GPU节点的GPU驱动安装服务部署到所述GPU节点上,以及获取所述GPU节点的GPU资源配置信息、并发送给所述节点管理模块;其中,所述GPU驱动安装服务包括通过容器化方式将所述GPU节点的GPU驱动安装至物理机上;
所述节点管理模块,用于将所述GPU节点的GPU资源配置信息发送给所述信息存储模块进行存储;
所述资源调度模块,用于在收到所述深度学习任务时根据所述深度学习任务所请求的资源信息、所述信息存储模块中所有GPU节点的GPU资源配置信息,按照所述预设调度策略将所述深度学习任务发送给所述目标GPU节点。
9.一种计算机设备,包括存储器、处理器及计算机程序,所述计算机程序存储在所述存储器上并可在所述处理器上运行,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的人工智能集群的资源管理调度方法的步骤。
10.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的人工智能集群的资源管理调度方法的步骤。
CN202210609937.3A 2022-05-31 2022-05-31 一种人工智能集群的资源管理调度方法、装置和设备 Active CN115048216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210609937.3A CN115048216B (zh) 2022-05-31 2022-05-31 一种人工智能集群的资源管理调度方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210609937.3A CN115048216B (zh) 2022-05-31 2022-05-31 一种人工智能集群的资源管理调度方法、装置和设备

Publications (2)

Publication Number Publication Date
CN115048216A true CN115048216A (zh) 2022-09-13
CN115048216B CN115048216B (zh) 2024-06-04

Family

ID=83158949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210609937.3A Active CN115048216B (zh) 2022-05-31 2022-05-31 一种人工智能集群的资源管理调度方法、装置和设备

Country Status (1)

Country Link
CN (1) CN115048216B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617364A (zh) * 2022-12-20 2023-01-17 中化现代农业有限公司 Gpu虚拟化部署方法、***、计算机设备和存储介质
CN115965517A (zh) * 2023-01-09 2023-04-14 摩尔线程智能科技(北京)有限责任公司 图形处理器资源管理方法及装置、电子设备和存储介质
WO2024117552A1 (ko) * 2022-12-01 2024-06-06 삼성전자주식회사 인공 지능 서비스를 제공하는 전자 장치 및 그 제어 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据***、提供智能大数据服务的方法和设备
CN112346859A (zh) * 2020-10-26 2021-02-09 北京市商汤科技开发有限公司 资源调度方法及装置、电子设备和存储介质
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法
CN113301102A (zh) * 2021-02-03 2021-08-24 阿里巴巴集团控股有限公司 资源调度方法、设备、边缘云网络、程序产品及存储介质
CN113377540A (zh) * 2021-06-15 2021-09-10 上海商汤科技开发有限公司 集群资源调度方法及装置、电子设备和存储介质
WO2022033024A1 (zh) * 2020-08-12 2022-02-17 ***股份有限公司 深度学习模型的分布式训练方法以及装置
US20220083389A1 (en) * 2020-09-16 2022-03-17 Nutanix, Inc. Ai inference hardware resource scheduling

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据***、提供智能大数据服务的方法和设备
WO2022033024A1 (zh) * 2020-08-12 2022-02-17 ***股份有限公司 深度学习模型的分布式训练方法以及装置
US20220083389A1 (en) * 2020-09-16 2022-03-17 Nutanix, Inc. Ai inference hardware resource scheduling
CN112346859A (zh) * 2020-10-26 2021-02-09 北京市商汤科技开发有限公司 资源调度方法及装置、电子设备和存储介质
CN112416585A (zh) * 2020-11-20 2021-02-26 南京大学 面向深度学习的gpu资源管理与智能化调度方法
CN113301102A (zh) * 2021-02-03 2021-08-24 阿里巴巴集团控股有限公司 资源调度方法、设备、边缘云网络、程序产品及存储介质
CN113377540A (zh) * 2021-06-15 2021-09-10 上海商汤科技开发有限公司 集群资源调度方法及装置、电子设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024117552A1 (ko) * 2022-12-01 2024-06-06 삼성전자주식회사 인공 지능 서비스를 제공하는 전자 장치 및 그 제어 방법
CN115617364A (zh) * 2022-12-20 2023-01-17 中化现代农业有限公司 Gpu虚拟化部署方法、***、计算机设备和存储介质
CN115965517A (zh) * 2023-01-09 2023-04-14 摩尔线程智能科技(北京)有限责任公司 图形处理器资源管理方法及装置、电子设备和存储介质
CN115965517B (zh) * 2023-01-09 2023-10-20 摩尔线程智能科技(北京)有限责任公司 图形处理器资源管理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115048216B (zh) 2024-06-04

Similar Documents

Publication Publication Date Title
CN115048216B (zh) 一种人工智能集群的资源管理调度方法、装置和设备
CN110704186B (zh) 基于混合分布架构的计算资源分配方法、装置和存储介质
CN110888743B (zh) 一种gpu资源使用方法、装置及存储介质
CN110489213B (zh) 一种任务处理方法及处理装置、计算机***
CN108337109B (zh) 一种资源分配方法及装置和资源分配***
CN111274033B (zh) 一种资源部署方法、装置、服务器以及存储介质
CN111597042A (zh) 业务线程运行方法、装置、存储介质及电子设备
CN110389843B (zh) 一种业务调度方法、装置、设备及可读存储介质
CN110162397B (zh) 资源分配方法、装置及***
CN112486642B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN111090456A (zh) 一种深度学习开发环境的构建方法、装置、设备及介质
CN115292014A (zh) 图像渲染方法、装置和服务器
CN111338779A (zh) 资源分配方法、装置、计算机设备和存储介质
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN117311990B (zh) 资源调整方法、装置、电子设备、存储介质及训练平台
CN113986539A (zh) 实现pod固定IP的方法、装置、电子设备和可读存储介质
CN112148481B (zh) 一种执行仿真测试任务的方法、***、设备及介质
CN112114958A (zh) 资源隔离方法、分布式平台、计算机设备和存储介质
CN116578416A (zh) 一种基于gpu虚拟化的信号级仿真加速方法
CN115809126A (zh) 混合部署场景下的作业调度方法、装置及电子设备
CN115686782A (zh) 基于固态硬盘的资源调度方法、装置、电子设备及存储介质
CN112114959B (zh) 资源调度方法、分布式***、计算机设备和存储介质
CN106055410A (zh) 一种云计算内存资源分配方法
CN112817691B (zh) 资源分配方法、装置、设备及介质
CN117992239B (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