CN117667397A - 一种gpu资源调度方法、装置、电子设备及存储介质 - Google Patents

一种gpu资源调度方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117667397A
CN117667397A CN202311626710.0A CN202311626710A CN117667397A CN 117667397 A CN117667397 A CN 117667397A CN 202311626710 A CN202311626710 A CN 202311626710A CN 117667397 A CN117667397 A CN 117667397A
Authority
CN
China
Prior art keywords
service
scheduled
gpu
resource
service request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311626710.0A
Other languages
English (en)
Inventor
张忠仁
段光辉
马俊才
高立江
李树辉
李传波
陈香甫
陈红彪
张大伟
卢加乐
徐庆洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Post Information Technology Beijing Co ltd
Original Assignee
China Post Information Technology Beijing 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 China Post Information Technology Beijing Co ltd filed Critical China Post Information Technology Beijing Co ltd
Priority to CN202311626710.0A priority Critical patent/CN117667397A/zh
Publication of CN117667397A publication Critical patent/CN117667397A/zh
Pending legal-status Critical Current

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
    • G06F9/505Allocation 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 load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种GPU资源调度方法、装置、电子设备及存储介质。包括:接收待调度服务请求;在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点,目标GPU卡为经服务压缩策略和/或滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。通过本方案实现了根据指标数据对GPU资源的动态调度方法,解决了GPU资源使用率不平衡和利用率差的问题,提高对GPU资源的合理调度,较少资源浪费。

Description

