CN113419846B - 资源配置方法和装置、电子设备及计算机可读存储介质 - Google Patents

资源配置方法和装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113419846B
CN113419846B CN202110197794.5A CN202110197794A CN113419846B CN 113419846 B CN113419846 B CN 113419846B CN 202110197794 A CN202110197794 A CN 202110197794A CN 113419846 B CN113419846 B CN 113419846B
Authority
CN
China
Prior art keywords
instance
resource
user
instances
resource pool
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
CN202110197794.5A
Other languages
English (en)
Other versions
CN113419846A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110197794.5A priority Critical patent/CN113419846B/zh
Publication of CN113419846A publication Critical patent/CN113419846A/zh
Application granted granted Critical
Publication of CN113419846B publication Critical patent/CN113419846B/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/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
    • 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

本申请公开了一种资源配置方法和装置、电子设备及计算机可读存储介质。该方法包括:根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,其中,所述资源请求至少包括所述用户所请求的存储用量和算力用量,所述分配信息至少包括被分配给所述用户的实例的实例标识;根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定。本申请实施例能够根据用户的资源请求对资源池中的实例进行调度,从而生成资源分配信息并将该分配信息所标识的实例与用户所请求的应用进行绑定,因此,能够更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。

Description

资源配置方法和装置、电子设备及计算机可读存储介质
技术领域
本申请涉及资源配置技术领域,尤其涉及一种资源配置方法和装置、电子设备及计算机可读存储介质。
背景技术
随着人工智能应用的发展,作为人工智能的硬件基础,GPU(图形处理单元)得到了广泛的使用,近年来对于GPU的使用提出了MIG(Multi-Instance-GPU,多实例GPU)技术,该技术由于支持将一个GPU切分为多个相互隔离的MIG实例,从而能够虚拟出多个虚拟GPU来同时运行,每个虚拟GPU都能够拥有自己的显存、高速缓存和流式多处理器,因此能够在确保隔离和服务质量的情况下提供更高的利用率。但是在现有的应用MIG技术中,由于MIG具有比较强的约束条件使得MIG在实际应用于用户时灵活性较差并且还为用户带来了资源的浪费。
因此,需要一种能够提高MIG应用的灵活性和资源利用率的方案。
发明内容
本申请实施例提供一种资源配置方法和装置、电子设备及计算机可读存储介质,以解决现有技术中MIG资源配置不够灵活且资源浪费的缺陷。
为达到上述目的,本申请实施例提供了一种资源配置方法,包括:
根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,其中,所述资源请求至少包括所述用户所请求的存储用量和算力用量,所述分配信息至少包括被分配给所述用户的实例的实例标识;
根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定。
本申请实施例还提供了一种资源配置装置,包括:
调度器,用于根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,其中,所述资源请求至少包括所述用户所请求的存储用量和算力用量,所述分配信息至少包括被分配给所述用户的实例的实例标识;
资源分配模块,用于根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定。
本申请实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本申请实施例提供的资源配置方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本申请实施例提供的资源配置方法。
本申请实施例提供的资源配置方法和装置、电子设备及计算机可读存储介质,能够根据用户的资源请求对资源池中的实例进行调度,从而生成资源分配信息并将该分配信息所标识的实例与用户所请求的应用进行绑定,因此,能够更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的资源配置方案的应用场景示意图;
图2为本申请提供的资源配置方法一个实施例的流程图;
图3为本申请提供的资源配置方法另一个实施例的流程图;
图4为本申请提供的资源配置装置实施例的结构示意图;
图5为本申请提供的电子设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
本申请实施例提供的方案可应用于任何具有资源配置能力的计算系统,例如计算服务器等等。图1为本申请实施例提供的资源配置方案的应用场景示意图,图1所示的场景仅仅是本申请的技术方案可以应用的场景的示例之一。
随着人工智能应用的发展,作为人工智能的硬件基础的GPU(图形处理单元)得到了广泛的使用,特别是近年来基于GPU的计算量的激增导致使用使用多个GPU的需求也随之增加。因此,目前已经提出了MIG(Multi-Instance-GPU,多实例GPU)技术,该技术由于支持将一个GPU切分为多个相互隔离的MIG实例,从而能够虚拟出多个虚拟GPU来同时运行,每个虚拟GPU都能够拥有自己的显存、高速缓存和流式多处理器,因此能够在确保隔离和服务质量的情况下提供更高的利用率。在使用MIG架构时由于涉及到多个计算资源的配置,例如组合等,因此在现有技术中已经提出了在分配MIG资源时使用的Kubernets方案。
例如,现有技术在应用于单一类型的资源扩展类型时,要求节点上的所有GPU都必须属于同一个产品线(例如,GPU的型号为A100-SXM-40G),同时配置有MIG并且所有MIG实例被配置为完全相同,例如,2个实例,其中每个实例使用4个内存单元和3个计算单元(即,算力),或者7个实例,其中每个实例使用1个内存单元和1个计算单元。而对于混合类型的资源扩展类型则需要用户描述每种类型中使用多少显存和算力,同时同样要求节点上的所有GPU必须属于同一个产品线(例如,型号为A100-SXM-40G的GPU)。
因此,这样的Kubernetes方案的基本要求是资源的同构性质,即,对异构资源的支持非常弱,而实际使用中用户的资源需求通常都比较复杂和差异化,即资源需求通常是多种多样的,在这样的情况下,基于Kubernetes方案来使用MIG不仅无法满足用户的真正需求而且会造成用户的资源浪费。
例如,在基于Kubernetes应用MIG的同一个节点上,用户通常只能够申请使用完全相同的异构资源,例如,申请7个显存需求为5GB的MIG实例,或者3个显存需求为10GB的MIG实例,抑或是2个显存需求为20GB的MIG实例。即,虽然MIG在本质上支持多种配置的组合形式的异构资源,但是在实际应用中用户只能使用上述非常有限的几种配置的组合形式,而用户的实际需求却往往是多种多样的,尤其是越来越多的用户对于显存的需求大多为2-3GB,甚至都没有达到MIG的显存最小划分单元,即5GB,因此Kubernetes方案无法应对用户实际使用中的多种多样的资源需求的组合。
此外,Kubernets方案要求静态配置,即在应用前预先对实例进行配置,即一旦确定了MIG实例配置之后,Kubernets方案并不支持实例配置的动态改变,也就是说一旦完成了MIG实例配置,那么在投入使用之后就无法更改或切换MIG实例的配置方案。例如,一旦将MIG实例配置确定为使用显存为5GB的实例,那么在投入使用之后无法将其切换为显存为10GB的配置。
此外,Kubernets方案的最小切分显存粒度为5GB,但是用户的实际使用场景往往仅需要2-3GB的显存,因此在现有的Kubernets方案下显然会给用户带来巨大的资源浪费。
因此,由于现有的Kubernets方案仅从硬件侧考虑,而没有从用户侧出发来考虑实际应用场景,因此在面对当前越来越灵活的实际应用场景带来了上述不灵活且资源浪费的缺陷。
为此,本申请提出了一种新的MIG架构的资源配置方案,如图1中所示,图1示出了根据本申请实施例的资源配置方法的应用场景的示意图。在图1中所示的场景中,用户可以根据自己的需求提交计算任务,在提交计算任务时,通常在计算任务中用户可以指定自己的计算需求。特别地,在使用GPU的人工智能计算中,通常用户的计算需求主要是对使用的显存的需求,例如,在图1中所示的场景中,用户提交的计算任务的资源需求主要体现为需要1GB的显存。因此,在接收到用户的资源需求的情况下,根据本申请实施例的资源配置方法可以将接收到的计算任务所指定的计算资源需求进行拆分和组合,例如,如上所述,根据MIG的规格要求,一个MIG实例的最小内存粒度为5GB,但是通常用户的计算资源需求往往会小于该粒度。因此,在现有技术中直接根据用户1的需要2GB的内存的请求为用户1配置MIG实例时,只能为该用户配置内存为5GB的实例,从而给用户1造成了3GB的资源浪费。但是在本申请实施例中,由于在接收到用户的资源请求之后,能够根据用户的资源请求对资源池中根据实际MIG实例配置创建的实例进行调度,尤其是可以对多个用户的资源请求进行组合后生成与实际MIG实例匹配的虚拟MIG实例来最终使用实际的MIG资源为用户提供计算服务。例如,在接收到请求内存需求为2GB的情况下,如图1中所示,根据本申请的方法在调度步骤可以将该用户1的2GB的内存需求与另外的用户的计算需求或另外的用户2的已经执行的计算任务进行组合,以使得两个用户1和2可以共用一个最小内存粒度,即5GB进行计算,从而与现有技术为这两个用户分别分配5GB的内存,即总计分配了10GB的内存的方案相比,为用户节省了5GB的内存资源。
因此,根据本申请实施例的资源配置方案,能够根据用户的资源请求对资源池中的实例进行调度,从而生成资源分配信息并将该分配信息所标识的实例与用户所请求的应用进行绑定,例如在上述方案中,在接收到用户1的资源请求后,将其所请求的资源与用户2的资源进行组合,从而生成了请求5GB的内存的资源分配信息,该分配信息指示实际的1个MIG实例,因此,根据本申请实施例的资源配置方案就可以将该MIG实例与用户1和2所要求进行的应用1和2进行绑定以使用该MIG实例为用户(其应用)提供服务,因此,能够更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。
上述实施例是对本申请实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本申请实施例具体技术方案进行详细描述。
实施例二
图2为本申请提供的资源配置方法一个实施例的流程图,该方法的执行主体可以为具有资源配置能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该资源配置方法包括如下步骤:
S201,根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息。
在本申请实施例中,可以接收用户根据其将要进行的计算的需要而发送的资源请求信息,或者可以直接从用户提交的计算请求中提取所需的资源信息作为资源请求。在本申请实施例中,资源请求可以至少包括用户所请求的存储用量和算力用量。例如,如图1中所示的,用户1的资源请求为2GB的显存,即存储用量,以及1个处理器的算力用量,而用户2的资源请求可以为3GB的显存,即存储用量,以及1个处理器的算力用量。因此,在步骤S201中,可以根据这样获取到的用户的资源请求来对资源池中的实例进行调度,以生成分配信息。在本申请实施例中,分配信息可以至少包括被分配给所述用户的实例的实例标识。例如,在现有技术中,根据MIG实例来为用户分配实例资源,但是在本申请实施例中,可以根据MIG实例来在资源池中创建实例,从而在该步骤S201中可以在获取到用户的资源请求之后,根据用户所请求的资源,例如,用户1请求了2GB的显存,用户2请求了3GB的显存,而资源池中已经存在显存为5GB,算力为1个处理器的实例,则可以通过步骤S201的调度处理,将该实例分配给用户1和用户2。或者在一些情况下,在接收到用户1的资源请求时,还没有接收到用户2的资源请求,或者在接收到用户1的资源请求之后的预定时间段内都没有接收到其他用户的资源请求,则可以先只为用户1分配该显存为5GB,算力为1个处理器的实例,即,该实例可以称为有状态实例并且该实例实际上仍然空余3GB的显存空间可用,因此,在后续接收到用户2的资源请求时,可以从资源池中对该有状态的实例进行调度以生成将该实例的剩余显存空间分配给用户2的分配信息。
S202,根据分配信息,将被分配给用户的实例与用户的应用进行绑定。
在步骤S201根据用户的资源请求生成了分配信息之后,可以在步骤S202中,将分配信息中指定的实例与用户的应用进行绑定,以便于在节点上执行。例如,如上所述,当在步骤S201中确定为用户1和用户2分配显存为5GB,算力为1个处理器的实例1时,可以在步骤S202中将该实例1与用户1和用户2的资源请求分别对应的应用进行绑定,可以便于在节点上对这两个应用进行处理,或者如上所述,在只为了用户1生成了分配信息时,可以先将分配信息中指定的实例1与用户1的应用绑定,并且在后续收到用户2的资源请求并且为用户2生成了同样指定已经与用户1的应用绑定的实例1的分配信息时,可以在步骤S202中将该实例1再与用户2的资源请求所对应的应用进行绑定,即,将用户2的应用加入到已经分配给用户1的实例1中。因此,通过根据用户的资源请求在资源池中对实例进行调度来生成为用户分配资源的分配信息,可以更加灵活地根据用户的实际需求来对实例进行调度而不是仅机械地以实例为单位为用户分配资源,大大提高了资源分配的灵活性,并且相应地避免了需求不够实例的最小粒度的用户资源需求导致的资源浪费。
此外,在本申请实施例中,资源配置方法可以应用于除图形处理单元(GPU)之外的任何计算资源的配置场景中。例如,本申请的资源配置方法可以应用于包括计算处理单元(CPU)以及内存存储空间的计算机装置。在该计算机装置的资源配置的情况下,资源池中的实例可以由该计算机装置的计算处理单元与内存存储空间构成。特别地,由于计算处理单元可以包含有多个核心,因此可以利用这些核心中的一个或多个来与内存或硬盘存储空间进行组合来构成计算机装置中的资源池中的实例。例如,在计算机装置包括16核心的CPU以及8G内存的情况下,由于CPU的16核心可以彼此独立的工作,并且可以通过总线来与内存进行数据通信,因此,在划分CPU和内存来构成资源池中的实例时,可以非常灵活地根据需要来设置实例的配置。例如,可以根据CPU的核心数量与内存的大小来进行平均划分,即可以为每个实例划分2个核心和1G的内存,从而在资源池中放入8个实例,即实例1-实例8。
因此,步骤S201中可以根据用户使用该计算机装置进行计算的资源请求,例如,请求3个计算单元和2G的存储量来对资源池的8个实例进行调度,例如可以将实例1和实例2分配给该资源请求,从而生成例如2个实例的分配信息,并且该分配信息可以至少包括这两个实例的实例标识,例如实例1和实例2的编号。
因此,在步骤S202中,可以根据步骤S201中生成的这样的分配信息将实例1和实例2与用户所请求的资源对应的应用进行绑定,从而该应用可以使用实例1和实例2的4个核心和2G的内存进行计算。
因此,根据本申请实施例的资源配置方案,能够根据用户的资源请求对资源池中的实例进行调度,从而生成资源分配信息并将该分配信息所标识的实例与用户所请求的应用进行绑定,从而更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。
实施例三
图3为本申请提供的资源配置方法另一个实施例的流程图,该方法的执行主体可以为具有资源配置能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图3所示,该资源配置方法包括如下步骤:
S301,获取节点的实例信息。
在本申请实施例中,在接收用户的资源请求之前,或者在服务器系统初始化时,可以先获取节点的MIG实例信息,例如,该实例信息可以至少包括节点上的图形处理器个数、单个图形处理器上的实例个数、单个实例的资源量。在本申请实施例中,资源量可以包括存储量和算力,即显存的大小和处理器的数量。
S302,根据实例信息,创建资源池。
在步骤S301中获取了节点的实例信息之后,可以在步骤S302中根据所获取的实例信息来创建资源池,以便于在接收到用户的资源请求之后,根据用户请求的资源对资源池中的实例进行调度。
例如,在本申请实施例中,可以根据获取到的实例信息为每个节点创建两个资源池,一个为无状态的MIG实例池(在本申请中称为第一资源池),而另一个为有状态的MIG实例池(在本申请中称为第二资源池。具体地,在本申请实施例中,无状态的MIG实例池可以表示在该实例池中,所有的实例配置相同,例如,显存都为5GB,并且该实例池中的MIG实例可以不与任何应用(pod)相关,因此,如上所述,在根据用户的资源请求为用户调度实例时,可以直接将该实例池中的无状态的实例分配给用户或者如上所述,分配给用户的组合,例如,用户1和用户2的组合。有状态的MIG实例池可以表示在该实例池中,实例的配置不尽相同,并且每个实例都与应用(pod)相关,特别地,在本申请实施例中,每个实例可以与多个应用(pod)相关。即,该有状态的实例池中的实例都已经与各自的具体应用(pod)关联,因此无法进行拆分和组合。即,如上所述,在先为用户1分配了显存为5G的实例1的情况下,该实例1就变为有状态的实例,并且被放入到有状态的实例池中,并且在接收到用户2的资源请求时,可以从有状态的实例池中进行搜寻,例如,找到该实例1,并且进一步将该实例1分配给用户2,即与用户2的应用进行绑定。
因此,在本申请实施例中,在初始化时,即在创建实例池时,无状态的实例池可以时满的,即充满了待分配的实例,而有状态的实例池是空的,即还没有与应用绑定的实例,因此还没有有状态的实例被放入到该有状态的实例池中。
S303,查询第二资源池是否为空。
在本申请实施例中,在根据获取到的节点的实例信息创建了第一资源池和第二资源池之后,在接收到用户的资源请求时,可以先在步骤S303中查询第二资源池,即有状态的实例池是否为空。具体地,如果查询结果表示第二资源池不为空,即存在已经与某个应用绑定的实例,则可以进一步查询第二资源池中的实例的空闲资源是否满足资源请求,如果满足,则将空闲资源满足资源请求的实例分配给用户。例如,如图1中所示的情况,在接收到用户1的资源请求时,还没有接收到用户2的资源请求,或者在接收到用户1的资源请求之后的预定时间段内都没有接收到其他用户的资源请求,则可以仅根据用户1的资源请求来为用户1分配该显存为5GB,算力为1个处理器的实例1,即,该实例1变为有状态实例,并且被放入到第二资源池中,在该情况下,由于用户1的应用仅需要使用2GB的显存,因此该实例1实际上仍然空余3GB的显存空间可用,即,仍存在3GB的空闲资源。因此,在后续接收到用户2的资源请求时,可以在步骤S303中通过查询第二资源池中的有状态实例来找到该实例1,并且将该实例的剩余显存空间分配给用户2的应用。
此外,当在步骤S303中查询结果表示第二资源池为空,即还没有为任何用户分配实例,或者所述第二资源池中的实例的空闲资源不满足所述资源请求,即如图1中所示的情况,在为用户1分配了显存为5GB的实例1之后,如果用户2的资源请求是请求显存为4GB的实例,则通过步骤S303的查询确定第二资源池中已经变为有状态的实例的实例1的剩余资源不足以满足用户2的资源需求,则可以查询第一资源池中的一个实例或多个实例的组合是否满足资源请求,如果满足,则将满足资源请求的一个实例或多个实例的组合分配给用户。例如,在第二资源池中没有已经分配给用户的实例或者第二资源池中的实例1的剩余资源不足以满足用户2的资源请求时,可以从第一资源池,即,无状态的实例池中选择适合的实例来为用户2创建一个实例。即,在该情况下,可以从第一资源池中再次选择一个5GB的实例分配给用户,并且将该实例变为有状态的实例2,以放入到第二资源池中。
S304,根据分配信息,将被分配给用户的实例与用户的应用进行绑定。
在步骤S303根据用户的资源请求生成了分配信息之后,可以在步骤S304中,将分配信息中指定的实例与用户的应用进行绑定,以便于在节点上执行。例如,如上所述,当在步骤S303中确定为用户2分配实例2时,可以在步骤S304中将该实例2与用户2的资源请求对应的应用进行绑定,可以便于在节点上对这个应用进行处理,或者如上所述,在只为了用户1生成了分配信息时,可以先将分配信息中指定的实例1与用户1的应用绑定,并且在后续收到用户2的资源请求并且通过步骤S303的查询确定可以使用已经分配给用户1的实例1来为用户2使用时,可以在步骤S304中将该实例1再与用户2的资源请求所对应的应用进行绑定,即,将用户2的应用加入到已经分配给用户1的实例1中。
S305,将第一资源池中已与用户的应用绑定的实例放入第二资源池。
在本申请实施例中,在步骤S304中将从第一资源池中选择的实例与用户的应用绑定之后,可以将其放入第二资源池。例如,如上所述,在初始化之后,第一资源池为满的无状态的实例,并且第二资源池为空,因此当接收到用户1的资源请求时,通过步骤S303的查询确定第二资源池中尚无可用的实例,因此可以从第一资源池中的无状态实例中选择例如实例1作为为用户1分配的实例,并且在步骤S304中将该实例1与用户1的应用绑定,并且因此该实例1变为有状态的实例,从而在步骤S305中可以将其放入到第二资源池中,并且当接收到用户2的资源请求时,在步骤S303确定第二资源池中的实例1不能满足用户2的资源请求时,在步骤S304中为用户2从第一资源池的实例中分配了实例2给用户2使用,并且将该实例2与用户2的应用绑定,因此在步骤S305中可以将该绑定后的实例2作为有状态的实例放入到第二资源池中,因此,在该情况下,在第二资源池中就存在两个有状态的实例1和2,分别具有3GB和1GB的空闲资源。
S306,当资源请求小于或等于单个实例的资源量,且查询到多个满足资源请求的实例时,将实例标识最大的实例分配给用户。
如上所述,当在步骤S305将为用户2创建的实例2放入到第二资源池中之后,第二资源池中就存在两个有状态的实例1和2,分别具有3GB和1GB的空闲资源。因此,当接收到用户3的1GB的资源请求时,在步骤S303中就会查询到实例1和实例2都可以用于分配给用户3使用,这时,可以根据实例1和2的实例标识来将后创建的实例2优先分配给用户3使用,即由于实例1已经在运行了一段时间,因此与刚分配给用户2使用的实例2相比,实例1很可能会先于实例2结束被分配的计算任务,从而可以将资源释放出来,即实例1可以变为无状态的实例被放回到第一资源池中供调度使用。因此,在该情况下,优先将最晚创建的实例2分配给用户3使用,即将实例标识最大的实例分配给用户,从而能够提高资源的利用率。
S307,当资源请求大于单个实例的资源量,且查询到多个满足资源请求的实例组合时,将实例标识最小的实例组成的实例组合分配给用户。
当用户请求的资源大于第一资源池中单个的实例规格时,在步骤S303可以为用户从第一资源池中选择多个实例进行组合以生成实例组合调度给用户使用,并且将该实例组合与用户的应用绑定之后在步骤S304放入到第二资源池中。例如,在步骤S303为请求7GB的用户4创建了实例1和实例2的组合的分配信息,并且在步骤S304将实例1和实例2均与用户4的应用绑定并放入到第二资源池中之后,又接收到请求2GB的用户5的资源请求时,在步骤S303中可以通过查询确定在第二资源池中实例1和实例2的组合以及实例3和4的组合都存在空闲资源可以分配给用户5,这时,在步骤S307中可以根据组合的实例的标识来选择将哪个实例组合分配给用户5。例如,实例1和2的组合已经运行了一段时间,因此,在步骤S307中可以选择实例标识最小的实例1和实例2的组合作为分配给用户5的应用使用的实例组合。因此,在该情况下,优先将最先创建的实例1和2的组合分配给用户5使用,即将实例组合的表示最小的实例组合分配给用户,从而能够提高资源的利用率。
此外,在本申请实施例中,可以将步骤S304中将实例与应用进行的绑定作为资源的预分配结果存储到该应用的应用信息中,并且可以将该应用信息统一发送到硬件管理模块,并且硬件管理模块可以根据整个服务器的运行情况或者应用的运行情况等来在适合的时间来在节点上为该应用创建真正的实例实体。
例如,在本申请实施例中,当步骤S304中将实例与应用进行绑定之后,该绑定事件或绑定信息可以发送给例如Kubelet的管理模块,从而管理模块可以先获取被绑定的实例所在的节点上具有第一状态的应用的列表。在本申请实施例中,该第一状态可以是待执行和/或该应用未被分配有实例的状态。
当获取到具有上述第一状态的应用的列表,即多个应用时,可以进一步从这些应用中确定至少一个满足第一条件的待分配应用作为第一应用。例如,在本申请实施例中,该第一条件可以例如是绑定信息中的存储用量与应用当前请求的存储用量一致。即,在该步骤可以确定预分配的应用是否就是当前正在为其创建实例实体的应用。当然,在本申请实施例中,由于管理模块可以在接收到多个绑定信息之后才进行实例实体的创建,因此,可能会在该步骤中找到多个满足这样的第一条件的待分配应用,即碰巧可能存在多个请求的存储用量或算力相同的应用。因此,在该情况下,可以进一步获取绑定的时间,并且例如可以选择绑定时间最早的应用作为当前要为其创建实例实体的应用作为第一应用。
之后,可以进一步确定在第二资源池中是否已经存在该第一应用所请求的实例。即,在有状态的实例中是否存在可以满足该第一应用的需求的实例,并且进而将该实例可以直接分配给该应用使用。如果在当前有状态的实例中并不存在可以分配给该应用的实例,则可以从第一资源池,即无状态的实例中选择实例来为该应用创建所需的实例,并且将其放入到第二资源池作为有状态实例以分配给该应用使用。
因此,根据本申请实施例的资源配置方案,能够将实例分为有状态的实例和无状态的实例并相应地建立两个资源池,从而在根据用户的资源请求对资源池中的实例进行调度时,可以先从已与用户的应用绑定的实例中选择有空闲资源的实例分配给用户使用,并且还能够在选择单一实例时优先选择最后绑定的实例而在选择实例组合时选择最先绑定的实例组合从而更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。
实施例四
图4为本申请提供的资源配置装置实施例的结构示意图,可用于执行如图2和图3所示的方法步骤。如图4所示,该资源配置装置可以包括:调度器41和资源分配模块42。
调度器41可以用于根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息。
在本申请实施例中,资源配置装置可以接收用户根据其将要进行的计算的需要而发送的资源请求信息,或者可以直接从用户提交的计算请求中提取所需的资源信息作为资源请求。在本申请实施例中,资源请求可以至少包括用户所请求的存储用量和算力用量。例如,如图1中所示的,用户1的资源请求为2GB的显存,即存储用量,以及1个处理器的算力用量,而用户2的资源请求可以为3GB的显存,即存储用量,以及1个处理器的算力用量。因此,根据本申请的调度器41可以根据这样获取到的用户的资源请求来对资源池中的实例进行调度,以生成分配信息。在本申请实施例中,分配信息可以至少包括被分配给所述用户的实例的实例标识。例如,在现有技术中,根据MIG实例来为用户分配实例资源,但是在本申请实施例中,可以根据MIG实例来在资源池中创建实例,从而资源配置装置可以在获取到用户的资源请求之后,由调度器41根据用户所请求的资源,例如,用户1请求了2GB的显存,用户2请求了3GB的显存,而资源池中已经存在显存为5GB,算力为1个处理器的实例,则调度器41可以通过调度处理,将该实例分配给用户1和用户2。或者在一些情况下,在接收到用户1的资源请求时,还没有接收到用户2的资源请求,或者在接收到用户1的资源请求之后的预定时间段内都没有接收到其他用户的资源请求,则调度器41可以先只为用户1分配该显存为5GB,算力为1个处理器的实例,即,该实例可以称为有状态实例并且该实例实际上仍然空余3GB的显存空间可用,因此,在后续接收到用户2的资源请求时,可以从资源池中对该有状态的实例进行调度以生成将该实例的剩余显存空间分配给用户2的分配信息。
资源分配模块42可以用于根据分配信息,将被分配给用户的实例与用户的应用进行绑定。
在调度器41根据用户的资源请求生成了分配信息之后,资源分配模块42可以将分配信息中指定的实例与用户的应用进行绑定,以便于在实际节点上执行。
此外,在本申请实施例中,资源分配模块42可以进一步包括实例信息获取单元421,该实例信息获取单元421可以用于获取节点的实例信息。
在本申请实施例中,在接收用户的资源请求之前,或者在服务器系统初始化时,可以先由实例信息获取单元421获取节点的MIG实例信息。具体地,如图1中所示,由于资源分配模块42直接面对实例层,因此,可以通过实例信息获取单元421来获得实例层上报的实例信息。例如,该实例信息可以至少包括节点上的图形处理器个数、单个图形处理器上的实例个数、单个实例的资源量。在本申请实施例中,资源量可以包括存储量和算力,即显存的大小和处理器的数量。
因此,调度器41可以进一步包括资源池创建单元411,用于根据实例信息,创建资源池。
实例信息获取单元421获取了节点的实例信息之后,可以通信给资源池创建单元411,以便于根据实例信息获取单元421所获取的实例信息来创建资源池,从而在接收到用户的资源请求之后,调度器41可以根据用户请求的资源对资源池中的实例进行调度。
例如,在本申请实施例中,如图1中所示,资源池创建单元411可以根据从实例信息获取单元421获取的实例信息为每个节点创建两个资源池,一个为无状态的MIG实例池(在本申请中称为第一资源池),而另一个为有状态的MIG实例池(在本申请中称为第二资源池。具体地,在本申请实施例中,无状态的MIG实例池可以表示在该实例池中,所有的实例配置相同,例如,显存都为5GB,并且该实例池中的MIG实例可以不与任何应用(pod)相关,因此,如上所述,在根据用户的资源请求为用户调度实例时,可以直接将该实例池中的无状态的实例分配给用户或者如上所述,分配给用户的组合,例如,用户1和用户2的组合。有状态的MIG实例池可以表示在该实例池中,实例的配置不尽相同,并且每个实例都与应用(pod)相关,特别地,在本申请实施例中,每个实例可以与多个应用(pod)相关。即,该有状态的实例池中的实例都已经与各自的具体应用(pod)关联,因此无法进行拆分和组合。即,如上所述,在先为用户1分配了显存为5G的实例1的情况下,该实例1就变为有状态的实例,并且被放入到有状态的实例池中,并且在接收到用户2的资源请求时,可以从有状态的实例池中进行搜寻,例如,找到该实例1,并且进一步将该实例1分配给用户2,即与用户2的应用进行绑定。
因此,在本申请实施例中,在初始化时,即在创建实例池时,无状态的实例池可以时满的,即充满了待分配的实例,而有状态的实例池是空的,即还没有与应用绑定的实例,因此还没有有状态的实例被放入到该有状态的实例池中。
此外,根据本申请实施例,资源分配模块42可以进一步包括查询单元422,用于查询第二资源池是否为空。
在本申请实施例中,在资源池创建单元411根据从实例信息获取单元421获取到的节点的实例信息创建了第一资源池和第二资源池之后,资源配置模块在接收到用户的资源请求时,查询单元422可以先查询第二资源池,即有状态的实例池是否为空。具体地,如果查询结果表示第二资源池不为空,即存在已经与某个应用绑定的实例,则可以进一步查询第二资源池中的实例的空闲资源是否满足资源请求,如果满足,则调度器41可以将空闲资源满足资源请求的实例分配给用户。例如,如图1中所示的情况,在接收到用户1的资源请求时,还没有接收到用户2的资源请求,或者在接收到用户1的资源请求之后的预定时间段内都没有接收到其他用户的资源请求,则调度器可以仅根据用户1的资源请求来为用户1分配该显存为5GB,算力为1个处理器的实例1,即,该实例1变为有状态实例,并且调度器41将其放入到第二资源池中,在该情况下,由于用户1的应用仅需要使用2GB的显存,因此该实例1实际上仍然空余3GB的显存空间可用,即,仍存在3GB的空闲资源。因此,在后续接收到用户2的资源请求时,查询单元422通过查询第二资源池中的有状态实例来找到该实例1,并且调度器41可以将该实例的剩余显存空间分配给用户2的应用。
此外,当查询单元422的查询结果表示第二资源池为空,即还没有为任何用户分配实例,或者所述第二资源池中的实例的空闲资源不满足所述资源请求,即如图1中所示的情况,在调度器41为用户1分配了显存为5GB的实例1之后,如果用户2的资源请求是请求显存为4GB的实例,并且查询单元422的查询结果确定第二资源池中已经变为有状态的实例的实例1的剩余资源不足以满足用户2的资源需求,则可以查询第一资源池中的一个实例或多个实例的组合是否满足资源请求,如果满足,则调度器41将满足资源请求的一个实例或多个实例的组合分配给用户。例如,在第二资源池中没有已经分配给用户的实例或者第二资源池中的实例1的剩余资源不足以满足用户2的资源请求时,调度器可以从第一资源池,即,无状态的实例池中选择适合的实例来为用户2分配一个实例。即,在该情况下,可以从第一资源池中再次选择一个5GB的实例分配给用户,并且将该实例变为有状态的实例2,以放入到第二资源池中。
因此,通过根据用户的资源请求在资源池中对实例进行调度来生成为用户分配资源的分配信息,可以更加灵活地根据用户的实际需求来对实例进行调度而不是仅机械地以实例为单位为用户分配资源,大大提高了资源分配的灵活性,并且相应地避免了需求不够实例的最小粒度的用户资源需求导致的资源浪费。
此外,在本申请实施例中,在资源分配模块42将从第一资源池中选择的实例与用户的应用绑定之后,调度器41可以将其放入第二资源池。例如,如上所述,在初始化之后,第一资源池为满的无状态的实例,并且第二资源池为空,因此当接收到用户1的资源请求时,查询单元422通过查询确定第二资源池中尚无可用的实例,因此调度器41可以从第一资源池中的无状态实例中选择例如实例1作为为用户1分配的实例,并且资源分配模块42可以将该实例1与用户1的应用绑定,并且因此该实例1变为有状态的实例,从而调度器41可以将其放入到第二资源池中,并且当接收到用户2的资源请求时,查询单元422确定第二资源池中的实例1不能满足用户2的资源请求时,在调度器41为用户2从第一资源池的实例中分配了实例2给用户2使用,并且资源分配模块42将该实例2与用户2的应用绑定,因此调度器41可以将该绑定后的实例2作为有状态的实例放入到第二资源池中,因此,在该情况下,在第二资源池中就存在两个有状态的实例1和2,分别具有3GB和1GB的空闲资源。
因此,调度器41可以进一步用于当资源请求小于或等于单个实例的资源量,且查询到多个满足所述资源请求的实例时,将实例标识最大的实例分配给所述用户。
如上所述,当调度器41将为用户2创建的实例2放入到第二资源池中之后,第二资源池中就存在两个有状态的实例1和2,分别具有3GB和1GB的空闲资源。因此,当接收到用户3的1GB的资源请求时,查询单元422就会查询到实例1和实例2都可以用于分配给用户3使用,这时,调度器41可以根据实例1和2的实例标识来将后创建的实例2优先分配给用户3使用,即由于实例1已经在运行了一段时间,因此与刚分配给用户2使用的实例2相比,实例1很可能会先于实例2结束被分配的计算任务,从而可以将资源释放出来,即实例1可以变为无状态的实例被放回到第一资源池中供调度使用。因此,在该情况下,优先将最晚创建的实例2分配给用户3使用,即将实例标识最大的实例分配给用户,从而能够提高资源的利用率。
此外,调度器41可以进一步用于当资源请求大于单个实例的资源量,且查询到多个满足资源请求的实例组合时,将实例标识最小的实例组成的实例组合分配给用户。
当用户请求的资源大于第一资源池中单个的实例规格时,调度器41可以为用户从第一资源池中选择多个实例进行组合以生成实例组合调度给用户使用,并且资源分配模块42将该实例组合与用户的应用绑定之后由调度器41放入到第二资源池中。例如,调度器41为请求7GB的用户4创建了实例1和实例2的组合的分配信息,并且资源分配模块42将实例1和实例2均与用户4的应用绑定并放入到第二资源池中之后,又接收到请求2GB的用户5的资源请求时,查询模块422可以通过查询确定在第二资源池中实例1和实例2的组合以及实例3和4的组合都存在空闲资源可以分配给用户5,这时,调度器41可以根据组合的实例的标识来选择将哪个实例组合分配给用户5。例如,实例1和2的组合已经运行了一段时间,因此,调度器41可以选择实例标识最小的实例1和实例2的组合作为分配给用户5的应用使用的实例组合。因此,在该情况下,调度器41优先将最先创建的实例1和2的组合分配给用户5使用,即将实例组合的表示最小的实例组合分配给用户,从而能够提高资源的利用率。
因此,根据本申请实施例的资源配置方案,能够将实例分为有状态的实例和无状态的实例并相应地建立两个资源池,从而在根据用户的资源请求对资源池中的实例进行调度时,可以先从已与用户的应用绑定的实例中选择有空闲资源的实例分配给用户使用,并且还能够在选择单一实例时优先选择最后绑定的实例而在选择实例组合时选择最先绑定的实例组合从而更加更加灵活地响应用户的资源配置需求,并且能够提高实际使用的资源的利用率。
实施例五
以上描述了资源配置装置的内部功能和结构,该装置可实现为一种电子设备。图5为本申请提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。
存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器52,不仅仅局限于中央处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器52,与存储器51耦合,执行存储器51所存储的程序,该程序运行时执行上述实施例二和三的资源配置方法。
进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。
显示器56包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种针对多个相互隔离的多实例GPU(MIG)实例的资源配置方法,包括:
获取基于Kubernetes应用MIG的节点的实例信息,其中,所述实例信息至少包括所述节点上的处理器个数、单个处理器的实例个数、单个实例的资源量,其中,所述资源量包括物理计算实体中分配给单个实例的存储量和处理器个数或单个处理器的核心数量;
根据所述实例信息,创建资源池;
根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,其中,所述资源请求至少包括所述用户所请求的存储用量和算力用量,所述分配信息至少包括被分配给所述用户的实例的实例标识;
根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定,
其中,所述根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,包括:
查询所述资源池中已绑定应用的实例的包括空闲处理器或处理器核心数量以及存储空间的空闲资源是否满足所述资源请求,如果满足,则将空闲资源满足所述资源请求的实例分配给所述用户;
如果空闲资源不满足所述资源请求,则查询未绑定应用的一个实例或多个实例的组合是否满足所述资源请求,如果满足,则将满足所述资源请求的一个实例或多个实例的组合分配给所述用户。
2.根据权利要求1所述的资源配置方法,其中,所述资源池包括位于各个节点上的图形处理器的计算资源和存储资源。
3.根据权利要求2所述的资源配置方法,其中,所述实例为通过对一个图形处理单元进行切分而虚拟出的多个彼此相互隔离的虚拟图形处理单元,并且所述存储用量为所述图形处理单元的存储空间的大小的至少一部分。
4.根据权利要求1所述的资源配置方法,其中,在所述根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息之前,还包括:
获取节点的实例信息,其中,所述实例信息至少包括所述节点上的图形处理器个数、单个图形处理器上的实例个数、单个实例的资源量,其中,所述资源量包括存储量和算力;
根据所述实例信息,创建资源池。
5.根据权利要求2所述的资源配置方法,其中,所述资源池包括第一资源池和第二资源池,其中,所述第一资源池中为未绑定应用的实例,所述第二资源池中为已绑定应用的实例。
6.根据权利要求5所述的资源配置方法,其中,所述第一资源池中均为资源量相同的实例。
7.根据权利要求5所述的资源配置方法,其中,所述根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,包括:
查询所述第二资源池是否为空,如果所述第二资源池不为空,则查询所述第二资源池中的实例的空闲资源是否满足所述资源请求,如果满足,则将空闲资源满足所述资源请求的实例分配给所述用户;
如果所述第二资源池为空,或者所述第二资源池中的实例的空闲资源不满足所述资源请求,则查询所述第一资源池中的一个实例或多个实例的组合是否满足所述资源请求,如果满足,则将满足所述资源请求的一个实例或多个实例的组合分配给所述用户。
8.根据权利要求5所述的资源配置方法,其中,在所述根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定之后,包括:
将所述第一资源池中已与所述用户的应用绑定的实例放入所述第二资源池。
9.根据权利要求4所述的资源配置方法,其中,当所述资源请求小于或等于单个实例的资源量,且查询到多个满足所述资源请求的实例时,将实例标识最大的实例分配给所述用户。
10.根据权利要求4所述的资源配置方法,其中,当所述资源请求大于单个实例的资源量,且查询到多个满足所述资源请求的实例组合时,将实例标识最小的实例组成的实例组合分配给所述用户。
11.根据权利要求5所述的资源配置方法,其中,所述方法进一步包括:
响应于所述绑定,获取被绑定的实例所在的节点上具有第一状态的应用的列表;
从所述列表中的多个应用中确定至少一个满足第一条件的待分配应用作为第一应用;
确定所述第一应用所请求的实例是否是所述第二资源池中的实例;
根据所述确定的结果,将所述第二资源池中的实例分配给所述第一应用。
12.根据权利要求11所述的资源配置方法,其中,所述方法进一步包括:
从所述满足第一条件的待分配应用中选择绑定实例的时间最早的应用作为所述第一应用。
13.根据权利要求12所述的资源配置方法,其中,所述方法进一步包括:
根据所述待分配应用的资源量需求,从所述第一资源池的实例中创建一个或多个实例的组合实例,以将所述组合实例放入到所述第二资源池中作为待分配给所述第一应用的实例。
14.一种针对多个相互隔离的多实例GPU(MIG)实例的资源配置装置,包括:
调度器,用于根据用户的资源请求,对资源池中的实例进行调度,以生成分配信息,其中,所述资源请求至少包括所述用户所请求的存储用量和算力用量,所述分配信息至少包括被分配给所述用户的实例的实例标识;
资源分配模块,用于根据所述分配信息,将被分配给所述用户的实例与所述用户的应用进行绑定,
所述资源分配模块包括:实例信息获取单元,用于获取基于Kubernetes应用MIG的节点的实例信息,其中,所述实例信息至少包括所述节点上的图形处理器个数、单个图形处理器上的实例个数、单个实例的资源量,其中,所述资源量包括存储量和算力,并且
所述调度器包括:资源池创建单元,用于根据所述实例信息,创建资源池,
所述调度器进一步用于,查询所述资源池中已绑定应用的实例的包括空闲处理器或处理器核心数量以及存储空间的空闲资源是否满足所述资源请求,如果满足,则将空闲资源满足所述资源请求的实例分配给所述用户;
如果空闲资源不满足所述资源请求,则查询未绑定应用的一个实例或多个实例的组合是否满足所述资源请求,如果满足,则将满足所述资源请求的一个实例或多个实例的组合分配给所述用户。
15.根据权利要求14所述的资源配置装置,其中,所述资源池包括第一资源池和第二资源池,其中,所述第一资源池中为未绑定应用的实例,所述第二资源池中为已绑定应用的实例。
16.根据权利要求15所述的资源配置装置,其中,所述资源分配模块,包括:
查询单元,用于查询所述第二资源池是否为空,并且
如果所述第二资源池不为空,则所述查询单元进一步用于查询所述第二资源池中的实例的空闲资源是否满足所述资源请求,如果满足,则所述资源分配模块将空闲资源满足所述资源请求的实例分配给所述用户;
如果所述第二资源池为空,或者所述第二资源池中的实例的空闲资源不满足所述资源请求,则所述查询单元进一步用于查询所述第一资源池中的一个实例或多个实例的组合是否满足所述资源请求,如果满足,则所述资源分配模块将满足所述资源请求的一个实例或多个实例的组合分配给所述用户。
17.根据权利要求15所述的资源配置装置,其中,所述调度器进一步用于:
将所述第一资源池中已与所述用户的应用绑定的实例放入所述第二资源池。
18.根据权利要求16所述的资源配置装置,其中,所述调度器进一步用于:当所述资源请求小于或等于单个实例的资源量,且查询到多个满足所述资源请求的实例时,将实例标识最大的实例分配给所述用户。
19.根据权利要求16所述的资源配置装置,其中,所述调度器进一步用于:当所述资源请求大于单个实例的资源量,且查询到多个满足所述资源请求的实例组合时,将实例标识最小的实例组成的实例组合分配给所述用户。
20.一种电子设备,其中,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行如权利要求1至13中任一所述的资源配置方法。
21.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如权利要求1至13中任一所述的资源配置方法。
CN202110197794.5A 2021-02-22 2021-02-22 资源配置方法和装置、电子设备及计算机可读存储介质 Active CN113419846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110197794.5A CN113419846B (zh) 2021-02-22 2021-02-22 资源配置方法和装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110197794.5A CN113419846B (zh) 2021-02-22 2021-02-22 资源配置方法和装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113419846A CN113419846A (zh) 2021-09-21
CN113419846B true CN113419846B (zh) 2023-06-06

Family

ID=77711773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110197794.5A Active CN113419846B (zh) 2021-02-22 2021-02-22 资源配置方法和装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113419846B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114185688B (zh) * 2022-02-14 2023-03-10 维塔科技(北京)有限公司 物理资源占用状态的矫正方法、调度器及可读存储介质
CN116939713A (zh) * 2022-04-02 2023-10-24 维沃移动通信有限公司 信息反馈方法、装置及设备
CN116737397A (zh) * 2023-08-15 2023-09-12 北京麟卓信息科技有限公司 一种基于嵌入式平台的算力柔性组合方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058987A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于对计算系统进行追踪的方法、设备和计算机可读介质
CN112148489A (zh) * 2020-09-22 2020-12-29 网易(杭州)网络有限公司 游戏资源调度方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210258265A1 (en) * 2020-12-26 2021-08-19 Intel Corporation Resource management for components of a virtualized execution environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058987A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于对计算系统进行追踪的方法、设备和计算机可读介质
CN112148489A (zh) * 2020-09-22 2020-12-29 网易(杭州)网络有限公司 游戏资源调度方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
vSphere 7 with Multi-Instance GPUs (MIG) on the NVIDIA A100 for Machine Learning Applications - Part 1_ Introduction - Virtualize Applications;Justin Murray;《https://blogs.vmware.com/apps/2020/09/vsphere-7-0-u1-with-multi-instance-gpus-mig-on-the-nvidia-a100-for-machine-learning-applications-part-1-introduction.html》;VMWARE;第1-6页 *

Also Published As

Publication number Publication date
CN113419846A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN113419846B (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
CN110032447B (zh) 用于分配资源的方法和装置
US9229764B2 (en) Estimating migration costs for migrating logical partitions within a virtualized computing environment based on a migration cost history
US11553034B2 (en) Server computer management system for supporting highly available virtual desktops of multiple different tenants
US8694996B2 (en) Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment
CN103067468B (zh) 云调度方法及其系统
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
WO2016101799A1 (zh) 一种基于分布式系统的业务分配方法及装置
CN112825042A (zh) 资源管理方法和装置、电子设备及存储介质
WO2023000673A1 (zh) 硬件加速器设备管理方法、装置及电子设备和存储介质
CN112463375A (zh) 一种数据处理的方法和装置
CN106790332B (zh) 一种资源调度方法、系统及主节点
WO2014183417A1 (zh) 管理内存的方法、装置和系统
CN113342534A (zh) 图形处理资源调配方法、装置、设备及存储介质
CN114072767B (zh) 资源调度、申请与定价方法、设备、系统及存储介质
CN102122268B (zh) 一种虚拟机内存分配访问方法、装置和系统
CN105677481A (zh) 一种数据处理方法、系统及电子设备
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CN105245819B (zh) 一种多点控制单元资源的调度方法及装置
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
CN109412973B (zh) 一种音频处理方法、装置及存储介质
CN113296921B (zh) 云资源调度方法、节点、系统及存储介质
KR20160063430A (ko) 가상머신 리소스 사전예약을 통한 가용 리소스 자원 관리 및 할당 방법
CN112817691B (zh) 资源分配方法、装置、设备及介质
CN115168057B (zh) 基于k8s集群的资源调度方法及装置

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059906

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant