CN112631780A - 资源调度方法和装置、存储介质及电子设备 - Google Patents
资源调度方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112631780A CN112631780A CN202011589625.8A CN202011589625A CN112631780A CN 112631780 A CN112631780 A CN 112631780A CN 202011589625 A CN202011589625 A CN 202011589625A CN 112631780 A CN112631780 A CN 112631780A
- Authority
- CN
- China
- Prior art keywords
- gpu
- server
- mode
- scheduling
- resource
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种资源调度方法和装置、存储介质及电子设备。其中,该方法包括:通过获取服务器的图像处理单元GPU的标识信息,其中,标识信息用于标识GPU的调度方式;获取标识信息对应的资源信息;根据资源信息确定GPU的调度方式,达到了根据服务器上报的资源信息确定调度方式的目的,即根据资源信息先确定GPU的调度方式,根据调度方式进一步确定GPU的调度过程,同时支持共享和独享使用方式,使用者可以直接使用任意方式,无需通过开关设置是否开启共享,进而解决了现有技术中,GPU资源调度方式效率较低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种资源调度方法和装置、存储介质及电子设备。
背景技术
随着人工智能技术的发展,深度学习越来越重要。深度学习的实现,需要多种技术进行支撑,比如服务器、GPU(Graphics Processing Unit,图形处理单元)、集群、集群管理调度软件等。
Kubernetes具有完备的集群管理能力、多层次安全防护和准入机制、多租户应用支撑能力、强大的故障发现和自我修复能力以及多粒度的资源配额管理能力。kubernetes从1.6版本之后增加了对GPU资源的调度,因此被广泛地应用在人工智能领域作为深度学***台。
现有技术方案中通过Kubernetes***对于GPU的调度存在如下问题:使用者需要通过开关控制是否开启GPU资源共享,用法上较不灵活。使用者需要为服务器的每块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的调度方式。
可选的,上述装置包括:标记单元,用于所述获取服务器的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根据本发明实施例的一种可选的在Kubernetes平台上实现GPU设备共享调度和使用方法的流程图;
图4根据本发明实施例的一种可选的在Kubernetes平台上实现GPU设备共享调度和使用装置图;
图5根据本发明实施例的一种可选的GPU容器任务扩展调度流程;
图6根据本发明实施例的一种可选的资源调度装置的结构示意图;
图7根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种资源调度方法,可选地,作为一种可选的实施方式,上述一种资源调度方法可以但不限于应用于如图1所示的环境中。服务器106上运行有容器集群管理***,终端设备102向容器集群管理系***发起获取GPU资源请求,从服务器中获取GPU资源。其中,服务器106中的容器集群管理***获取服务器的图像处理单元GPU的标识信息,其中,标识信息用于标识GPU的调度方式;获取标识信息对应的资源信息;根据资源信息确定GPU的调度方式,达到了根据服务器上报的资源信息确定调度方式的目的,即根据资源信息先确定GPU的调度方式,根据调度方式进一步确定GPU的调度过程,同时支持共享和独享使用方式,使用者可以直接使用任意方式,无需通过开关设置是否开启共享,进而解决了现有技术中,GPU资源调度方式效率较低的技术问题。
可选地,在本实施例中,上述终端设备102可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述资源调度方法包括:
步骤S202,获取服务器的GPU的标识信息,其中,标识信息用于标识GPU的调度方式。
步骤S203,获取标识信息对应的资源信息。
步骤S206,根据资源信息确定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设备时,GPU共享插件会优先为调度流程完成时间戳最早的容器任务分配GPU设备。
可选的,在本实施例中,确定调度的第二服务器GPU之后,还可以包括:在第二服务器GPU调度之前的任务未完成的情况下,当前任务进入调度排队队列,调度重试,直至确定出第二服务器GPU。
在本实施例中,当GPU容器任务调度阶段未完成时(未通过Kubernetes调度器预选或GPU扩展调度器进一步筛选),进入调度排队队列,Kubernetes调度器和GPU扩展调度器会进行周期性调度重试,直到筛选出最终的可调度节点和GPU设备。
以下结合具体实施例说明上述实施例,即一种在Kubernetes平台上实现GPU设备共享调度和使用的方法。如图3所示,在Kubernetes平台上实现GPU设备共享调度和使用方法的流程图。具体说明如下:
步骤S301,开始;
步骤S302,GPU共享插件向Kubernetes平台上报服务器GPU设备显存信息;
其中,GPU共享插件运行在Kubernetes管理的服务器上。
步骤S303,GPU独享插件向Kubernetes平台上报服务器GPU设备数信息;
其中,GPU独享插件运行在Kubernetes管理的服务器上。
步骤S304,创建GPU共享/独享容器任务;
其中,创建GPU共享/独享容器任务时,用户可按需自由指定任务类型,无需开关控制;需要说明的是,共享和独享对应的Kubernetes调度器中GPU资源名称不同,如共享基于显存调度和分配,其资源名称为gpu-mem。独享可以自由发挥,能区分和标示共享/独享用法,即可名为gpu-count。上述命名在本实施例中是一种实施方式,不做具体限定。
步骤S305,判断任务类型,在任务类型是独享模式的情况下,执行步骤S306,在任务类型是共享模式的情况下,执行步骤S307;
其中,由Kubernetes判断容器任务使用GPU的方式是共享模式还是独享模式。
步骤S306,Kubernetes调度器初步筛选可调度节点,即剩余可用设备数满足容器任务要求;
步骤S307,Kubernetes调度器初步筛选可调度节点,即剩余可用总显存满足容器任务要求;
其中,Kubernetes调度器对可调度节点(GPU服务器)做初步筛选,可调度独享容器任务节点初步筛选通过关键必要条件为节点剩余可用GPU设备数满足容器任务要求;可调度共享容器任务节点初步筛选通过关键必要条件为节点剩余可用GPU总显存满足容器任务要求。
需要说明的是,除以上条件外还包括Kubernetes调度器的一些其他必要条件,例如容器应用节点选择器标签是否和节点标签匹配、节点其他资源CPU、内存等是否满足容器任务要求等,遵循Kubernetes原生实现逻辑。
步骤S308,GPU扩展调度器进一步筛选;
其中,Kubernetes调度器完成预选后,由GPU扩展调度器完成对节点的进一步筛选,具体地,可调度共享容器任务节点筛选通过条件为节点存在至少一个GPU设备剩余未分配显存满足容器任务显存要求;可调度独享容器任务节点筛选通过条件为节点剩余未分配GPU设备数(不含被共享类GPU容器任务使用的)满足容器任务设备数要求。
步骤S309,GPU扩展调度器优选调度,即按调度算法确定;
其中,进一步筛选完成后,由GPU扩展调度器(调度算法部分)完成优选调度,选出最终调度节点和GPU设备,标记到容器任务Annotation里,并为容器任务打上调度流程完成的时间戳。调度算法可以是binpack、fareshare等(包括但不限于以上两种)。算法模块以插件形式接入到GPU扩展调度器装置,GPU扩展调度器以接口调用方式调用算法模块,无需感知具体算法实现。
步骤S310,判断任务类型,在任务类型是独享模式的情况下,执行步骤S311,在任务类型是共享模式的情况下,执行步骤S312;
步骤S311,Kubernetes调度器配合GPU独享插件完成GPU设备分配;
步骤S312,Kubernetes调度器配合GPU共享插件完成GPU设备分配;
其中,当GPU容器任务调度阶段未完成时(未通过Kubernetes调度器预选或GPU扩展调度器进一步筛选),进入调度排队队列,Kubernetes调度器和GPU扩展调度器会进行周期性调度重试,直到筛选出最终的可调度节点和GPU设备。
当存在多个GPU容器任务(共享方式)分配到同一节点的同一GPU设备时,GPU共享插件会优先为调度流程完成时间戳最早的容器任务分配GPU设备。
步骤S313,结束。
如图4所示,在Kubernetes平台上实现GPU设备共享调度和使用装置图,具体描述如下。
其中Kubelet、Kube-Scheduler为Kubernetes组件,Kubelet是在Kubernetes集群内每个节点上运行的主要“节点代理”,实现集群对节点的管理;Kube-Scheduler是Kubernetes调度装置。Pod为Kubernetes所有业务类型的基础,也是Kubernetes基本调度单元,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。
本发明装置包括GPU Share Scheduler Extender(GPU扩展调度器)、GPU ShareDevice Plugin(GPU共享插件)和GPU Monopoly Device Plugin(GPU独享插件)。
gpu-mem:GPU显存Kubernetes扩展资源名称(单位可以是MiB、GiB等),适用于共享模式。实际命名可自定义,能标示资源和使用方式特征即可。
gpu-count:GPU设备数Kubernetes扩展资源名称(即节点GPU设备数),适用于独享模式。实际命名可自定义,能标示资源和使用方式特征即可。
上述在Kubernetes平台上实现GPU设备共享调度和使用方法结合装置及相关原理说明如下。
如图4中所示的.ReportDevice()gpu-mem:32552,GPU Share Device Plugin利用nvml库查询到GPU设备的数量和每个GPU设备的显存,并将节点的GPU总显存(节点上全部的GPU设备的显存相加)作为Kubernetes Extended Resource(gpu-mem)上报给Kubelet(调用方式:gRPC);Kubelet进一步上报给Kubernetes API Server(调用方式:HTTP/HTTPS)。举例说明,如果节点含有两块GPU设备,并且每块包含16276MiB,从用户的角度来看:该节点的GPU显存资源为16276*2=32552MiB。
需要说明的是,显存上报可以认为是节点GPU设备的一次“虚拟化”过程,即将实际GPU设备虚拟化成多个显存分片设备,最终会虚拟化成多少个显存分片设备取决于实际GPU设备显存大小和“虚拟化”时使用的显存单位(GiB、MiB...),而上报给Kubelet的也是GPU虚拟显存分片设备,其标识包括实际GPU设备Uid(UUID格式)、实际GPU设备下标(0、1、2...)、显存分片号等信息。
如图4中所示的.ReportDevice()gpu-count:2,GPU Monopoly Device Plugin则会将节点实际的GPU设备信息(利用nvml库查询,设备数)作为Kubernetes ExtendedResource(gpu-count)上报给Kubelet(调用方式:gRPC);Kubelet进一步上报给KubernetesAPI Server(调用方式:HTTP/HTTPS)。
需要说明的是实际GPU设备,不涉及按显存做虚拟化和分片,设备标识包括实际GPU设备Uid(UUID格式)、实际GPU设备下标(0、1、2...)等信息。
其中,如图5所示,GPU容器任务扩展调度流程。具体说明如下。
1)Kubernetes调度装置预选和GPU扩展调度器进一步筛选
Kubernetes调度器在进行完所有过滤(filter)行为后会通过HTTP/HTTPS方式调用GPU Share Scheduler Extender的filter方法,这是由于Kubernetes调度装置计算Extended Resource时,只能判断资源总量是否有满足需求的空闲资源,无法具体判断单张卡上是否满足需求;所以就需要由GPU Share Scheduler Extender检查单张卡上是否含有可用资源。
例如,在由3个包含两块GPU设备的节点组成的Kubernetes集群中,当用户申请gpu-mem=8138时,Kubernetes调度装置会扫描所有节点,发现N1所剩的资源为(16276*2-16276-12207=4069)不满足资源需求,N1节点被过滤掉。而N2和N3节点所剩资源都为8138MiB,从整体调度的角度看,都符合Kubernetes调度装置的筛选条件;此时Kubernetes调度装置会委托GPU Share Scheduler Extender(GPU扩展调度器)进行二次过滤,在二次过滤中,GPU Share Scheduler Extender需要判断单张卡是否满足调度需求,在查看N2节点时发现该节点虽然有8138MiB可用资源,但是落到每张卡上看,GPU0和分别GPU1只有4069MiB的可用资源,无法满足单卡8138MiB的诉求。而N3节点虽然也是总共有8138MiB可用资源,但是这些可用资源都属于GPU0,满足单卡可调度的需求。由此,通过GPU ShareScheduler Extender的筛选就可以实现精准的条件匹配。
此外,GPU Share Scheduler Extender还负责处理gpu-count的扩展调度筛选逻辑,Kubernetes调度装置在做预选时不会判断节点GPU设备是否已经被GPU共享容器任务使用,这里是因为共享和独享的资源名称不同,而Kubernetes调度装置会将两种使用方式下的GPU设备作为两种资源来进行调度。GPU Share Scheduler Extender在处理独享模式下使用GPU设备数的容器任务时会过滤掉被GPU共享容器任务(使用gpu-mem)使用的节点的GPU设备,同样:独享容器任务会占用整个GPU设备,共享容器任务也无法占用被独享容器任务(使用gpu-count)使用的GPU设备。
2)GPU扩展调度器优选:
当Kubernetes调度装置找到满足条件的节点,委托GPU Share SchedulerExtender的bind方法(调用方式:HTTP/HTTPS)进行节点和Pod的绑定,这里GPU ShareScheduler Extender需要做的是两件事情:
a)按照不同算法(如binpack)找到节点中最优选择的GPU设备id:
此处的最优含义是对于同一个节点不同的GPU设备,以binpack为例说明如下。
共享:优先选择空闲资源满足条件但同时又是所剩资源最少的GPU设备,并且将其作为GPU_MEM_IDX保存到Pod的Annotation中(Annotation的key可以自定义,这里假定key是GPU_MEM_IDX);同时也保存该Pod申请的GPU显存作为GPU_MEM_POD和GPU_ASSUME_TIME保存至Pod的Annotation中,并且在此时进行Pod和所选节点的绑定。(注意:这时还会保存GPU_MEM_ASSIGNED的Pod Annotation,它被初始化为“false”。它表示该Pod在调度时刻被指定到了某块GPU设备,但是并没有真正在节点上创建该Pod。GPU_ASSUME_TIME代表了指定时间戳。)
独享:优先选择空闲GPU设备满足条件但同时又是所剩可用GPU设备最少的节点。将选中的GPU设备标识作为GPU_COUNT_IDXS(这里有可能会同时占用多个GPU设备)保存到Pod的Annotation中(Annotation的key可以自定义,这里假定key是GPU_COUNT_IDXS)。
如果在调度时发现分配节点上没有GPU资源符合条件,则不进行绑定,直接不报错退出,Kubernetes调度装置会在assume超时后重新调度,(即排队机制)。
GPU Share Scheduler Extender的bind过程做了加锁操作,保证Pod在GPU ShareScheduler Extender是按顺序bind的。(主要为防止分配了超出GPU设备显存的多个应用到同一个GPU设备上,保证调度处理逻辑的准确性)。
b)调用Kubernetes API执行节点和Pod的绑定(以binpack为例):
以共享模式举例说明:当GPU Share Scheduler Extender要把gpu-mem:8138的Pod和经过筛选出来的节点N1绑定,首先会比较不同GPU设备的可用资源,分别为GPU0(12207),GPU1(8138),GPU2(4069),GPU3(16276),其中GPU2所剩资源不满足需求,被舍弃掉;而另外三个满足条件的GPU设备中,GPU1恰恰是符合空闲资源满足条件但同时又是所剩资源最少的GPU设备,因此GPU1被选出。
在本实施例中,GPU容器任务在节点上运行。
当Pod和节点绑定的事件被Kubelet接收到后,Kubelet就会在节点上创建真正的Pod实体,在这个过程中,Kubelet会调用GPU Share Device Plugin(共享)或GPU MonopolyDevice Plugin(独享)的Allocate方法,Allocate方法的参数是Pod申请的gpu-mem(共享:GPU显存)或gpu-count(独享:GPU设备数)。
在Allocate方法中,会根据GPU Share Scheduler Extender的调度决策运行对应的Pod,详细流程如下。
1)共享:
Kubelet为容器任务分配GPU显存(GPU虚拟显存分片设备:gpu-mem),从PodAnnotation(GPU_MEM_IDX)获取GPU Share Scheduler Extender为Pod bind的GPU设备下标。然后从可分配的GPU虚拟显存分片设备集合里过滤出匹配GPU_MEM_IDX标示的GPU设备的虚拟显存分片,并从过滤后的集合中分配符合容器显存要求的GPU虚拟显存分片设备给容器任务。
需要说明的是,修改部分Kubelet代码,增加这段全新的处理逻辑(不影响其他Kubernetes原生逻辑),只在处理gpu-mem Extended Resource时生效,因为Kubelet原生实现是从可分配的Extended Resource集合里随机分配,这样就有可能会分配到和GPU_MEM_IDX标示的GPU设备不匹配的虚拟显存分片。也就是说,设备分配在GPU Share SchedulerExtender bind方法里就已经做完,无需Kubelet再分配。
Kubelet调用GPU Share Device Plugin的Allocate方法(Kubernetes原生处理逻辑,gRPC方式)为GPU容器任务分配GPU设备。
GPU Share Device Plugin列出该节点中所有状态为Pending并且GPU_MEM_ASSIGNED为false的GPU共享Pod。
GPU Share Device Plugin选择出其中Pod Annotation的GPU_MEM_IDX和Kubelet分配的GPU虚拟显存分片设备标识里记录的GPU设备下标完全一致的Pod,且Pod内容器请求的显存大小和分配的GPU虚拟显存分片数一致。如果有多个符合这种条件的Pod,就会选择其中GPU_ASSUME_TIME最早的Pod。
将该Pod的Annotation GPU_MEM_ASSIGNED设置为true,并且将分配的GPU虚拟显存分片设备(取实际GPU设备Uid)转化为环境变量返回给Kubelet用以真正的创建Pod。
独享:
Kubelet为容器任务分配GPU设备(实际GPU设备:gpu-count),从Pod Annotation(GPU_COUNT_IDXS)获取GPU Share Scheduler Extender为Pod bind的GPU设备下标集合(独享可同时使用多个GPU设备)。然后从可分配的实际GPU设备集合里筛选出匹配GPU_COUNT_IDXS标示的GPU设备,并分配给容器任务。
需要说明的是,修改部分Kubelet代码,增加这段全新的处理逻辑(不影响其他Kubernetes原生逻辑),只在处理gpu-count Extended Resource时生效,因为Kubelet原生实现是从可分配的Extended Resource集合里随机分配,这样就有可能会分配到和GPU_COUNT_IDXS标示的GPU设备不匹配的设备。也就是说,设备分配在GPU Share SchedulerExtender bind方法里就已经做完,无需Kubelet再分配。
Kubelet调用GPU Monopoly Device Plugin的Allocate方法(Kubernetes原生处理逻辑,gRPC方式)为GPU容器任务分配GPU设备。
GPU Monopoly Device Plugin Allocate方法将分配的GPU设备(取实际GPU设备Uid)转化为环境变量返回给Kubelet用以真正的创建Pod。独享没有按显存做“虚拟化”分片,所以这里无需匹配。
为保证Kubernetes原生代码的整洁,本方案对Kubelet做的修改采用git Patch方式固化,需要构建适配本发明装置的Kubelet程序时,在编译Kubernetes前再将Patch提交进编译所需的临时文件里(如需编译Kubernetes原生Kubelet程序也可以选择不合并),正常情况下(如做Kubernetes代码库日常管理)代码维持社区原生内容。
在本实施例中,基于GPU显存分配实现Kubernetes内多容器和Pod(为容器设置需要使用的GPU显存)共享同一个GPU设备,多容器包括同一Pod内多容器、不同Pod内多容器;GPU显存包括将实际GPU设备虚拟化成GPU设备虚拟显存分片设备,并在分片设备标识里维护实际GPU设备Uid、下标等信息及显存分片号信息。
基于调度装置-算法装置提供多种共享和独享使用方式的调度算法(包括共享和独享同时存在时的兼容性调度),其中算法装置以插件或其他较灵活方式集成到调度装置。
基于调度装置直接完成共享/独享模式的GPU设备分配,无需Kubelet介入;独享模式包括在GPU独享插件上报的GPU设备标识里加入GPU设备下标信息。
支持使用GPU设备的容器任务排队,当已调度的容器任务执行完成后支持将队列里等待的容器任务自动调度到节点及GPU设备上。
基于Kubernetes Annotation记录GPU设备分配信息(设备下标、显存等)和分配状态(是否完成分配、各种时间戳等)。
Kubelet为适配分配GPU显存和设备而做的兼容改造。
同时支持共享和独享使用方式,使用者可以直接使用任意方式,无需通过开关等方式控制。
在本申请提供的实施例,具有如下优点:
1)基于GPU显存分配实现Kubernetes内多容器(为容器设置需要使用的GPU显存)共享同一个GPU设备。GPU插件能够自动获取服务器GPU设备数和显存信息,并自动向Kubernetes集群注册服务器的GPU设备数和显存信息,使用者无需手动为服务器的每块GPU设备配置共享GPU资源的容器任务数量的上限值。以显存为粒度控制也更接近实际使用情况,能够帮助使用者更直观的评估多应用共享使用同一GPU设备的场景需求。
2)可同时支持多种共享使用方式的调度算法,调度策略更加智能。
3)支持使用GPU设备的容器任务排队,当已调度的容器任务执行完成后支持将队列里等待的容器任务自动调度到所述GPU上,使用者无需再次手动提交容器任务。
4)同时支持共享和独享使用方式,使用者可以直接使用任意方式,无需通过开关设置是否开启共享。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述资源调度方法的资源调度装置。如图6所示,该资源调度装置包括:第一获取单元61、第二获取单元63以及确定单元65。
第一获取单元61,用于获取服务器的GPU的标识信息,其中,标识信息用于标识GPU的调度方式。
第二获取单元63,用于获取标识信息对应的资源信息。
确定单元65,用于根据资源信息确定GPU的调度方式。
通过本申请提供的实施例,第一获取单元61获取服务器的GPU的标识信息,其中,标识信息用于标识GPU的调度方式;第二获取单元63获取标识信息对应的资源信息;确定单元65根据资源信息确定GPU的调度方式。达到了根据服务器上报的资源信息确定调度方式的目的,即根据资源信息先确定GPU的调度方式,根据调度方式进一步确定GPU的调度过程,同时支持共享和独享使用方式,使用者可以直接使用任意方式,无需通过开关设置是否开启共享,进而解决了现有技术中,GPU资源调度方式效率较低的技术问题。
可选的,上述装置可以包括:
标记单元,用于获取服务器的GPU的标识信息之前,根据GPU资源调度方式标记GPU的目标标识信息,其中,调度方式包括共享模式和是独享模式,其中,目标标识信息包括标识信息。
可选的,上述第二获取单元63,可以包括:
第一获取模块,用于在服务器的GPU资源调度方式为共享模式的情况下,获取服务器GPU设备显存信息,资源信息包括服务器GPU设备显存信息;
第二获取模块,用于在服务器的GPU资源调度方式为独享模式的情况下,获取GPU上报的服务器GPU设备数信息,资源信息包括服务器GPU设备数信息。
可选的,上述确定单元65,可以包括:
第一确定模块,用于在服务器的GPU资源调度方式为共享模式的情况下,确定调度的第一服务器GPU,其中,第一服务器GPU满足可用总显存满足任务要求;
第二确定模块,用于在服务器的GPU资源调度方式为独享模式的情况下,确定调度的第二服务器GPU,其中,第二服务器GPU满足可用设备数存满足任务要求。
第三确定模块,用于在服务器的GPU资源调度方式为共享模式的情况下,确定调度的第三服务器GPU,其中,第三服务器GPU满足空闲资源满足任务条件、且所剩资源最少的GPU设备;
第四确定模块,用于在服务器的GPU资源调度方式为独享模式的情况下,确定调度的第四服务器GPU,其中,第四服务器GPU满足空闲GPU设备满足任务条件、且所剩可用GPU设备最少的节点。
可选的,上述装置可以包括:
调度单元,用于确定调度的第一服务器GPU之后,将多个GPU容器任务分配到同一节点的同一GPU设备,且优先为调度流程完成时间戳最早的容器任务分配GPU设备。
可选的,上述装置还用于执行如下操作:确定调度的第二服务器GPU之后,在第二服务器GPU调度之前的任务未完成的情况下,当前任务进入调度排队队列,调度重试,直至确定出第二服务器GPU。
根据本发明实施例的又一个方面,还提供了一种用于实施上述资源调度方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图7所示,该电子设备包括存储器702和处理器704,该存储器702中存储有计算机程序,该处理器704被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取服务器的GPU的标识信息,其中,标识信息用于标识GPU的调度方式;
S2,获取标识信息对应的资源信息;
S3,根据资源信息确定GPU的调度方式。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图7中所示更多或者更少的组件(如网络接口等),或者具有与图7所示不同的配置。
其中,存储器702可用于存储软件程序以及模块,如本发明实施例中的资源调度方法和装置对应的程序指令/模块,处理器704通过运行存储在存储器702内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源调度方法。存储器702可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器702可进一步包括相对于处理器704远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器702具体可以但不限于用于标识信息、资源信息等信息。作为一种示例,如图7所示,上述存储器702中可以但不限于包括上述资源调度装置中的获取单元61、第二获取单元63以及确定单元65。此外,还可以包括但不限于上述资源调度装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置706包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置706为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述确定GPU资源调度方面或者确定GPU资源调度方面的各种可选实现方式中提供的资源调度方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取服务器的GPU的标识信息,其中,标识信息用于标识GPU的调度方式;
S2,获取标识信息对应的资源信息;
S3,根据资源信息确定GPU的调度方式。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种资源调度方法,其特征在于,包括:
获取服务器的GPU的标识信息,其中,所述标识信息用于标识所述GPU的调度方式;
获取所述标识信息对应的资源信息;
根据所述资源信息确定所述GPU的调度方式。
2.根据权利要求1所述的方法,其特征在于,所述获取服务器的GPU的标识信息之前,所述方法包括:
根据所述GPU资源调度方式标记所述GPU的目标标识信息,其中,所述调度方式包括共享模式和是独享模式,其中,所述目标标识信息包括所述标识信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述标识信息对应的资源信息,包括:
在所述服务器的GPU资源调度方式为共享模式的情况下,获取所述服务器GPU设备显存信息,所述资源信息包括所述服务器GPU设备显存信息;
在所述服务器的GPU资源调度方式为独享模式的情况下,获取所述GPU上报的服务器GPU设备数信息,所述资源信息包括所述服务器GPU设备数信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述资源信息确定所述GPU的调度方式,包括:
在所述服务器的GPU资源调度方式为共享模式的情况下,确定调度的第一服务器GPU,其中,所述第一服务器GPU满足可用总显存满足任务要求;
在所述服务器的GPU资源调度方式为独享模式的情况下,确定调度的第二服务器GPU,其中,所述第二服务器GPU满足可用设备数存满足任务要求。
5.根据权利要求2所述的方法,其特征在于,包括:
在所述服务器的GPU资源调度方式为共享模式的情况下,确定调度的第三服务器GPU,其中,所述第三服务器GPU满足空闲资源满足任务条件、且所剩资源最少的GPU设备;
在所述服务器的GPU资源调度方式为独享模式的情况下,确定调度的第四服务器GPU,其中,所述第四服务器GPU满足空闲GPU设备满足任务条件、且所剩可用GPU设备最少的节点。
6.根据权利要求4所述的方法,其特征在于,所述确定调度的第一服务器GPU之后,所述方法包括:
将多个GPU容器任务分配到同一节点的同一GPU设备,且优先为调度流程完成时间戳最早的容器任务分配GPU设备。
7.根据权利要求4所述的方法,其特征在于,所述确定调度的第二服务器GPU之后,所述方法还包括:
在所述第二服务器GPU调度之前的任务未完成的情况下,当前任务进入调度排队队列,调度重试,直至确定出所述第二服务器GPU。
8.一种资源调度装置,其特征在于,包括:
第一获取单元,用于获取服务器的GPU的标识信息,其中,所述标识信息用于标识所述GPU的调度方式;
第二获取单元,用于获取所述标识信息对应的资源信息;
确定单元,用于根据所述资源信息确定所述GPU的调度方式。
9.根据权利要求8所述的装置,其特征在于,所述装置包括:
标记单元,用于所述获取服务器的GPU的标识信息之前,根据所述GPU资源调度方式标记所述GPU的目标标识信息,其中,所述调度方式包括共享模式和是独享模式,其中,所述目标标识信息包括所述标识信息。
10.根据权利要求9所述的装置,其特征在于,所述第二获取单元,包括:
第一获取模块,用于在所述服务器的GPU资源调度方式为共享模式的情况下,获取所述服务器GPU设备显存信息,所述资源信息包括所述服务器GPU设备显存信息;
第二获取模块,用于在所述服务器的GPU资源调度方式为独享模式的情况下,获取所述GPU上报的服务器GPU设备数信息,所述资源信息包括所述服务器GPU设备数信息。
11.根据权利要求9所述的装置,其特征在于,所述确定单元,包括:
第一确定模块,用于在所述服务器的GPU资源调度方式为共享模式的情况下,确定调度的第一服务器GPU,其中,所述第一服务器GPU满足可用总显存满足任务要求;
第二确定模块,用于在所述服务器的GPU资源调度方式为独享模式的情况下,确定调度的第二服务器GPU,其中,所述第二服务器GPU满足可用设备数存满足任务要求。
12.根据权利要求9所述的装置,其特征在于,包括:
第三确定模块,用于在所述服务器的GPU资源调度方式为共享模式的情况下,确定调度的第三服务器GPU,其中,所述第三服务器GPU满足空闲资源满足任务条件、且所剩资源最少的GPU设备;
第四确定模块,用于在所述服务器的GPU资源调度方式为独享模式的情况下,确定调度的第四服务器GPU,其中,所述第四服务器GPU满足空闲GPU设备满足任务条件、且所剩可用GPU设备最少的节点。
13.根据权利要求11所述的装置,其特征在于,所述装置包括:
调度单元,用于所述确定调度的第一服务器GPU之后,将多个GPU容器任务分配到同一节点的同一GPU设备,且优先为调度流程完成时间戳最早的容器任务分配GPU设备。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589625.8A CN112631780A (zh) | 2020-12-28 | 2020-12-28 | 资源调度方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589625.8A CN112631780A (zh) | 2020-12-28 | 2020-12-28 | 资源调度方法和装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112631780A true CN112631780A (zh) | 2021-04-09 |
Family
ID=75285975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589625.8A Pending CN112631780A (zh) | 2020-12-28 | 2020-12-28 | 资源调度方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631780A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469282A (zh) * | 2021-07-23 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种特征比对方法、装置及*** |
CN113835887A (zh) * | 2021-09-17 | 2021-12-24 | 北京百度网讯科技有限公司 | 显存的分配方法、装置、电子设备及可读存储介质 |
CN113835897A (zh) * | 2021-09-29 | 2021-12-24 | 北京云歌科技有限责任公司 | 一种在分布式计算集群Kubernetes上对GPU资源进行分配使用的方法 |
CN115220921A (zh) * | 2022-09-19 | 2022-10-21 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
CN117421123A (zh) * | 2023-11-03 | 2024-01-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
-
2020
- 2020-12-28 CN CN202011589625.8A patent/CN112631780A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469282A (zh) * | 2021-07-23 | 2021-10-01 | 浙江大华技术股份有限公司 | 一种特征比对方法、装置及*** |
CN113835887A (zh) * | 2021-09-17 | 2021-12-24 | 北京百度网讯科技有限公司 | 显存的分配方法、装置、电子设备及可读存储介质 |
CN113835897A (zh) * | 2021-09-29 | 2021-12-24 | 北京云歌科技有限责任公司 | 一种在分布式计算集群Kubernetes上对GPU资源进行分配使用的方法 |
CN115220921A (zh) * | 2022-09-19 | 2022-10-21 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
CN115220921B (zh) * | 2022-09-19 | 2023-01-03 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
CN117421123A (zh) * | 2023-11-03 | 2024-01-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
CN117421123B (zh) * | 2023-11-03 | 2024-04-19 | 摩尔线程智能科技(上海)有限责任公司 | 一种gpu资源调整方法及***、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631780A (zh) | 资源调度方法和装置、存储介质及电子设备 | |
CN108370341B (zh) | 资源配置方法、虚拟网络功能管理器和网元管理*** | |
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
CN109845303B (zh) | 网络切片的管理方法及管理单元 | |
EP3668009B1 (en) | Network service lifecycle management method and device | |
KR102247993B1 (ko) | 네트워크 슬라이스 관리 방법, 관리 유닛 및 시스템 | |
CN109144478B (zh) | 组件框架***以及组件框架***的使用方法 | |
CN109964507B (zh) | 网络功能的管理方法、管理单元及*** | |
WO2023045467A1 (zh) | 容器cpu资源调度与隔离方法和装置、存储介质及电子设备 | |
CN109729519B (zh) | 数据下载的方法及相关装置 | |
CN109413147B (zh) | 服务节点的管理方法、装置、设备及计算机可读存储介质 | |
CN111443985A (zh) | 实例化虚拟网络功能的方法及设备 | |
CN110505618A (zh) | 一种业务处理方法和服务器 | |
CN107800814B (zh) | 虚拟机部署方法及装置 | |
CN112395075A (zh) | 资源的处理方法、装置以及资源调度*** | |
EP3550775B1 (en) | Resource determination method and device | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN113849260A (zh) | 一种实例的处理核分配方法及装置 | |
CN112748961A (zh) | 启动任务的执行方法和装置 | |
CN111143033B (zh) | 基于可伸缩操作***的操作执行方法及装置 | |
KR20170014804A (ko) | 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 | |
CN110855750B (zh) | 一种软件开发工具包的下载方法及相关设备 | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
CN110716690B (zh) | 数据回收方法和*** | |
CN109218259B (zh) | 许可管理方法及装置、applm功能实体及计算机可读存储介质 |
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 |