资源分配方法、装置、设备以及存储介质制造方法及图纸

技术编号:35567243 阅读:13 留言:0更新日期:2022-11-12 15:51
本公开提供了一种资源分配分配方法、装置、设备以及存储介质。涉及计算机技术领域,尤其涉及计算机技术中的资源管理、任务分配等领域。具体实现方案为:为目标任务创建容器集(pod);获取目标任务的图形处理器(GPU)资源需求信息;获取目标集群的可用节点信息和可用GPU资源信息;基于可用节点信息和可用GPU资源信息,为pod分配满足GPU资源需求信息的第一目标节点和第二目标节点,其中,第一目标节点是为pod分配的目标GPU资源所在的节点,第二目标节点是为pod分配的pod所在的节点。根据本公开的技术方案,能提高资源利用率。能提高资源利用率。能提高资源利用率。

【技术实现步骤摘要】
资源分配方法、装置、设备以及存储介质


[0001]本公开涉及计算机
,尤其涉及计算机技术中的资源管理、任务分配等领域,具体涉及一种资源分配方法、装置、设备以及存储介质。

技术介绍

[0002]在机器学习场景中,计算资源往往需要做统一的管理。一些集群(如Kubernetes集群,简称K8S集群)执行任务时,会为该任务对应的容器集(pod)分配资源,具体会为pod分配节点和图像处理器(Graphics Processing Unit,GPU)等资源。相关技术中,在分配时,只能为pod分配具有GPU资源的节点。然而,这种分配方法资源利用率较低。

技术实现思路

[0003]本公开提供了一种资源分配方法、装置、设备以及存储介质。
[0004]根据本公开的第一方面,提供了一种资源分配方法,包括:
[0005]为目标任务创建pod;
[0006]获取该目标任务的GPU资源需求信息;
[0007]获取目标集群的可用节点信息和可用GPU资源信息;
[0008]基于可用节点信息和可用GPU资源信息,为该pod分配满足GPU资源需求信息的第一目标节点和第二目标节点,其中,第一目标节点是为该pod分配的目标GPU资源所在的节点,第二目标节点是为该pod分配的pod所在的节点。
[0009]根据本公开的第二方面,提供了一种资源分配装置,包括:
[0010]创建模块,用于为目标任务创建pod;
[0011]第一获取模块,用于获取该目标任务的GPU资源需求信息;
[0012]第二获取模块,用于获取目标集群的可用节点信息和可用GPU资源信息;
[0013]分配模块,用于基于可用节点信息和可用GPU资源信息,为该pod分配满足GPU资源需求信息的第一目标节点和第二目标节点,其中,第一目标节点是为该pod分配的目标GPU资源所在的节点,第二目标节点是为该pod分配的pod所在的节点。
[0014]根据本公开的第三方面,提供了一种电子设备,包括:
[0015]至少一个处理器;以及
[0016]与该至少一个处理器通信连接的存储器;其中,
[0017]该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行上述第一方面所提供的方法。
[0018]根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行上述第一方面所提供的方法。
[0019]根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述第一方面所提供的方法。
[0020]本公开实施例的技术方案,能提高资源利用率。
[0021]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0022]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0023]图1是根据本公开实施例的资源分配方法的流程示意图;
[0024]图2是根据本公开实施例的机房中各节点之间的关系示意图;
[0025]图3是根据本公开实施例的资源分配方法的总体流程图;
[0026]图4是根据本公开实施例的资源分配装置的组成示意图一;
[0027]图5是根据本公开实施例的资源分配装置的组成示意图二;
[0028]图6是根据本公开实施例的资源分配场景的示意图;
[0029]图7是用来实现本公开实施例的资源分配方法的电子设备的框图。
具体实施方式
[0030]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0031]本公开的说明书实施例和权利要求书及上述附图中的术语"第一"、"第二"和"第三"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语"包括"和"具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0032]本公开实施例提供了一种资源分配方法,图1是根据本公开实施例的资源分配方法的流程示意图,该资源分配方法可以应用于资源分配装置。该资源分配装置位于电子设备,该电子设备包括但不限于固定设备和/或移动设备。该电子设备具有资源调度功能。例如,该电子设备可以部署于目标集群上,或独立于目标集群但能与目标集群连接。在一些可能的实现方式中,该资源分配方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,该资源分配方法包括:
[0033]S101:为目标任务创建pod;
[0034]S102:获取目标任务的GPU资源需求信息;
[0035]S103:获取目标集群的可用节点信息和可用GPU资源信息;
[0036]S104:基于可用节点信息和可用GPU资源信息,为pod分配满足GPU资源需求信息的第一目标节点和第二目标节点,其中,第一目标节点是为pod分配的目标GPU资源所在的节点,第二目标节点是为pod分配的pod所在的节点。
[0037]这里,目标集群可以是私有云交付的集群,如基于Kubernetes(简称K8S)构建的集群、基于开源分布式资源管理框架(例如,开源分布式资源管理框架mesos)和应用测试工具(例如,应用测试工具marathon)搭建的集群等。以上仅为示例性说明,不作为对目标集群全部可能的类型的限定,只是这里不做穷举。
[0038]其中,K8S是基于集群管理器开发的面向容器的容器集群管理平台,它基于容器技术等对底层的主机、网络和存储资源进行统一管理,其提供应用部署、维护、扩展机制等功能,利用K8S能方便地管理跨机器运行容器化的应用。
[0039]本公开实施例中,目标集群包括多个节点,不同节点的标识不同。节点可以是裸机、物理机、虚拟机等。
[0040]本公开实施例中,目标任务是需由目标集群执行的任务。比如,目标任务可以是检测任务。又比如,目标任务可以是分类任务。再比如,目标任务可以是分割任务。以上仅为示例性说明,不作为对目标任务全部可能的类型的限定,只是这里不做穷举。
[0041]本公开实施例中,目标任务是需要使用GPU资源的任务。目标任务运行于pod中。
[0042]本公开实施例中,目标任务可以是用户通过目标集群的用户接口所创建的任务。目标任务还可以是终端转发的其他设备创建的目标任务。本公开不对目标任务的来源方式进行限定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源分配方法,包括:为目标任务创建容器集pod;获取所述目标任务的图形处理器GPU资源需求信息;获取目标集群的可用节点信息和可用GPU资源信息;基于所述可用节点信息和所述可用GPU资源信息,为所述pod分配满足所述GPU资源需求信息的第一目标节点和第二目标节点,其中,所述第一目标节点是为所述pod分配的目标GPU资源所在的节点,所述第二目标节点是为所述pod分配的所述pod所在的节点。2.根据权利要求1所述的方法,其中,所述GPU资源需求信息包括GPU资源使用量、GPU卡的类型以及GPU卡的拓扑结构,所述基于所述可用节点信息和所述可用GPU资源信息,为所述pod分配满足所述GPU资源需求信息的第一目标节点和第二目标节点,包括:基于所述可用节点信息和所述可用GPU资源信息,为所述pod确定满足所述GPU资源使用量的多个候选节点;从所述多个候选节点中确定出满足所述GPU卡的类型以及所述GPU卡的拓扑结构的第一节点集合;基于所述第一节点集合确定所述第一目标节点和所述第二目标节点。3.根据权利要求2所述的方法,其中,所述基于所述第一节点集合确定所述第一目标节点和所述第二目标节点,包括:确定所述第一节点集合中每个节点的每个GPU对应的GPU资源空闲量;从所述第一节点集合中筛选出GPU资源空闲量满足所述GPU资源使用量的节点,作为第二节点集合;基于所述第二节点集合确定所述第一目标节点和所述第二目标节点。4.根据权利要求3所述的方法,其中,所述基于所述第二节点集合确定所述第一目标节点和所述第二目标节点,包括:获取所述第二节点集合中每个节点所对应交换机的信息;基于所述第二节点集合中每个节点所对应交换机的信息,确定所述第二节点集合中每个节点对应的第三节点集合和第四节点集合;从所述第二节点集合、所述第三节点集合和所述第四节点集合中确定出所述第一目标节点和所述第二目标节点。5.根据权利要求4所述的方法,其中,所述基于所述第二节点集合中每个节点所在的交换机的信息,确定所述第二节点集合中每个节点对应的第三节点集合和第四节点集合,包括:对于所述第二节点集合中任一节点,将与该节点对应同一个交换机的节点,确定为该节点对应的第三节点集合;对于所述第二节点集合中任一节点,将与该节点对应不同交换机的节点,确定为该节点对应的第四节点集合。6.根据权利要求4所述的方法,其中,所述从所述第二节点集合、所述第三节点集合和所述第四节点集合中确定出所述第一目标节点和所述第二目标节点,包括:获取所述第二节点集合、所述第三节点集合和所述第四节点集合分别对应的负载情况;
根据所述第二节点集合、所述第三节点集合和所述第四节点集合分别对应的负载情况,确定所述第一目标节点和所述第二目标节点。7.根据权利要求6所述的方法,其中,所述根据所述第二节点集合、所述第三节点集合和所述第四节点集合分别对应的负载情况,确定所述第一目标节点和所述第二目标节点,包括:确定所述第二节点集合、所述第三节点集合和所述第四节点集合中每个节点的属性以及所述属性对应的权重值;基于每个节点的属性以及所述属性对应的权重值,确定每个节点的总权重值;根据每个节点的总权重值,确定最大的总权重值;根据所述最大的总权重值,确定所述第一目标节点和所述第二目标节点。8.根据权利要求7所述的方法,其中,每个节点的属性,至少包括以下属性之一:每个节点所属的集合;每个节点对应的交换机的网络吞吐量;每个节点对应的交换机的使用量;每个节点对应的GPU的显存空闲量;每个节点对应的GPU的算力空闲量;每个节点对应的磁盘空闲量;每个节点对应的中央处理器CPU空闲量;每个节点对应的GPU优先级。9.根据权利要求1至8任一项所述的方法,还包括:将所述目标GPU资源在所述第一目标节点中的服务地址发送至所述第二目标节点,以由所述第二目标节点基于所述服务地址调用所述目标GPU资源执行所述目标任务。10.一种资源分配装置,包括:创建模块,用于为目标任务创建容器集pod;第一获取模块,用于获取所述目标任务的图形处理器GPU资源需求信息;第二获取...

【专利技术属性】
技术研发人员:范业大
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1