一种GPU资源调度方法、装置、电子设备及存储介质
技术领域
本发明涉及互联网技术领域,尤其涉及一种GPU资源调度方法、装置、电子设备及存储介质。
背景技术
人工智能领域发展迅速,机器学习训练和推理的过程需要调度大量GPU(GraphicsProcessing Unit,图像处理器)资源来完成,能够高效地调度资源是亟待解决的问题,常通过将GPU资源虚拟化,将多个虚拟机或容器分配到一个物理GPU上,从而实现多服务共享GPU资源的目的。
Kubernetes集群中使用GPU资源进行虚拟化和管理的技术,允许用户在容器中运行需要GPU加速的工作负载,并有效地共享和管理GPU资源。实现Kubernetes GPU虚拟化通常依赖于GPU设备插件,插件通过与Kubernetes调度器和容器运行时的集成,使得GPU资源可以动态分配和调度给容器。在使用Kubernetes GPU虚拟化时,用户可以通过定义GPU资源需求和限制来指定容器对GPU的使用。这样,Kubernetes可以根据GPU资源的可用性和调度策略,将合适的GPU资源分配给容器。目前Kubernetes的资源调度器是根据节点的资源剩余量进行评分调度的,存在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是本发明实施例一提供的一种GPU资源调度方法方法的流程图;
图2是本发明实施例二提供的一种GPU资源调度方法的流程图;
图3是本发明实施例所适用的一种GPU资源调度的流程图;
图4是本发明实施例三提供的一种GPU资源调度装置的结构示意图;
图5是实现本发明实施例的GPU资源调度方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是本发明实施例一提供的一种GPU资源调度方法的流程图,本实施例可适用于进行GPU资源调度的情况,该方法可以由GPU资源调度装置来执行,该GPU资源调度装置可以采用硬件和/或软件的形式实现,该GPU资源调度装置可配置于计算机、服务器等电子设备中。在本方案中,方法可以实现Kubernetes集群中对GPU资源的调度,如图1所示,该方法包括:
S110、接收待调度服务请求。
其中,待调度服务请求具体可以理解为是为待部署服务调度所需要的资源配额的请求,向节点申请满足待调度服务所需要的资源配额用于执行对应的待调度服务。示例性的,可以是根据待调度服务所需的资源配额确定的对图像处理器GPU集群中GPU资源调度请求。
具体的,在用户提交任务处理请求后,集群节点接收任务处理请求相应的待调度服务请求。
S120、在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略。
其中,第一指标数据具体可以理解为是表征节点的资源状态的指标数据,包含但不限于节点资源利用率、节点响应时间、内存容量等。第二指标数据具体可以理解为是表征GPU的资源状态的指标数据,包含但不限于GPU资源利用率、GPU响应时间、内存容量等。指标数据均可以在Kubernetes集群中部署Prometheus插件进行采集。资源配额具体可以理解为是执行待调度服务所需要的资源量,可以预先根据待调度服务预先进行估算,也可以是在接收的待调度服务请求中获取相应的所需资源配额。
具体的,在收到待调度服务请求的情况下,判断节点的第一指标数据是否满足待调度服务请求对应的资源配额,以及判断节点的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资源配额进行分配,依次遍历已分配资源配额未达到100%的GPU卡片,计算出可分配的资源配额,再遍历其他服务实例找出可重新调度且符合剩余资源配额的实例,选择其中剩余资源配额最大的一个GPU卡,优先找出请求资源配额相加最接近100%的服务实例,多次执行循环判断,直到找出最后满足待调度服务的资源配额,返回该GPU卡的节点信息。如果在完成遍历后依然未找到匹配的GPU卡片,则依次遍历所有GPU卡片,遍历GPU卡片上运行的服务实例,根据标签选择可压缩资源的实例获取实例的GPU的指标数据,计算可压缩配额,并重新修改服务配额,动态调整整体资源占用,直到选出满足待调度服务的资源配额的节点信息。
在本实施例中,通过根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略,实现了动态调度GPU资源的方法,提高GPU资源调度的准确性,还提高了GPU资源调度策略的灵活性。
S130、确定目标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资源调度方法的流程图,本实施例是上述实施例的方法的进一步优化。可选的,遍历节点和节点的GPU卡,判断每一节点的第一指标数据是否满足待调度服务请求对应的配额,和/或,节点的GPU卡的第二指标数据是否满足待调度服务请求对应的配额;在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均满足待调度服务请求对应的资源配额的情况下,获取预设调度策略配置信息,基于预设调度策略配置信息确定是否开启平均分配原则,若开启平均分配原则,则执行平均分配策略。如图2所示,该方法包括:
S210、接收待调度服务请求;
S220、遍历节点和节点的GPU卡,判断每一节点的第一指标数据是否满足待调度服务请求对应的配额,和/或,节点的GPU卡的第二指标数据是否满足待调度服务请求对应的配额。
具体的,遍历节点和节点的GPU卡,获取节点的第一指标数据和节点的GPU卡的第二指标数据,判断每一节点的第一指标数据是否满足待调度服务请求对应的配额,和/或,判断节点的GPU卡的第二指标数据是否满足待调度服务请求对应的配额。
S230、在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略。
S240、在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均满足待调度服务请求对应的资源配额的情况下,获取预设调度策略配置信息,基于预设调度策略配置信息确定是否开启平均分配原则,若开启平均分配原则,则执行平均分配策略。
其中,预设调度策略配置信息具体可以理解为是调度策略类型信息,包含但不限于智能资源调度策略、平均分配原则。
具体的,在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均满足待调度服务请求对应的资源配额的情况下,读取预设调度策略配置信息,若预设调度策略配置信息为平均分配原则,则表示当前调度策略为平均分配原则,平均分配原则包括:获取一节点的第一指标数据和该节点的GPU卡的第二指标数据,选取资源利用率最低的GPU卡作为目标GPU卡,用于平均GPU卡对应的节点下的各GPU卡的资源利用率。
在本实施例中,通过采用平均分配原则实现对GPU卡的资源使用率处于平衡状态,避免个别GPU卡的负载过重的问题。
S250、确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点。
在一个具体的实施例中,如图3所示的一种GPU资源调度的流程示意图,在进行服务部署的情况下,自定义调度器,设置预设调度策略配置信息,基于预设调度策略配置信息判断是否开启智能调度策略。若未开启智能调度策略,则采用默认调度策略,优先将待调度服务调度到同一张GPU卡上,用于防止碎片化调度。若开启智能调度策略,则根据集群节点和集群节点的GPU卡的指标数据确定集群可利用资源量,判断集群可利用资源量是否满足待调度服务的资源配额,即既要判断节点的资源量是否满足待调度服务的资源配额,也要判断节点的GPU卡是否满足待调度服务的资源配额,在节点和节点GPU卡片均不满足待调度服务的资源配额的情况下,结束资源调度,返回无法调度结果;在节点和节点的GPU卡均满足待调度服务的资源配额的情况下,进一步根据预设调度策略配置信息判断是否开启平均分配原则,在开启平均分配原则的情况下,若当前节点下只有一张GPU卡的资源量满足待调度服务的资源配额,则将该GPU卡作为目标GPU卡并返回对应的目标调度节点信息,若当前节点下有多张GPU卡的资源量满足待调度服务的资源配额,则选取资源利用率最低的一张GPU卡作为目标GPU卡;在节点满足且节点的GPU卡不满足待调度服务的资源配额的情况下,根据待调度服务的资源配额、节点的第一指标数据、节点的GPU卡的第二指标数据进行服务压缩策略和/或滚动腾退策略处理,根据预配置的服务标签确定可压缩服务,然后对可压缩服务执行服务压缩策略,如果该可压缩服务的资源利用量低于对应可压缩服务的资源配额,则压缩该可压缩服务,调整该可压缩服务的资源配额为资源利用量;如果未找到匹配的GPU卡,则执行滚动腾退策略,计算同节点的所有GPU卡是否有满足待调度服务的资源配额的卡片,若有满足待调度服务的资源配额的卡片,则直接执行腾退处理,若没有满足待调度服务的资源配额的GPU卡,则执行滚动腾退处理,匹配到满足待调度服务的资源配额的目标GPU卡及其对应的目标调度节点信息,将确定的目标调度节点信息返回至自定义调度器,通过设备驱动插件配合Kubelet插件将待调度服务运行在目标GPU卡上。
本实施例的技术方案,通过接收待调度服务请求;遍历节点和节点的GPU卡,判断每一节点的第一指标数据是否满足待调度服务请求对应的配额,和/或,节点的GPU卡的第二指标数据是否满足待调度服务请求对应的配额;在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均满足待调度服务请求对应的资源配额的情况下,获取预设调度策略配置信息,基于预设调度策略配置信息确定是否开启平均分配原则,若开启平均分配原则,则执行平均分配策略;确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点。实现了根据指标数据对GPU资源的动态调度,解决了GPU资源使用率不平衡和利用率差的问题,提高对GPU资源的合理调度,提高GPU资源的利用率和平衡度,避免个别节点或GPU卡的负载过重的问题,提高系统性能,较少资源浪费。
实施例三
图4是本发明实施例三提供的一种GPU资源调度装置的结构示意图。
如图4所示,该装置包括:
待调度服务请求接收模块410,用于接收待调度服务请求;
策略执行模块420,用于在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;
目标GPU卡确定模块430,用于确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点,目标GPU卡为经服务压缩策略和/或滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。
本实施例的技术方案,通过待调度服务请求接收模块接收待调度服务请求;策略执行模块在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;目标GPU卡确定模块确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点,目标GPU卡为经服务压缩策略和/或滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。实现了根据指标数据对GPU资源的动态调度,解决了GPU资源使用率不平衡和利用率差的问题,提高对GPU资源的动态调度的合理性和高效性,较少资源浪费。
在上述实施例的基础上,可选的,策略执行模块420,具体用于:
遍历节点的GPU卡上的服务,在服务为可压缩服务,且可压缩服务的资源利用量低于可压缩服务的资源配额的情况下,对可压缩服务进行压缩处理;
在经过压缩处理后的可压缩服务对应的GPU卡的资源量满足待调度服务请求对应的资源配额的情况下,将GPU卡作为目标GPU卡。
在服务为可滚动腾退服务的情况下,确定可滚动腾退服务在执行滚动腾退后的预计资源量;
若可滚动腾退服务的预计资源量满足待调度服务请求对应的资源配额,则将可滚动腾退服务对应的GPU卡作为目标GPU卡;
若可滚动腾退服务的预计资源量不满足待调度服务请求对应的资源配额,则遍历其他节点,基于其他节点中的可滚动腾退服务确定目标GPU卡。
对目标GPU卡中的可滚动腾退服务执行滚动腾退,其中,滚动腾退的过程包括:创建新的GPU实例,回收可滚动腾退服务。
可选的,在接收待调度服务请求之后,装置具体用于:
遍历节点和节点的GPU卡,判断每一节点的第一指标数据是否满足待调度服务请求对应的配额,和/或,节点的GPU卡的第二指标数据是否满足待调度服务请求对应的配额。
在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均满足待调度服务请求对应的资源配额的情况下,获取预设调度策略配置信息,基于预设调度策略配置信息确定是否开启平均分配原则,若开启平均分配原则,则执行平均分配策略,确定目标GPU卡。
可选的,装置具体用于:在遍历集群中所有节点的GPU卡,获取GPU卡的指标数据,确定可调度的服务的资源配额,判断GPU卡的总额度减去可调度的服务的资源配额的差值是否满足待调度服务请求对应的资源配额,若不满足待调度服务请求对应的资源配额,则调度失败。
本发明实施例所提供的GPU资源调度装置可执行本发明任意实施例所提供的GPU资源调度方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5是本发明实施例四提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如GPU资源调度方法。
在一些实施例中,GPU资源调度方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的GPU资源调度方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行GPU资源调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的GPU资源调度方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行一种GPU资源调度方法,该方法包括:
接收待调度服务请求;
在节点的第一指标数据满足待调度服务请求对应的资源配额且节点的GPU卡的第二指标数据均不满足待调度服务请求对应的资源配额的情况下,根据待调度服务请求对应的资源配额、第一指标数据、第二指标数据对不满足资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;
确定目标GPU卡,将目标GPU卡对应的节点作为目标调度节点,目标GPU卡为经服务压缩策略和/或滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种GPU资源调度方法,其特征在于,包括:
接收待调度服务请求;
在节点的第一指标数据满足所述待调度服务请求对应的资源配额且所述节点的GPU卡的第二指标数据均不满足所述待调度服务请求对应的资源配额的情况下,根据所述待调度服务请求对应的资源配额、所述第一指标数据、所述第二指标数据对不满足所述资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;
确定目标GPU卡,将所述目标GPU卡对应的节点作为目标调度节点,所述目标GPU卡为经所述服务压缩策略和/或所述滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。
2.根据权利要求1所述的方法,其特征在于,所述服务压缩策略包括:
遍历所述节点的GPU卡上的服务,在所述服务为可压缩服务,且所述可压缩服务的资源利用量低于所述可压缩服务的资源配额的情况下,对所述可压缩服务进行压缩处理;
在经过压缩处理后的所述可压缩服务对应的所述GPU卡的资源量满足所述待调度服务请求对应的资源配额的情况下,将所述GPU卡作为所述目标GPU卡。
3.根据权利要求1或2所述的方法,其特征在于,所述滚动腾退策略包括:
在所述服务为可滚动腾退服务的情况下,确定所述可滚动腾退服务在执行滚动腾退后的预计资源量;
若所述可滚动腾退服务的预计资源量满足所述待调度服务请求对应的资源配额,则将所述可滚动腾退服务对应的所述GPU卡作为所述目标GPU卡;
若所述可滚动腾退服务的预计资源量不满足所述待调度服务请求对应的资源配额,则遍历其他节点,基于所述其他节点中的可滚动腾退服务确定所述目标GPU卡。
4.根据权利要求3所述的方法,其特征在于,还包括:
对所述目标GPU卡中的可滚动腾退服务执行滚动腾退,其中,滚动腾退的过程包括:
创建新的GPU实例,回收所述可滚动腾退服务。
5.根据权利要求1所述方法,其特征在于,在所述接收待调度服务请求之后,包括:
遍历所述节点和所述节点的GPU卡,判断每一所述节点的第一指标数据是否满足所述待调度服务请求对应的配额,和/或,所述节点的GPU卡的第二指标数据是否满足所述待调度服务请求对应的配额。
6.根据权利要求1所述方法,其特征在于,还包括:
在所述节点的第一指标数据满足所述待调度服务请求对应的资源配额且所述节点的GPU卡的第二指标数据均满足所述待调度服务请求对应的资源配额的情况下,获取预设调度策略配置信息,基于所述设调度策略配置信息确定是否开启平均分配原则,若开启平均分配原则,则执行平均分配策略,确定所述目标GPU卡。
7.根据权利要求1所述的方法,其特征在于,还包括:
在遍历集群中所有节点的GPU卡,获取所述GPU卡的指标数据,确定可调度的服务的资源配额,判断GPU卡的总额度减去所述可调度的服务的资源配额的差值是否满足所述待调度服务请求对应的资源配额,若不满足所述待调度服务请求对应的资源配额,则调度失败。
8.一种GPU资源调度装置,其特征在于,包括:
待调度服务请求接收模块,用于接收待调度服务请求;
策略执行模块,用于在节点的第一指标数据满足所述待调度服务请求对应的资源配额且所述节点的GPU卡的第二指标数据均不满足所述待调度服务请求对应的资源配额的情况下,根据所述待调度服务请求对应的资源配额、所述第一指标数据、所述第二指标数据对不满足所述资源配额的GPU卡执行服务压缩策略和/或滚动腾退策略;
目标GPU卡确定模块,用于确定目标GPU卡,将所述目标GPU卡对应的节点作为目标调度节点,所述目标GPU卡为经所述服务压缩策略和/或所述滚动腾退策略处理后满足待调度服务请求对应的资源配额的GPU卡。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的GPU资源调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的GPU资源调度方法。
CN202311626710.0A 2023-11-30 2023-11-30 一种gpu资源调度方法、装置、电子设备及存储介质 Pending CN117667397A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311626710.0A CN117667397A (zh) 2023-11-30 2023-11-30 一种gpu资源调度方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311626710.0A CN117667397A (zh) 2023-11-30 2023-11-30 一种gpu资源调度方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117667397A true CN117667397A (zh) 2024-03-08

Family

ID=90065497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311626710.0A Pending CN117667397A (zh) 2023-11-30 2023-11-30 一种gpu资源调度方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117667397A (zh)

Similar Documents

Publication Publication Date Title
US10719343B2 (en) Optimizing virtual machines placement in cloud computing environments
CN108549583B (zh) 大数据处理方法、装置、服务器及可读存储介质
CN112559182B (zh) 资源分配方法、装置、设备及存储介质
US9184982B2 (en) Balancing the allocation of virtual machines in cloud systems
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
CN111611050A (zh) 一种信息处理方法、装置、设备及存储介质
US11307898B2 (en) Server resource balancing using a dynamic-sharing strategy
US20210360058A1 (en) Job allocation support system and method
CN117785465A (zh) 一种资源调度方法、装置、设备及存储介质
CN114461407B (zh) 数据处理方法、装置、分发服务器、系统及存储介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
CN117472471A (zh) 一种应用程序配置方法、装置、设备及存储介质
CN114764371A (zh) 任务调度方法及管理系统
CN117112222A (zh) 一种请求处理方法、装置、电子设备及存储介质
CN117311973A (zh) 计算设备调度方法、装置、非易失性存储介质及电子设备
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN117667397A (zh) 一种gpu资源调度方法、装置、电子设备及存储介质
CN115390992A (zh) 一种虚拟机创建方法、装置、设备和存储介质
CN114862223A (zh) 一种机器人调度方法、装置、设备及存储介质
CN114035906A (zh) 虚拟机迁移方法、装置、电子设备及存储介质
CN110247802B (zh) 针对云服务单机环境的资源配置方法及装置
CN114385342A (zh) 容器云过载保护方法和装置、计算机装置和存储介质
CN114598705B (zh) 消息负载均衡方法、装置、设备和介质
CN116361008A (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