CN114564299A - 资源调度方法、装置及系统 - Google Patents
资源调度方法、装置及系统 Download PDFInfo
- Publication number
- CN114564299A CN114564299A CN202011526168.8A CN202011526168A CN114564299A CN 114564299 A CN114564299 A CN 114564299A CN 202011526168 A CN202011526168 A CN 202011526168A CN 114564299 A CN114564299 A CN 114564299A
- Authority
- CN
- China
- Prior art keywords
- quota
- resource
- resources
- policy
- computing device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 235000019580 granularity Nutrition 0.000 claims description 171
- 238000012545 processing Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 238000000638 solvent extraction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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/5083—Techniques for rebalancing the load in a distributed system
-
- 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]
-
- 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
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
本申请公开了一种资源调度方法、装置及系统,属于云计算领域。所述方法包括:以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额;按照所述第一资源配额,从所述计算设备的所述资源中为所述第一负载分配部分资源。本申请能够提高资源调度的灵活性。本申请用于云计算系统的资源调度。
Description
本申请要求于2020年11月27日提交的申请号为202011375931.1、发明名称为“资源配置的方法、装置、服务器及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算领域,特别涉及一种资源调度方法、装置及系统。
背景技术
云计算(cloud computing)系统是一种通过网络向用户提供计算服务的系统。
目前的云计算系统中,将资源划分为多个资源池(Resources Pool),每个资源池包括一个或多个计算设备,每个资源池配置有配额策略,该配额策略用于描述使用对应的资源池中资源的负载的配额。在进行资源调度时,按照该配额策略为负载分配资源。
但是,目前由于仅以资源池为粒度获取负载的资源配额,并基于该资源配额为负载分配资源,因此,资源调度的灵活性较低。
发明内容
本申请实施例提供了一种资源调度方法、装置及系统。该技术方案如下:
第一方面提供一种资源调度方法,该资源调度方法可以由资源管理系统中的调度器执行,该方法包括:
以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额;按照该第一资源配额,从该计算设备的资源中为该第一负载分配部分资源。
本申请实施例提供的资源调度方法,可以按照计算设备内的一个资源为粒度为负载确定资源配额,并基于该资源配额从计算设备的资源中为负载分配部分资源,从而实现以计算设备内的一个资源为粒度来进行资源配额的获取,提高资源调度的灵活性。
在一种可选实现方式中,调度器可以直接以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额。
在另一种可选方式中,调度器可以按照资源配额策略,以位于该计算设备内的资源为粒度为该第一负载确定该第一资源配额。
在本申请实施例中,资源配额策略为层级架构,该资源配额策略包括一层或多层配额策略。该一层或多层配额策略包括至少一个配额策略,例如,每层配额策略包括至少一个配额策略,每个配额策略对应一组资源。每个配额策略用于描述使用其对应的一组资源的负载的配额。可选地,每层配额策略所对应的粒度相同,不同层配额策略所对应的粒度不同。在本申请实施例中,该一层或多层配额策略所对应的粒度至少包括位于计算设备内的一个资源这一粒度,从而保证后续为待分配资源的负载分配细粒度的资源配额。
其中,计算设备内的资源包括如下至少一种:非统一内存访问(Non UniformMemory Access,NUMA)节点、虚拟CPU(virtual Central Processing Unit,VCPU)、存储器或对象数。
当该资源配额策略包括多层配额策略时,该多层配额策略可以有多种实现方式。本申请实施例以以下几种实现方式为例进行说明,在此基础上的简单变化仍然属于本申请的保护范围内。
在一种可选实现方式中,该多层配额策略包括三层配额策略。该三层配额策略对应如下三种粒度:包括计算设备的资源池;计算设备;和该计算设备内的资源。
在另一种可选实现方式中,该多层配额策略包括四层配额策略。该四层配额策略对应如下四种粒度:包括计算设备的资源池;计算设备;NUMA节点以及第二单元,该第二单元包括VCPU、存储器和/或对象数。
该多层配额策略还可以包括两层配额策略或五层配额策略,本申请实施例对配额策略的层数不做限定。
前述一层或多层配额策略包括至少一个配额策略。例如,每层配额策略可以包括至少一个配额策略,不同配额策略所包括的策略的类型可以相同也可以不同。本申请实施例以以下三种类型的策略为例进行说明:
第一种类型的策略:对应一组资源的整体配额策略,该整体配额策略用于描述第一粒度的资源在该一组资源的总体配额,该第一粒度为该整体配额策略对应的粒度。
第二种类型的策略:对应一组资源的独立配额策略,该独立配额策略用于描述第二粒度的资源在该一组资源的一个或多个资源中的配额,该第二粒度为该独立配额策略对应的粒度。
第三种类型的策略:租户配额策略;该租户配额策略对应一组资源,该租户配额策略用于描述租户使用该一组资源中的第三粒度的资源的配额,该第三粒度为该租户配额策略对应的粒度。在一种示例中,该租户配额策略用于描述租户使用对应的一组资源中的第三粒度的资源的总体配额。在另一种示例中,该租户配额策略用于描述租户使用对应的一组资源的一个或多个资源中的第三粒度的资源的配额。
实际实现时,在资源配额策略中的至少一个配额策略中,每个配额策略对应一种负载,该负载为预设的某一负载,或者指定类型的负载。每个配额策略描述的是针对对应的负载的策略。如此,在进行资源调度时,不仅要考虑配额策略,还需要考虑配额策略所对应的负载,从而实现更精确的资源调度。
本申请实施例中,包括该计算设备的资源池可以有多种表现形式,在一种可选方式中,该资源池为机架(rack)。在另一种可选方式中,该资源池为计算设备组(也称集群资源)。
示例的,前述按照该第一资源配额,从该计算设备的资源中为该第一负载分配部分资源的过程,包括:在该计算设备的资源中获取满足该第一资源配额的一组或多组候选资源,在该一组或多组候选资源中为该第一负载分配一组资源。
可选地,前述资源调度方法还包括:以该计算设备的一个资源为粒度为第二负载确定第二资源配额;按照该第二资源配额,从该计算设备的资源中为该第二负载分配部分资源。如此,调度器可以为不同负载确定不同资源配额,进而基于不同资源配额进行资源调度。
前述资源配额策略可以以调度器配置文件的形式持久化到调度器对应的存储器中。该存储器用于存储调度器所需数据。当调度器上电或重启时,可以读取该调度器配置文件,从而根据该文件记录的资源配额策略进行调度。在一种可选方式中,资源计数器可以持久化到该存储器中,该资源计数器是用于记录已消耗的历史资源和/或未消耗的资源的模块,该资源计数器用于辅助调度器评估待调度的资源是否满足资源配额策略。将资源计数器持久化到存储器中,可以实现调度器的快速重启,使得调度器迅速进入工作状态。在另一种可选方式中,资源计数器可以在调度器上电或重启时建立。上述资源计数器的计数根据预设规则更新。例如该资源计数器的计数更新由有效事件触发,该有效事件包括成功添加一个新负载,成功删除一个已有负载,调度器重新启动或定时事件等。
第二方面,本申请提供一种资源调度装置,该资源调度装置可以包括至少一个模块,该至少一个模块可以用于实现上述第一方面或者第一方面的各种可能实现提供的资源调度方法。
第三方面,本申请提供一种资源管理系统,该资源管理系统可以包括一个或多个计算设备,以及调度器,该调度器包括上述第一方面或者第一方面的各种可能实现提供的任一所述的资源调度装置。可选地,该资源管理系统还包括一个或多个负载。
第四方面,本申请提供一种计算设备,该计算设备可以为调度器,该计算设备包括处理器和存储器。该存储器存储计算机指令;该处理器执行该存储器存储的计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令指示该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法。该计算设备可以为调度器。
第六方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述第一方面或者第一方面的各种可能实现提供的方法。该计算设备可以为调度器。
第七方面,提供一种芯片,该芯片可以包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如第一方面任一所述的资源调度方法。
本申请实施例提供的资源调度方法,可以按照计算设备内的一个资源为粒度为负载确定资源配额,并基于该资源配额从计算设备的资源中为负载分配部分资源,从而实现以计算设备内的一个资源为粒度来进行资源配额的获取,提高资源调度的灵活性。并且,前述资源配额策略可以快速集成到传统的调度流程中,以较小的限度的改变传统的调度流程,因此适用性较强。
本申请实施例中的资源配额策略,从资源的粒度、负载以及租户等多个维度来进行配额策略的配置,实现资源配额策略的灵活配置,进一步提高资源调度的灵活性。
并且,不同的配额策略可以对应同一组资源,不同层的配额策略可以对应同一组资源,从而实现配额策略的嵌套,实现不同粒度和不同层次的组合的配额策略,进一步丰富了资源配额策略的配置灵活性。
附图说明
图1是本申请实施例提供的资源调度方法所涉及资源管理系统的一种应用环境的示意图;
图2是本申请实施例提供一种资源调度方法的流程示意图;
图3是资源池的一种表现形式下,资源管理系统中资源池的划分方式示意图;
图4是资源池的另一种表现形式下,资源管理系统中资源池的划分方式示意图;
图5是本申请实施例提供的一种配置整体配额策略的示意图;
图6是本申请实施例提供的一种配置独立配额策略的示意图;
图7是本申请实施例提供的一种资源配额策略的示意图;
图8是本申请实施例提供的另一种资源配额策略的示意图;
图9是本申请实施例提供的一种资源配额策略所对应的树结构示意图;
图10是本申请实施例提供的一种资源调度装置的框图;
图11是本申请实施例提供的计算设备的一种可能的基本硬件架构。
具体实施方式
为使本申请的原理和技术方案更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的资源调度方法所涉及资源管理系统的一种应用环境的示意图。该资源管理系统可以为云计算系统,如私有云系统、公有云系统、混合云系统或边缘云系统等。该资源管理系统包括:调度器(也称资源调度器)101、一个或多个计算设备102,以及一个或多个负载103。
本申请实施例中,计算设备102中承载有资源;负载(workload)103用于向调度器101请求资源;调度器101用于基于负载103的请求,对计算设备102中的资源进行调度。
其中,计算设备102是具有计算功能的设备,其可以为主机(host)、个人计算机(Personal Computer,PC)、超级计算机、量子计算机或服务器等。负载103是用于使用资源的单元。例如,该负载103可以为虚拟机(virtual machine,VM,也称虚机)或容器(container)或应用程序(也称应用);该负载103还可以是计算设备所需执行的任务,例如,数据的添加任务、数据的查询任务、数据的修改任务或数据的计算任务等等。
前述计算设备102承载的资源可以有一种或多种类型。例如,该资源包括:计算资源。该计算资源包括如下一种或多种的组合:中央处理器(Central Processing Unit,CPU),也称物理中央处理器(Physical Central Processing Unit,PCPU);虚拟CPU(virtual Central Processing Unit,VCPU);存储器(memory);图形处理器(GraphicsProcessing Unit,GPU)。又例如,该资源还包括:存储(storage)资源。再例如,该资源还包括:对象数,即可创建的对象的个数。例如,该对象为节点(pods)、服务(services)或许可(licences)等等。
相关技术中,仅以资源池为粒度获取负载的资源配额,并基于该资源配额为负载分配资源,而资源池的粒度较粗,导致资源调度的灵活性较低。本申请实施例以位于计算设备内的一个资源为粒度为负载确定资源配额;并基于该资源配额,从计算设备的资源中为负载分配部分资源,从而实现细粒度的资源配额的获取,提高资源调度的灵活性。图2是本申请实施例提供一种资源调度方法的流程示意图。该方法可以应用于如图1所示的资源管理系统,例如由该资源管理系统中的调度器执行。下述方法以调度器进行第一负载和第二负载的资源调度过程为例进行说明。该方法包括:
S201、调度器获取资源配额策略。
在本申请实施例中,资源配额策略为层级架构,该资源配额策略包括一层或多层配额策略。该一层或多层配额策略包括至少一个配额策略,例如,每层配额策略包括至少一个配额策略,每个配额策略对应一组资源(也称资源消费组)。每个配额策略用于描述使用其对应的一组资源的负载的配额。可选地,每层配额策略所对应的粒度相同,不同层配额策略所对应的粒度不同。在本申请实施例中,该一层或多层配额策略所对应的粒度至少包括位于计算设备内的一个资源这一粒度,从而保证后续为待分配资源的负载分配细粒度的资源配额。其中,配额策略所对应的粒度,也称配额粒度,指的是该配额策略所针对的资源的最小单位,该配额策略以该粒度进行资源的额度分配。该粒度反映了资源划分的粗细程度。
例如,按照粒度由大到小的顺序(也称粒度由粗到细的顺序),资源的粒度可以分为:包括计算设备的资源池、计算设备和该计算设备内的资源。其中,计算设备内的资源可以包括如下至少一种:非统一内存访问(Non Uniform Memory Access,NUMA)节点、VCPU、存储器或对象数等。示例的,按照粒度由大到小的顺序,计算设备内的资源的粒度可以分为:NUMA节点、第一单元和第二单元。该第一单元包括PCPU和/或GPU;该第二单元包括VCPU、存储器和/或对象数。
当该资源配额策略包括多层配额策略时,该多层配额策略可以有多种实现方式。本申请实施例以以下几种实现方式为例进行说明,在此基础上的简单变化仍然属于本申请的保护范围内。
在一种可选实现方式中,该多层配额策略包括三层配额策略。该三层配额策略对应如下三种粒度:包括计算设备的资源池;计算设备;和该计算设备内的资源。
在另一种可选实现方式中,该多层配额策略包括四层配额策略。该四层配额策略对应如下四种粒度:包括计算设备的资源池;计算设备;NUMA节点以及第二单元,该第二单元包括VCPU、存储器和/或对象数。
该多层配额策略还可以包括两层配额策略或五层配额策略,本申请实施例对配额策略的层数不做限定。
其中,资源池也称资源组(resource group),其是资源管理系统中一个或多个资源的集合,在本申请实施例中,资源池包括计算设备,每个资源池都可以定义资源池标识(如名称或编号)以及属于该资源池的资源的信息。资源池可以有多种表现形式。在第一种可选方式中,按照物理划分的方式将资源管理系统的资源划分成一个或多个资源池。由于资源管理系统的资源在物理上由一个或多个机架承载,因此,资源池为机架(rack)。一个资源池指的是该机架中承载的资源的集合,一个机架内设置有至少一个计算设备。在第二种可选方式中,按照逻辑划分的方式将资源管理系统的资源划分成一个或多个资源池。由于资源管理系统的资源在逻辑上由一个或多个计算设备承载,因此,资源池为计算设备组(也称集群资源)。一个资源池指的是一个或多个计算设备的集合。可选地,该资源管理系统中一个或多个资源池对应一个资源配额策略。
图3和图4分别是资源池的两种表现形式下,资源管理系统中资源池的划分方式示意图。如图3和图4所示,假设资源管理系统的资源包括机架1和机架2中的资源,其中,机架1中的资源包括:计算设备1至3;机架2中的资源包括:计算设备4至6。图3中,与前述第一种可选方式对应的,按照物理划分的方式将资源管理系统的资源划分为两个资源池,分别为资源池1和资源池2。其中,资源池1为机架1;资源池2为机架2。图4中,与前述第二种可选方式对应的,按照逻辑划分的方式将资源管理系统的资源划分为两个资源池,分别为资源池3和资源池4。其中,资源池3为由计算设备1至4组成的计算设备组;资源池4为由计算设备5至6组成的计算设备组。
前述一层或多层配额策略包括至少一个配额策略。例如,每层配额策略可以包括至少一个配额策略,不同配额策略所包括的策略的类型可以相同也可以不同。本申请实施例以以下三种类型的策略为例进行说明:
第一种类型的策略:整体配额策略。该整体配额策略对应一组资源,该整体配额策略用于描述第一粒度的资源在该一组资源的总体配额,该第一粒度为该整体配额策略对应的粒度。示例的,该一组资源中每个资源的粒度(即资源的划分粒度)大于或等于该整体配额策略所对应的粒度。例如,该一组资源为一组计算设备,该整体配额策略对应的粒度为VCPU。图5是本申请实施例提供的一种配置整体配额策略的示意图。图5中假设该多层配额策略包括三层配额策略,该三层配额策略对应如下三种粒度:包括计算设备的资源池;计算设备;和VCPU。其中,第三层配额策略包括整体配额策略,其对应的粒度为VCPU,则第一粒度的资源为VCPU的资源。该整体配额策略对应的一组资源为计算设备1至4组成的计算设备组,该一组资源的粒度为计算设备。其中,该整体配额策略包括:可供负载使用的VCPU不超过计算设备1至4的VCPU总量的60%,也即是该一组资源:计算设备1至4中VCPU的总体配额为60%。
第二种类型的策略:独立配额策略。该独立配额策略对应一组资源,该独立配额策略用于描述第二粒度的资源在该一组资源的一个或多个资源中的配额。例如,该独立配额策略用于描述第二粒度的资源在该一组资源的每个资源中的配额。该第二粒度为独立配额策略对应的粒度。示例的,该一组资源中每个资源的粒度大于或等于该独立配额策略所对应的粒度。例如,该一组资源为一组计算设备,该独立配额策略对应的粒度为NUMA节点。图6是本申请实施例提供的一种配置独立配额策略的示意图。图6中假设该多层配额策略包括三层配额策略,该三层配额策略对应如下三种粒度:包括计算设备的资源池;计算设备;和NUMA节点。其中,第三层配额策略包括独立配额策略,其对应的粒度为NUMA节点,则第二粒度的资源为NUMA节点的资源。该独立配额策略对应的一组资源为计算设备3和4组成的计算设备组,该一组资源的粒度为计算设备。其中,该独立配额策略包括:可供负载使用的NUMA节点分别不超过计算设备3和4的NUMA节点各自的50%,也即是该一组资源:计算设备3和4各自的NUMA节点的配额为50%。
通过前述整体配额策略和独立配额策略,可以更灵活地控制配额策略所干预的资源的粒度,提高资源配额策略的配置灵活性。
第三种类型的策略:租户配额策略。租户(tenant)指的是租用资源管理系统中资源的一个或多个用户的集合。该租户配额策略对应一组资源,该租户配额策略用于描述租户使用该一组资源中的第三粒度的资源的配额,该第三粒度为该租户配额策略所对应的粒度。示例的,该一组资源中每个资源的粒度大于或等于该租户配额策略所对应的粒度。例如,该一组资源为一组计算设备,该租户配额策略对应的粒度为VCPU。
在一种示例中,该租户配额策略用于描述租户使用对应的一组资源中的第三粒度的资源的总体配额。图5还提供一种配置租户配额策略的示意图。图5中假设第三层配额策略还包括租户配额策略,其对应的粒度为VCPU,则第三粒度的资源为VCPU的资源。该租户配额策略对应的一组资源为计算设备1至4组成的计算设备组,该一组资源的粒度为计算设备。其中,该租户配额策略包括:可供租户1使用的VCPU的配额不超过计算设备1至4的VCPU总量的40%,也即是该一组资源:计算设备1至4中可供租户1使用的VCPU的总体配额为40%。
在另一种示例中,该租户配额策略用于描述租户使用对应的一组资源的一个或多个资源中的第三粒度的资源的配额。图6还提供一种配置租户配额策略的示意图。图6中假设第三层配额策略还包括租户配额策略,其对应的粒度为NUMA节点,则第三粒度的资源为NUMA节点的资源。该租户配额策略对应的一组资源为计算设备3和4组成的计算设备组,该一组资源的粒度为计算设备。其中,该租户配额策略包括:可供租户1使用的NUMA节点分别不超过计算设备3和4各自的NUMA节点的30%,也即是该一组资源:计算设备3和4可供租户1使用的各自的NUMA节点的配额为30%。
前述每个配额策略与一组资源的对应关系,可以由资源管理系统的管理员或计算设备的用户预先配置,例如配置在配额策略的内容中;也可以按照预设规则映射得到。其中,不同的配额策略可以对应同一组资源,也可以对应不同组资源。不同层的配额策略可以对应同一组资源,从而实现配额策略的嵌套,实现不同粒度和不同层次的组合的配额策略,进一步丰富了资源配额策略的配置灵活性。
前述实施例中,以每层配额策略中的每个配额策略为未对负载进行限制的配额策略为例进行说明。实际实现时,在资源配额策略中的至少一个配额策略中,每个配额策略对应一种负载,该负载为预设的某一负载,或者指定类型的负载。每个配额策略描述的是针对对应的负载的策略。如此,后续在进行资源调度时,不仅要考虑配额策略,还需要考虑配额策略所对应的负载,从而实现更精确的资源调度。例如,该对应的负载可以为虚拟机或容器、应用程序或计算设备所需执行的任务中的一个预设负载,或者一类负载。又例如,该对应的负载为按照优先级划分得到的一类负载,如高优先级的任务或低优先级的任务。再例如,该对应的负载为按照用户付费的方式划分得到的一类负载,如按需付费的负载,包年付费的负载。还例如,该对应的负载为按照作业类型划分得到的一类负载,如在线的实时计算业务或离线的批量计算业务。
前述配额策略与负载的对应关系,可以由资源管理系统的管理员或计算设备的用户预先配置,例如配置在配额策略的内容中;也可以按照预设规则映射得到;还可以在后续调度过程中,由为负载请求资源的用户指定,例如在针对负载的资源调度请求中指定。在一种示例中,虚拟机C6与某一层配额策略对应;在另一种示例中,使用GPU的容器与某一层配额策略对应。
图7和图8分别是本申请实施例提供的两种资源配额策略的示意图。图7中假设该多层配额策略包括四层配额策略,该四层配额策略对应如下四种粒度:包括计算设备的资源池;计算设备;NUMA节点;和VCPU。其中,第四层配额策略包括4个独立配额策略,其对应的粒度为VCPU,则第二粒度的资源为VCPU的资源。该4个独立配额策略包括:独立配额策略(1)至(4)。独立配额策略(1)和(2)对应的一组资源均为计算设备1的NUMA节点1和计算设备4的NUMA节点1组成的NUMA节点组,该一组资源的粒度为NUMA节点。其中,该独立配额策略(1)包括:可供虚拟机C6使用的VCPU分别不超过计算设备1和4的NUMA节点1中各自的VCPU的50%;该独立配额策略(2)包括:可供虚拟机S6使用的VCPU分别不超过计算设备1和4的NUMA节点1中各自的VCPU的50%。独立配额策略(3)和(4)对应的一组资源均为计算设备1的NUMA节点2和计算设备4的NUMA节点2组成的NUMA节点组,该一组资源的粒度为NUMA节点。其中,该独立配额策略(3)包括:可供虚拟机C6使用的VCPU分别不超过计算设备1和4的NUMA节点2中各自的VCPU的70%;该独立配额策略(4)包括:可供虚拟机S6使用的VCPU分别不超过计算设备1和4的NUMA节点2中各自的VCPU的30%。
图8中假设该多层配额策略包括三层配额策略,该三层配额策略对应如下三种粒度:包括计算设备的资源池;计算设备;和VCPU。其中,第三层配额策略包括2个整体配额策略、2个独立配额策略和2个租户配额策略,对应的第一粒度的资源、第二粒度的资源和第三粒度的资源均为VCPU的资源。2个整体配额策略(5)和(6)对应的一组资源均为计算设备1至4组成的计算设备组,该一组资源的粒度为计算设备。其中,该整体配额策略(5)包括:可供虚拟机使用的VCPU不超过计算设备1至4的VCPU总量的60%;该整体配额策略(6)包括:可供容器使用的VCPU不超过计算设备1至4的VCPU总量的40%。2个租户配额策略(7)和(8)对应的一组资源均为计算设备1至4组成的计算设备组,该一组资源的粒度为计算设备。其中,该租户配额策略(7)包括:可供虚拟机的租户1使用的VCPU不超过计算设备1至4的虚拟机允许使用的VCPU总量的50%(或者不超过计算设备1至4的VCPU总量的30%);租户配额策略(8)包括:可供虚拟机的租户2使用的VCPU不超过虚拟机允许使用的VCPU总量的50%(或者不超过计算设备1至4的VCPU总量的30%)。2个租户配额策略中,租户配额策略(9)对应的一组资源为计算设备3,该一组资源的粒度为计算设备,该租户配额策略(9)包括:可供虚拟机使用的VCPU不超过计算设备3的VCPU的50%;租户配额策略(10)对应的一组资源为计算设备4,该一组资源的粒度为计算设备,该租户配额策略(10)包括:可供容器使用的VCPU不超过计算设备4的VCPU的50%。
值得说明的是,在每层配额策略中,前述三种类型的策略可以根据资源管理系统中的不同业务需求单独设置或组合设置,图5至图8仅为示意性说明。并且图5至图8均以包括计算设备1至4的资源池3为例对各个配额策略进行说明,其他资源池的配额策略也可以参考该资源池3对应的配额策略。并且,前述图5至图8均以资源配额策略中对应粒度最小的最底层配额策略为例进行说明,其他层的配额策略的设置方式可以参考该最底层配额策略的设置方式。在实际实现时,该资源配额策略中除最底层的配额策略包括一个或多个配额策略外,其他层配额策略中的一层或多层配额策略可以为空。例如,图5中,对应粒度为:包括计算设备的资源池的第一层配额策略和/或对应粒度为:计算设备的第二层配额策略为空。若某一层的资源配额为空,可以视为该一层粒度的资源无配额策略,该一层配额策略在整体的资源配额策略中仅用于划分资源的粒度。
并且,前述实施例中,资源配额策略中每个配额策略的资源配额均以占对应组资源的百分比为例进行说明,实际实现时,该资源配额也可以由其他方式表示,例如,该资源配额也可以由资源数量表示。示例的,假设图7中,计算设备1和4的NUMA节点2均包括15个VCPU,前述独立配额策略(4)可以替换为:可供虚拟机S6使用的VCPU在计算设备1的NUMA节点2中的上限为5个VCPU,在计算设备4的NUMA节点2中的上限为5个VCPU。
前述资源配额策略可以以调度器配置文件的形式持久化到调度器对应的存储器中。该存储器用于存储调度器所需数据。当调度器上电或重启时,可以读取该调度器配置文件,从而根据该文件记录的资源配额策略进行调度。在一种可选方式中,资源计数器可以持久化到该存储器中,该资源计数器是用于记录已消耗的历史资源和/或未消耗的资源的模块,该资源计数器用于辅助调度器评估待调度的资源是否满足资源配额策略。将资源计数器持久化到存储器中,可以实现调度器的快速重启,使得调度器迅速进入工作状态。在另一种可选方式中,资源计数器可以在调度器上电或重启时建立。上述资源计数器的计数根据预设规则更新。例如该资源计数器的计数更新由有效事件触发,该有效事件包括成功添加一个新负载,成功删除一个已有负载,调度器重新启动或定时事件等。
示例的,调度器获取调度器配置文件的过程如下步骤。
A1,资源管理系统的管理员或计算设备的用户根据需求,事先规划好资源配额策略,该资源配额策略可以由一个或多个管理员(或用户)规划完成,该规划过程称为资源规划。
A2,将该资源配额策略转化为调度器配置文件,该调度器配置文件是资源管理系统可以识别的文件,该转化过程称为实例化配置。
可选地,资源管理系统包括策略管理器,管理员或用户可以通过该策略管理器将该资源配额策略转化为调度器配置文件。可选地,该调度配置文件还可以包括前述资源池的划分方式的信息、每个配额策略与一组资源的对应关系以及配额策略与负载的对应关系中的一种或多种。在一种可选方式中,策略管理器提供用户界面,例如,图形用户界面(Graphical User Interface,GUI,又称图形用户接口)。管理员或用户通过用户界面输入资源配额设置信息,该资源配额设置信息用于描述资源配额策略。策略管理器基于该资源配额设置信息生成调度器配置文件。在另一种可选方式中,策略管理器提供应用程序接口(Application Programming Interface,API),管理员或用户基于API输入资源配额策略对应的调度器配置文件,相应的,策略管理器接收该调度器配置文件。在再一种可选方式中,策略管理器直接接收调度器配置文件,该调度器配置文件是管理员或用户预先通过其他设备将资源配额策略转化得到的。该调度器配置文件可以为JS对象简谱(JavaScript ObjectNotation,JSON)、另一种标记语言(Yet Another Markup Language,YAML)或可扩展标记语言(Extensible Markup Language,XML)等格式的配置文件。
为了便于读者理解,下面以JSON格式对调度器配置文件的内容进行说明:
第一种情况、假设调度器配置文件包括:与图4对应的资源池的划分方式,则与图4对应的资源池的划分方式采用如下方式表示:
第二种情况、假设调度器配置文件包括:与图6对应的整体配额策略和独立配额策略,则与图6对应的整体配额策略和独立配额策略采用如下方式表示:
第三种情况、假设调度器配置文件包括:与图7对应的资源配额策略,则与图7对应的资源配额策略采用如下方式表示:
第四种情况、假设调度器配置文件包括:与图8对应的资源配额策略,则与图8对应的资源配额策略采用如下方式表示:
前述第一至第四种情况中,“ResourceGroup”表示资源池,“host”表示计算设备,“selected_resource”表示所选资源,“consumer”表示负载,“AggregateResourceQuotaPolicy”表示整体配额策略,“IndividualResourceQuotaPolicy”表示独立配额策略,“ResourceConsumerGroup”表示配额策略对应的一组资源,“TenantQuotaPolicy”表示租户配额策略,“Tenant”表示租户,“vm_consumer”表示负载为虚拟机,“container_consumer”表示负载为容器。前述调度器配置文件还可以有其他表示方式,前述四种情况只是示意性说明,并不对此进行限定。
A3,调度器接收该调度器配置文件,并基于接收的调度器配置文件进行文件的更新。该接收和更新过程称为配置更新过程。
参考步骤A2,策略管理器在获取调度器配置文件后,将调度器配置文件发送至调度器。调度器接收到该调度器配置文件后,采用接收到的文件更新原有的文件,从而实现资源配额策略的更新。实际实现时,调度器可以集成在策略管理器中。
S202、调度器以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额。
调度器在接收到针对第一负载的资源调度请求后,需要基于该资源调度请求先为第一负载确定第一资源配额,再基于此进行资源的分配。参考S202,调度器预先获取了资源配额策略,则调度器可以按照该资源配额策略,为第一负载确定第一资源配额。如前所述,该资源配额策略中的一层或多层配额策略所对应的粒度至少包括位于计算设备内的一个资源这一粒度,因此,调度器至少以位于该计算设备内的一个资源为粒度为第一负载确定第一资源配额。
由于资源配额策略是层级结构,调度器可以按照对应的粒度由大到小的顺序查询每层配额策略,得到第一负载的第一资源配额。
示例的,当资源配额策略有多层配额策略时,多层配额策略按照对应粒度由大到小的顺序排列成树结构,多层配额策略中每个配额策略为树结构的一个节点,树结构中同一深度的节点对应同一层配额策略。将配额策略排列成树结构,可以便于调度器进行配额策略的查询,提高查询效率,降低查询时延。
为了便于读者理解,本申请实施例对树结构进行简单介绍。树结构,也称树模型。树结构包括多个关联的节点(node)。在树结构中,每个节点包括节点元素和若干指向子树的分支;在一个节点左侧的子树称为该节点的左子树(left subtree),在一个节点右侧的子树称为该节点的右子树(right subtree);一个节点的子树(左子树和/或右子树)的根称为该节点的子节点(child node),也称孩子节点;若一个节点是另一节点的子节点,则另一节点为该一个节点的父节点,也称双亲节点;某节点的深度或者层数是指从根节点到该节点的最长简单路径边的条数,例如,根节点的深度(也称高度或层数)为1,根节点的子节点的深度为2,依此类推;叶子节点,也叫终端节点,是节点的度为0的节点;节点的度指的是节点的子树的个数;非叶子节点是叶子节点之外的节点,其包括根节点,以及根节点与叶子节点之间的节点。本申请实施例中,树结构可以为n叉树(n-ary tree,也称多叉树),n叉树是每个节点最多有n个子树的树结构,n≥2。
需要说明的是,在多层配额策略中,若同一层配额策略中的多个配额策略对应同一组资源,也即是,多个配额策略用于描述使用同一组资源的负载的配额。则在树结构中,该多个配额策略也可以对应树结构中的不同深度。该多个配额策略可以以一个配额策略为根节点,排列成该根节点的子树。该树结构的其他简单变换也可以涵盖在本申请的保护范围内,本申请对此不再赘述。
在本申请实施例中,前述资源配额策略的最底层的配额策略对应树结构的叶子节点。调度器可以按照从上到下(即从根节点到叶子节点)的顺序查询树结构的每层节点,从而得到第一负载的第一资源配额。
在第一种可选实现方式中,资源调度请求中包括第一负载的负载信息。调度器可以先基于第一负载的负载信息查询资源配额策略中每个配额策略所对应的负载,将与该负载信息匹配的负载所对应的配额策略确定为第一负载对应的配额策略,并从第一负载对应的配额策略中确定第一负载的第一资源配额。例如,该负载信息包括:第一负载的标识,则与该负载信息匹配的负载包括:与第一负载的标识相同的负载;和/或,该负载信息包括:第一负载的类型,则与该负载信息匹配的负载包括:与第一负载的类型相同的负载。
在第二种可选实现方式中,调度器中预先配置有负载与各组资源(即不同配额策略所对应的各组资源)的对应关系,该对应关系可以由资源管理系统的管理员或计算设备的用户预先配置;也可以按照预设规则映射得到。其中,不同的负载可以对应同一组资源,也可以对应不同组资源。调度器可以先基于第一负载的标识查询该负载与各组资源的对应关系,得到与该第一负载所对应的若干组资源;再将与该若干组资源所对应的配额策略确定为第一负载对应的配额策略,并从第一负载对应的配额策略中确定第一负载的第一资源配额。或者,资源调度请求中包括第一负载对应的若干组资源。调度器可以将与该若干组资源所对应的配额策略确定为第一负载对应的配额策略,并从第一负载对应的配额策略中确定第一负载的第一资源配额。
在实际应用中,前述两种可选实现方式可以根据设定规则单独执行或组合执行。可选地,在前述两种可选实现方式中,第一负载的第一资源配额为第一负载对应的配额策略中资源配额的交集。也即是,第一负载的第一资源配额需要满足所有第一负载对应的配额策略。
图9是本申请实施例提供的一种资源配额策略所对应的树结构示意图。图9与图5所示的资源配额策略对应,该资源配额策略为三层架构。相应的,树结构的三层分别对应粒度:资源池、计算设备和VCPU。假设第一层配额策略(对应的粒度为资源池)包括:整体配额策略P1:可供负载使用的资源不超过资源池3的资源的50%。第二层资源配额策略(对应的粒度为计算设备)包括:整体配额策略P2:可供负载使用的资源不超过计算设备1至3的资源总量的40%;独立配额策略P3:可供负载使用的资源不超过计算设备1的资源的40%。第三层配额策略(对应的粒度为VCPU)包括:整体配额策略P4:可供负载使用的VCPU不超过计算设备1至4的VCPU总量的60%;租户配额策略P5:可供租户1使用的VCPU的配额不超过计算设备1至4的VCPU总量的40%。假设图5所示的资源配额策略的每一层配额策略对应的负载为虚拟机,第一负载也为虚拟机。则查询得到的第一负载的第一资源配额包括前述配额策略P1至P5中资源配额的交集,也即是,第一负载的第一资源配额需要满足前述配额策略P1至P5。
S203、调度器按照该第一资源配额,从该计算设备的资源中为该第一负载分配部分资源。
如S202所述,由于第一资源配额的粒度可以细化到计算设备内的一个资源,因此在资源分配时,也可以以该计算设备内的一个资源为粒度为第一负载分配部分资源。例如,计算设备内的一个资源为VCPU,则按照第一资源配额可以从计算设备的VCPU中为第一负载分配部分资源。其中,该计算设备指的是调度器所管理的资源管理系统中的计算设备,例如,调度器所管理的资源池中的计算设备。
其中,按照该第一资源配额,从计算设备的资源中为第一负载分配部分资源的实现方式有多种,本申请实施例以以下两种为例进行说明:
在第一种实现方式中,调度器在计算设备的资源中获取一组或多组候选资源,在该一组或多组候选资源中筛选满足该第一资源配额的部分资源,并为该第一负载分配该部分资源。
示例的,该第一种实现方式的实现过程包括:
B1、调度器先按照预设的调度算法在计算设备的资源中获取一组或多组候选资源。
可选地,该一组或多组候选资源的划分粒度可以有多种,例如该一组或多组候选资源可以以前述计算设备内的一个资源为划分粒度,也可以以一个计算设备为划分粒度。
例如,假设该一组或多组候选资源以前述计算设备内的一个资源为划分粒度。针对第一负载的资源调度请求包括资源量,该资源量为第一负载所请求的资源的额度,如2个VCPU。调度器先按照预设的调度算法在计算设备的资源中选择能够提供该资源量的一组或多组候选资源。该一组或多组候选资源可以以资源列表的形式表示。表1是一个示意性的资源列表,该资源列表记录了能够为第一负载提供2个VCPU的3组候选资源。例如,计算设备1的VCPU1和VCPU2组成能够为第一负载提供资源的一组候选资源。
表1
候选资源 |
计算设备1的VCPU1和VCPU2 |
计算设备2的VCPU3和VCPU4 |
计算设备3的VCPU5和VCPU6 |
B2、调度器在该一组或多组候选资源中筛选满足第一资源配额的一组资源,并为该第一负载分配该一组资源。
在第一种可选示例中,调度器可以将第一资源配额与资源配额策略中已消耗的历史资源配额做差,得到第一负载的实际资源配额。在该一组或多组候选资源中筛选消耗的资源量小于第一负载的实际资源配额的一组资源,当该一组或多组候选资源中存在消耗的资源量小于第一负载的实际资源配额的一组资源时,为该第一负载分配该一组资源。当该一组或多组候选资源中不存在消耗的资源量小于第一负载的实际资源配额的一组资源时,禁止为该第一负载分配资源。例如,参考表1,假设第一负载所请求的资源的额度为2个VCPU,第一资源配额包括:计算设备1中10个VCPU,计算设备2中12个VCPU,计算设备1中已消耗的历史资源配额为9个VCPU,计算设备2中已消耗的历史资源配额为8个VCPU,则第一负载的实际资源配额包括:计算设备1中的1个VCPU,计算设备2中的4个VCPU,而计算设备1的VCPU1和VCPU2消耗的资源量是2个VCPU,超过了第一负载的实际资源配额;计算设备2的VCPU3和VCPU4消耗的资源量是2个VCPU,未超过了第一负载的实际资源配额,因此可以为该第一负载分配计算设备2的VCPU3和VCPU4。
在第二种可选示例中,对于该一组或多组候选资源中的每组候选资源,调度器可以获取该组候选资源与资源配额策略中已消耗的历史资源配额之和,得到预测资源配额。当该预测资源配额未超出第一资源配额的要求时,确定该组候选资源是满足该第一资源配额的部分资源,为该第一负载分配该组候选资源。例如,参考表1,假设第一负载所请求的资源的额度为2个VCPU,第一资源配额包括:计算设备1中10个VCPU,计算设备2中12个VCPU,计算设备1中已消耗的历史资源配额为9个VCPU,计算设备2中已消耗的历史资源配额为8个VCPU,则对于第一组候选资源:计算设备1的VCPU1和VCPU2,该第一组候选资源与计算设备1中已消耗的历史资源配额之和为11个VCPU,该11个VCPU超出了第一资源配额包括:计算设备1中10个VCPU的要求,因此第一组候选资源不满足该第一资源配额。对于第二组候选资源:计算设备2的VCPU3和VCPU4,该第二组候选资源与计算设备2中已消耗的历史资源配额之和为10个VCPU,该10个VCPU未超出第一资源配额包括:计算设备2中12个VCPU的要求,因此第二组候选资源满足该第一资源配额,因此可以为该第一负载分配计算设备2的VCPU3和VCPU4。
值得说明的是,调度器获取的第一资源配额可能包括与前述资源配额策略所对应的层级架构中的一层或多层配额,若该第一资源配额包括多层配额,在执行前述第一种可选示例或第二种可选示例的过程时,对于每组候选资源,可以按照粒度由大到小的顺序进行第一资源配额包括的多层配额的遍历,如此能够快速校验候选资源是否满足第一资源配额。
在第二种实现方式中,调度器在计算设备的资源中获取满足该第一资源配额的一组或多组候选资源,在该一组或多组候选资源中为该第一负载分配一组资源。
示例的,该第二种实现方式的实现过程包括:
C1、调度器可以按照预设的调度算法并结合第一资源配额在计算设备的资源中获取满足该第一资源配额的一组或多组候选资源。
参考B1,该一组或多组候选资源的划分粒度可以有多种,例如该一组或多组候选资源可以以前述计算设备内的一个资源为划分粒度,也可以以一个计算设备为划分粒度。
例如,假设该候选资源以前述计算设备内的一个资源为粒度。针对第一负载的资源调度请求包括资源量。调度器先按照预设的调度算法,以及第一资源配额在计算设备的资源选择能够提供该资源量,且满足第一资源配额的一组或多组候选资源。
在第一种可选示例中,调度器可以遍历资源管理系统中的资源,在每次获取能够提供该资源量的一组资源后,将与该组资源对应的第一资源配额与资源配额策略中已消耗的历史资源配额做差,得到与该组资源对应的第一负载的实际资源配额,当该组资源消耗的资源量小于第一负载的实际资源配额,将该组资源确定为一组候选资源。该做差与比较过程可以参考前述B2中的第一种可选示例。
在第二种可选示例中,调度器可以遍历资源管理系统中的资源,在每次获取能够提供该资源量的一组资源后,调度器可以获取该组资源与资源配额策略中与该组资源对应的已消耗的历史资源配额之和,得到预测资源配额。当该预测资源配额未超出该组资源对应的第一资源配额中的要求时,将该组资源确定为一组候选资源。该求和与比较过程可以参考前述B2中的第二种可选示例。
值得说明的是,调度器在遍历资源管理系统中的资源时,可以按照前述资源配额策略所对应的层级架构对资源进行遍历,例如按照粒度由大到小的顺序进行资源的遍历,如此能够快速进行候选资源的获取。
C2、调度器可以在该一组或多组候选资源中选择一组资源,并为该第一负载分配选择的一组资源。
示例的,调度器可以在该一组或多组候选资源中随机选择一组资源,或者,该一组或多组候选资源中每组候选资源对应一个优先级,调度器可以在该一组或多组候选资源中随机选择优先级最高的一组资源。
需要说明的是,若前述第一负载是在资源管理系统的资源中首次分配资源的负载,则与第一负载对应的历史资源配额为0;若前述第一负载不是在资源管理系统的资源中首次分配资源的负载,则与第一负载对应的历史资源配额为非零值。
S204、调度器以计算设备的一个资源为粒度为第二负载确定第二资源配额。
示例的,调度器为第二负载确定第二资源配额的过程可以参考前述S202。本申请实施例中,假设调度器以计算设备的相同的一个资源为粒度分别为第一负载确定第一资源配额,并为第二负载确定第二资源配额。例如,该计算设备的相同的一个资源指的是计算设备中的一个VCPU。
S205、调度器按照该第二资源配额,从计算设备的资源中为该第二负载分配部分资源。
示例的,调度器按照该第二资源配额,从计算设备的资源中为该第二负载分配部分资源的过程可以参考前述S203。需要说明的是,由于在资源管理系统的资源中,前述第二负载不是以计算设备的一个资源为粒度首次分配资源的负载,因此,与第二负载对应的历史资源配额为非零值,与第二负载对应的历史资源配额至少包括已为第一负载分配的资源。
值得说明的是,前述实施例仅以调度器为执行主体为例进行说明,实际实现时,前述资源调度方法还可以由其他设备执行,或者由调度器和其他设备配合执行。例如,前述获取至少一个候选资源的过程可以由其他设备执行。
综上所述,本申请实施例提供的资源调度方法,可以按照计算设备内的一个资源为粒度为负载确定资源配额,并基于该资源配额从计算设备的资源中为负载分配部分资源,从而实现以计算设备内的一个资源为粒度来进行资源配额的获取,提高资源调度的灵活性。并且,前述资源配额策略可以快速集成到传统的调度流程中,以较小的限度的改变传统的调度流程,因此适用性较强。
本申请实施例中的资源配额策略,从资源的粒度、负载以及租户等多个维度来进行配额策略的配置,实现资源配额策略的灵活配置,进一步提高资源调度的灵活性。
并且,不同的配额策略可以对应同一组资源,不同层的配额策略可以对应同一组资源,从而实现配额策略的嵌套,实现不同粒度和不同层次的组合的配额策略,进一步丰富了资源配额策略的配置灵活性。
需要说明的是,本申请实施例提供的资源调度方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,调度器可以不执行前述S201,在S202中直接以计算设备中的一个资源为粒度获取预先设置的资源配额。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
图10是本申请实施例提供的一种资源调度装置30的框图,该装置30包括:确定模块301,用于以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额;分配模块302,用于按照该第一资源配额,从该计算设备的该资源中为该第一负载分配部分资源。
综上所述,本申请实施例提供的资源调度装置,确定模块可以按照计算设备内的一个资源为粒度为负载确定资源配额,并由分配模块基于该资源配额从计算设备的资源中为负载分配部分资源,从而实现以计算设备内的一个资源为粒度来进行资源配额的获取,提高资源调度的灵活性。并且,前述资源配额策略可以快速集成到传统的调度流程中,以较小的限度的改变传统的调度流程,因此适用性较强。
在一种可选实现方式,该确定模块301,用于:按照资源配额策略,以位于该计算设备内的该资源为粒度为该第一负载确定该第一资源配额,该资源配额策略包括一层或多层配额策略。
例如,该多层配额策略包括三层配额策略,该三层配额策略对应如下三种粒度:包括该计算设备的资源池;该计算设备;和该计算设备内的该资源。
可选地,该计算设备内的该资源包括如下至少一种:NUMA节点、VCPU、存储器或对象数。
在第一种实现方式中,该配额策略包括对应一组资源的整体配额策略,该整体配额策略用于描述第一粒度的资源在该一组资源的总体配额,该第一粒度为该整体配额策略对应的粒度。在第二种实现方式中,该配额策略包括对应一组资源的独立配额策略,该独立配额策略用于描述第二粒度的资源在该一组资源的一个或多个资源中的配额,该第二粒度为该独立配额策略对应的粒度。在第三种实现方式中,该配额策略还包括:租户配额策略;该租户配额策略对应一组资源,该租户配额策略用于描述租户使用该一组资源中的第三粒度的资源的配额,该第三粒度为该租户配额策略对应的粒度。
本申请实施例中,包括该计算设备的资源池可以为机架。或者,包括该计算设备的资源池可以为计算设备组。
可选地,该确定模块301,还用于以该计算设备的该一个资源为粒度为第二负载确定第二资源配额;该分配模块302,还用于按照该第二资源配额,从该计算设备的该资源中为该第二负载分配部分资源。
示例的,前述分配模块302,用于:在该计算设备的该资源中获取满足该第一资源配额的一组或多组候选资源,在该一组或多组候选资源中为该第一负载分配一组资源。
可选地,图11是本申请实施例提供的计算设备的一种可能的基本硬件架构。该计算设备可以为调度器。参见图11,计算设备400包括处理器401、存储器402、通信接口403和总线404。
计算设备400中,处理器401的数量可以是一个或多个,图11仅示意了其中一个处理器401。可选地,处理器401,可以是CPU。如果计算设备400具有多个处理器401,多个处理器401的类型可以不同,或者可以相同。可选地,计算设备400的多个处理器401还可以集成为多核处理器。
存储器402存储计算机指令和数据;存储器402可以存储实现本申请提供的资源调度方法所需的计算机指令和数据,例如,存储器402存储用于实现资源调度方法的步骤的指令。存储器402可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口403可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口403用于计算设备400与其它计算设备或者终端进行数据通信。
总线404可以将处理器401与存储器402和通信接口403连接。这样,通过总线404,处理器401可以访问存储器402,还可以利用通信接口403与其它计算设备或者终端进行数据交互。
在本申请中,计算设备400执行存储器402中的计算机指令,使得计算设备400实现本申请提供的资源调度方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由计算设备的处理器执行以完成本申请各个实施例所示的资源调度方法。例如,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供一种资源管理系统,包括:一个或多个计算设备,以及调度器,该调度器包括如图10所示的资源调度装置30;或者该调度器包括如图11所示的计算设备400。可选地,该资源管理系统还包括负载。该资源管理系统的结构可以参考图1所示的资源管理系统。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
在本申请中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”表示一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。A参考B,指的是A与B相同或者A为B的简单变形。
需要说明的是:上述实施例提供的资源调度装置在执行该资源调度方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的资源管理系统、资源调度装置与资源调度方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (25)
1.一种资源调度方法,其特征在于,所述方法包括:
以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额;
按照所述第一资源配额,从所述计算设备的所述资源中为所述第一负载分配部分资源。
2.根据权利要求1所述的方法,其特征在于,所述以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额,包括:
按照资源配额策略,以位于所述计算设备内的所述资源为粒度为所述第一负载确定所述第一资源配额,所述资源配额策略包括一层或多层配额策略。
3.根据权利要求2所述的方法,其特征在于,所述多层配额策略包括三层配额策略,所述三层配额策略对应如下三种粒度:
包括所述计算设备的资源池;
所述计算设备;和
所述计算设备内的所述资源。
4.根据权利要求3所述的方法,其特征在于,所述计算设备内的所述资源包括如下至少一种:非统一内存访问NUMA节点、虚拟中央处理器VCPU、存储器或对象数。
5.根据权利要求2至4任一所述的方法,其特征在于,所述配额策略包括对应一组资源的整体配额策略,所述整体配额策略用于描述第一粒度的资源在所述一组资源的总体配额,所述第一粒度为所述整体配额策略对应的粒度。
6.根据权利要求2至4任一所述的方法,其特征在于,所述配额策略包括对应一组资源的独立配额策略,所述独立配额策略用于描述第二粒度的资源在所述一组资源的一个或多个资源中的配额,所述第二粒度为所述独立配额策略对应的粒度。
7.根据权利要求2至6任一所述的方法,其特征在于,所述配额策略还包括:租户配额策略;
所述租户配额策略对应一组资源,所述租户配额策略用于描述租户使用所述一组资源中的第三粒度的资源的配额,所述第三粒度为所述租户配额策略对应的粒度。
8.根据权利要求1至7任一所述的方法,其特征在于,包括所述计算设备的资源池为机架。
9.根据权利要求1至7任一所述的方法,其特征在于,包括所述计算设备的资源池为计算设备组。
10.根据权利要求1至9任一所述的方法,其特征在于,所述方法还包括:
以所述计算设备的所述一个资源为粒度为第二负载确定第二资源配额;
按照所述第二资源配额,从所述计算设备的所述资源中为所述第二负载分配部分资源。
11.根据权利要求1至10任一所述的方法,其特征在于,所述按照所述第一资源配额,从所述计算设备的所述资源中为所述第一负载分配部分资源,包括:
在所述计算设备的所述资源中获取满足所述第一资源配额的一组或多组候选资源,在所述一组或多组候选资源中为所述第一负载分配一组资源。
12.一种资源调度装置,其特征在于,所述装置包括:
确定模块,用于以位于计算设备内的一个资源为粒度为第一负载确定第一资源配额;
分配模块,用于按照所述第一资源配额,从所述计算设备的所述资源中为所述第一负载分配部分资源。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,用于:
按照资源配额策略,以位于所述计算设备内的所述资源为粒度为所述第一负载确定所述第一资源配额,所述资源配额策略包括一层或多层配额策略。
14.根据权利要求13所述的装置,其特征在于,所述多层配额策略包括三层配额策略,所述三层配额策略对应如下三种粒度:
包括所述计算设备的资源池;
所述计算设备;和
所述计算设备内的所述资源。
15.根据权利要求14所述的装置,其特征在于,所述计算设备内的所述资源包括如下至少一种:非统一内存访问NUMA节点、虚拟中央处理器VCPU、存储器或对象数。
16.根据权利要求13至15任一所述的装置,其特征在于,所述配额策略包括对应一组资源的整体配额策略,所述整体配额策略用于描述第一粒度的资源在所述一组资源的总体配额,所述第一粒度为所述整体配额策略对应的粒度。
17.根据权利要求13至15任一所述的装置,其特征在于,所述配额策略包括对应一组资源的独立配额策略,所述独立配额策略用于描述第二粒度的资源在所述一组资源的一个或多个资源中的配额,所述第二粒度为所述独立配额策略对应的粒度。
18.根据权利要求13至17任一所述的装置,其特征在于,所述配额策略还包括:租户配额策略;
所述租户配额策略对应一组资源,所述租户配额策略用于描述租户使用所述一组资源中的第三粒度的资源的配额,所述第三粒度为所述租户配额策略对应的粒度。
19.根据权利要求12至8任一所述的装置,其特征在于,包括所述计算设备的资源池为机架。
20.根据权利要求12至18任一所述的装置,其特征在于,包括所述计算设备的资源池为计算设备组。
21.根据权利要求12至20任一所述的装置,其特征在于,
所述确定模块,还用于以所述计算设备的所述一个资源为粒度为第二负载确定第二资源配额;
所述分配模块,还用于按照所述第二资源配额,从所述计算设备的所述资源中为所述第二负载分配部分资源。
22.根据权利要求12至21任一所述的装置,其特征在于,所述分配模块,用于:
在所述计算设备的所述资源中获取满足所述第一资源配额的一组或多组候选资源,在所述一组或多组候选资源中为所述第一负载分配一组资源。
23.一种资源管理系统,其特征在于,包括:一个或多个计算设备,以及调度器,所述调度器包括权利要求12至22任一所述的资源调度装置。
24.一种计算设备,其特征在于,包括:
处理器和存储器;
所述存储器,用于存储计算机指令;
所述处理器,用于执行所述存储器存储的计算机指令,使得所述计算设备执行权利要求1至11任一所述的资源调度方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令指示计算设备执行权利要求1至11任一所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/101847 WO2022110786A1 (zh) | 2020-11-27 | 2021-06-23 | 资源调度方法、装置及系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020113759311 | 2020-11-27 | ||
CN202011375931 | 2020-11-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564299A true CN114564299A (zh) | 2022-05-31 |
Family
ID=81712159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011526168.8A Pending CN114564299A (zh) | 2020-11-27 | 2020-12-22 | 资源调度方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114564299A (zh) |
WO (1) | WO2022110786A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987750A (zh) * | 2022-11-22 | 2023-04-18 | 西安鹏迪信息科技有限公司 | 一种基于分层的有限资源动态分配方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780640B (zh) * | 2012-10-18 | 2017-03-08 | 中国科学院声学研究所 | 一种多媒体云计算仿真方法 |
CN103049309B (zh) * | 2012-12-11 | 2017-09-29 | 华为技术有限公司 | 虚拟机的资源管理装置、方法和系统 |
US9853927B2 (en) * | 2013-08-27 | 2017-12-26 | Microsoft Technology Licensing, Llc | Enforcing resource quota in mail transfer agent within multi-tenant environment |
CN104572301B (zh) * | 2015-01-04 | 2019-02-26 | 中国联合网络通信集团有限公司 | 一种资源分配方法和系统 |
US10491541B2 (en) * | 2016-10-10 | 2019-11-26 | International Business Machines Corporation | Quota management protocol for shared computing systems |
CN110972278B (zh) * | 2018-09-28 | 2022-05-06 | 大唐移动通信设备有限公司 | 一种资源选择方法、装置、终端及存储介质 |
-
2020
- 2020-12-22 CN CN202011526168.8A patent/CN114564299A/zh active Pending
-
2021
- 2021-06-23 WO PCT/CN2021/101847 patent/WO2022110786A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022110786A1 (zh) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471727B (zh) | 一种任务处理方法、装置及系统 | |
CN110519361B (zh) | 基于kubernetes的容器云平台多租户构建方法及装置 | |
CN109565515B (zh) | 分布式资源管理系统中的动态租户结构调整的系统、设备和过程 | |
CN107066319B (zh) | 一种面向异构资源的多维调度系统 | |
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
CN107743611B (zh) | 优化动态资源分配的系统、方法和计算机存储介质 | |
CN107548549B (zh) | 分布式计算环境中的资源平衡 | |
US10972542B2 (en) | Data storage method and apparatus | |
Katyal et al. | A comparative study of load balancing algorithms in cloud computing environment | |
US7941804B1 (en) | Allocating resources among tiered partitions of different types | |
US8413155B2 (en) | System and method for a self-optimizing reservation in time of compute resources | |
US11106508B2 (en) | Elastic multi-tenant container architecture | |
US10305815B2 (en) | System and method for distributed resource management | |
CN110221920B (zh) | 部署方法、装置、存储介质及系统 | |
KR20170044639A (ko) | 멀티테넌트 어플리케이션 서버 환경에서 작업 관리자를 제공하는 시스템 및 방법 | |
US11467874B2 (en) | System and method for resource management | |
US20180260261A1 (en) | Availability management in a distributed computing system | |
CN109992418B (zh) | Sla感知的多租户大数据平台资源优先级调度方法及系统 | |
US20180262563A1 (en) | Availability management operations in a distributed computing system | |
Vig et al. | An efficient distributed approach for load balancing in cloud computing | |
EP3593245A1 (en) | Availability management interfaces in a distributed computing system | |
CN110365547B (zh) | 多层级租户体系的租户节点创建方法、装置、设备和计算机可读存储介质 | |
CN114564299A (zh) | 资源调度方法、装置及系统 | |
JP5969340B2 (ja) | リソース管理システム、リソース管理方法及びリソース管理プログラム | |
CN106126319A (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 |