CN114090228A - 资源分配方法、装置、电子设备及介质 - Google Patents
资源分配方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN114090228A CN114090228A CN202111145354.1A CN202111145354A CN114090228A CN 114090228 A CN114090228 A CN 114090228A CN 202111145354 A CN202111145354 A CN 202111145354A CN 114090228 A CN114090228 A CN 114090228A
- Authority
- CN
- China
- Prior art keywords
- task type
- resources
- specified task
- allocated
- load
- 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
- 238000013468 resource allocation Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000011217 control strategy Methods 0.000 claims abstract description 22
- 238000004891 communication Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/505—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 load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种资源分配方法、装置、电子设备及介质,所述方法包括:获取服务器上分配给指定任务类型的资源的负载信息;获取所述服务器上的资源配置信息;根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
Description
技术领域
本公开涉及云计算技术领域,具体涉及一种资源分配方法、装置、电子设备及介质。
背景技术
云计算服务提供商使用大量服务器为用户提供云计算服务。服务器通常也称为“节点”,为了充分利用节点资源,通常会将不同优先级的任务部署在同一节点上,比如将高优先延迟敏感性(Latency Sensitive,LS)任务和低优先尽力而为(Best-Effort,BE)任务部署在同一节点上。但是,不同任务的负载往往具有不同的高峰期,不同时间段需要占用的资源量不一样。例如,高优先的LS任务在白天资源量需求比较大,而在夜晚就比较少。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种资源分配方法、装置、电子设备及介质。
第一方面,本公开实施例中提供了一种资源分配方法。
具体地,所述资源分配方法,包括:
获取服务器上分配给指定任务类型的资源的负载信息;
获取所述服务器上的资源配置信息;
根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
结合第一方面,本公开在第一方面的第一种实现方式中,所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
结合第一方面,本公开在第一方面的第二种实现方式中,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
结合第一方面,本公开在第一方面的第三种实现方式中,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
结合第一方面,本公开在第一方面的第四种实现方式中,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务值;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
第二方面,本公开实施例中提供了一种资源分配装置。
具体地,所述资源分配装置,包括:
第一获取模块,被配置为获取服务器上分配给指定任务类型的资源的负载信息;
第二获取模块,被配置为获取所述服务器上的资源配置信息;
调整模块,被配置为根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
结合第二方面,本公开在第二方面的第一种实现方式中,所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
结合第二方面,本公开在第二方面的第二种实现方式中,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
结合第二方面,本公开在第二方面的第三种实现方式中,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
结合第二方面,本公开在第二方面的第四种实现方式中,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
结合第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务值;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面任一项所述的方法。
第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面任一项所述的方法。
第五方面,本公开实施例中提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面任一项所述的方法步骤。
根据本公开实施例提供的技术方案,通过获取服务器上分配给指定任务类型的资源的负载信息,获取所述服务器上的资源配置信息,然后根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。通过这种资源分配方式,可以实现对资源分配的更精确控制,避免资源分配冲突对任务运行造成的影响,整体上提高了服务器资源的利用效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开的实施例的资源分配方法的流程图;
图2示出了Cgroups机制下根据资源负载情况调整CPU资源分配的流程图;
图3示出根据本公开的实施例的资源分配装置的结构框图;
图4示出根据本公开的实施例的电子设备的结构框图;
图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
在本公开中,对用户信息或用户数据的获取均为经用户授权、确认,或由用户主动选择的操作。
在一种可行的资源分配方式中,通过提高LS任务抢占资源的权重、降低BE任务抢占资源的权重来保证同一节点部署的LS任务的执行。在这种方式中,当多种任务竞争同一资源时,权重高的任务具有更高的成功率。这种方式对资源分配的控制不够精确,容易导致这多种任务竞争同一资源,例如CPU、缓存、内存、带宽等,导致节点资源分配冲突,造成资源浪费。
根据本公开实施例提供的技术方案,通过获取服务器上分配给指定任务类型的资源的负载信息,获取所述服务器上的资源配置信息,然后根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。通过这种资源分配方式,可以实现对资源分配的更精确控制,避免资源分配冲突对任务运行造成的影响,整体上提高了服务器资源的利用效率。
图1示出根据本公开的实施例的资源分配方法的流程图。如图1所示,所述资源分配方法包括以下步骤S101-S103:
在步骤S101中,获取服务器上分配给指定任务类型的资源的负载信息;
在步骤S102中,获取所述服务器上的资源配置信息;
在步骤S103中,根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
根据本公开的实施例,任务类型可以根据优先级不同分为高优先级任务和低优先级任务,例如,LS任务是高优先级任务,BE任务是低优先级任务。或者,可以根据使用的资源类型和资源比重将任务分为CPU密集型任务、IO(输入/输出)密集型任务等。或者,可以根据任务的内容将任务分为直播类任务、语音通话类任务,等等,本公开对此不做具体限制。
根据本公开的实施例,服务器上部署的任务类型是预先确定的,例如部署高优先级任务、低优先级任务或者其他任务类型,而对于某一任务类型下的具体的任务数量则不做限制,每种任务类型下可以部署固定数量的任务,也可以动态部署可变数量的任务,以提高分配给指定任务类型的资源的利用效率,本公开对此不做具体限制。
根据本公开的实施例,服务器上分配给指定任务类型的资源的负载信息是指所述资源的利用率。本公开并不关注指定任务类型下的任务如何分配该可用资源,而是关注在不同指定任务类型间的资源分配,例如限制一种类型的指定任务类型的资源,而将更多的资源提供给另一指定任务类型的资源使用,等等。指定任务类型下的任务可以采用竞争方式、或者将资源与任务绑定的方式进行资源分配,本公开对此不做限制。
根据本公开实施例提供的技术方案,通过获取服务器上分配给指定任务类型的资源的负载信息,获取所述服务器上的资源配置信息,然后根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。通过这种资源分配方式,可以实现对资源分配的更精确控制,避免资源分配冲突对任务运行造成的影响,整体上提高了服务器资源的利用效率。
根据本公开的实施例,资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
其中,物理中央处理单元也称物理CPU(Central Processing Unit,中央处理单元),是服务器设备插槽中的CPU数量。逻辑中央处理单元也称逻辑CPU,一个物理CPU上可以虚拟出多个逻辑CPU。非统一内存访问架构单元即NUMA(Non Uniform Memory AccessArchitecture)单元,是一种为多处理器的电脑设计的内存架构,一个NUMA包含一组物理CPU,这组物理CPU共享同一块本地内存,内存通过内存控制器直接绑定在物理CPU上。其中,物理CPU访问自身管理的本地内存的物理地址时会有较短的响应时间,而访问其他物理CPU管理的内存地址时需要通过快速通道互联(QuickPath Interconnect,简写为QPI)访问,响应时间增加。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。其中,资源组是多种资源的组合,例如物理中央处理单元、存储器组合构成资源组。例如,一个NUMA单元是一个包含多个物理CPU和对应的本地内存的资源组。在调整分配给所述指定任务类型的资源时,可以调整分配给指定任务类型的资源组。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
根据本公开的实施例,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
在第一种预设控制策略中,当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值。
例如,假设第一阈值为60%,分配给第一指定任务类型的CPU的负载为65%,超过了第一阈值。这可能是由于第一指定任务类型的任务量较大导致的,因此可以增加分配给第一指定任务类型的CPU资源,以增强对第一指定任务类型的处理能力,使得分配给第一指定任务类型的CPU的负载不超过60%,以保证第一指定任务类型的服务质量。根据本公开的实施例,增加分配给第一指定任务类型的CPU资源,可以是增加用于第一指定任务类型的CPU数量,或者将处理能力更高的CPU分配给第一指定任务类型。根据本公开的实施例,第一指定任务类型可以是高优先级任务,其白天对资源的需求量较大,资源负载较高,当负载超过第一阈值时,可以给第一指定任务类型分配更多的资源,确保其服务质量。
另一方面,假设第二阈值为20%,分配给第一指定任务类型的CPU的负载为15%,低于第二阈值。这可能是由于第一指定任务类型的任务量较小导致的,因此可以减少分配给第一指定任务类型的CPU资源,使得分配给第一指定任务类型的CPU的负载不低于20%,以减少资源浪费。根据本公开的实施例,减少分配给第一指定任务类型的CPU资源,可以是减少用于第一指定任务类型的CPU数量,或者将处理能力更低的CPU分配给第一指定任务类型。根据本公开的实施例,第一指定任务类型可以是高优先级任务,其夜间对资源的需求量较小,资源负载较低,当负载低于第二阈值时,可以减少分配给第一指定任务类型的资源,减少资源浪费。
在第二种预设控制策略中,当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值。
例如,假设第三阈值为0.8,分配给第一指定任务类型的资源的负载为60%,分配给第二指定任务类型的资源的负载为30%时,分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比为2,超过了第三阈值。此时,分配给第一指定任务类型的资源的负载较重,而分配给第二指定任务类型的资源的负载较轻,可以增加分配给第一指定任务类型的资源以增强对第一指定任务类型的处理能力以确保其服务质量,和/或减少分配给第二指定任务类型的资源以减少资源浪费。根据本公开的实施例,当第一指定任务类型是高优先级任务,第二指定任务类型是低优先级任务时,可以将第三阈值设置为小于1,保证分配给高优先级任务的资源的负载低于分配给低优先级任务的资源的负载,以确保高优先级任务的服务质量。
在第三种预设控制策略中,当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
根据本公开的实施例,假设第四阈值是50%,第五阈值是50%,则当分配给第一指定任务类型的资源的负载低于50%,分配给第二指定任务类型的资源的负载低于50%时,说明两种任务类型的负载都较低,此时可以隔离分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源,使得二者没有交集,从而使第一指定任务类型和第二指定任务类型互不影响,确保二者都能获得较好的服务质量。例如,可以给第一指定任务类型和第二指定任务类型分配不同的NUMA单元,使二者的执行彼此隔离,互不影响。
根据本公开的实施例,根据分配给第一指定任务类型的资源的负载和分配给第二指定任务类型的资源的负载,可以确定不同的资源隔离程度。例如,分配给第一指定任务类型的资源的负载和分配给第二指定任务类型的资源的负载越低,则资源隔离程度越高。例如,资源隔离程度从高到低可以包括:给第一指定任务类型和第二指定任务类型分配不同的NUMA单元、给第一指定任务类型和第二指定任务类型分配不同的物理CPU、给第一指定任务类型和第二指定任务类型分配不同的逻辑CPU。资源隔离程度越高,不同类型的任务对彼此的影响越小。以此方式,可以根据不同的负载情况,尽可能确保不同类型任务的服务质量。
以上实例仅以CPU资源为例进行示意性说明,可以理解,对于其他资源也可以参照上述方式进行资源分配,其中,以上三种方式也可以任意组合作为预设控制策略,以实现对资源的更灵活和更精确的分配。或者,也可以根据实际需要设置其他预设控制策略,本公开在此不予赘述。
根据本公开的实施例,所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
在本公开方式中,当资源为NUMA单元时,一个CPU插槽可以对应一个NUMA单元,服务器主板上一般会有多个CPU插槽,在调整分配给第一指定任务类型的资源和分配给第二指定任务类型的资源时,为了实现分配的资源没有交集,可以将一CPU插槽内物理CPU、连接物理CPU的内存、PCI设备例如光纤网卡等分配给低优先级任务,而将另一CPU插槽内物理CPU、连接物理CPU的内存、PCI设备分配给高优先级任务,以实现高低优先级任务之间的物理隔离,保证两种任务的服务质量。
下面以Cgroups机制下的CPU资源分配为例,具体说明本公开的资源分配方法。
Cgroups(Control Groups)是linux内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分的不同组内。CPUset是Cgroups控制器的一种类型,用来限制任务使用的CPU。
图2示出了Cgroups机制下根据资源负载情况调整CPU资源分配的流程图。如图2所示,根据资源负载情况调整CPU资源分配的过程主要包括以下步骤:
步骤S201,在服务器上部署高优先级任务和低优先级任务;
步骤S202,获取服务器上分配给高优先级任务的CPU资源的负载以及分配给低优先级任务的CPU资源的负载;
步骤S203,获取服务器上的CPU拓扑信息,其中,CPU拓扑信息包括NUMA数量、每个NUMA中包含的物理CPU数量、每个物理CPU上实现的逻辑CPU数量,等等;
步骤S204,根据CPU拓扑信息、分配给高优先级任务的CPU资源的负载、分配给低优先级任务的CPU资源的负载以及预设控制策略,调整分配给高优先级任务的CPU资源和分配给低优先级任务的CPU资源,并利用CPUset控制器根据调整后的资源分配来控制高优先级任务和低优先级任务使用的CPU资源。
本公开实施例中未展开描述的相关内容,可以参考前述实施例中的相关说明,在此不赘述。
图3示出根据本公开的实施例的资源分配装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
如图3所示,所述资源分配装置300包括第一获取模块310、第二获取模块320和调整模块330。
所述第一获取模块310被配置为获取服务器上分配给指定任务类型的资源的负载信息;
所述第二获取模块320被配置为获取所述服务器上的资源配置信息;
所述调整模块330被配置为根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
根据本公开实施例提供的技术方案,通过获取服务器上分配给指定任务类型的资源的负载信息,获取所述服务器上的资源配置信息,然后根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。通过这种资源分配方式,可以实现对资源分配的更精确控制,避免资源分配冲突对任务运行造成的影响,整体上提高了服务器资源的利用效率。
根据本公开的实施例,所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
根据本公开的实施例,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
根据本公开的实施例,所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务值;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集
本公开还公开了一种电子设备,图4示出根据本公开的实施例的电子设备的结构框图。
如图4所示,所述电子设备400包括存储器401和处理器402,其中,存储器401用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器402执行以实现根据本公开的实施例的方法:
获取服务器上分配给指定任务类型的资源的负载信息;
获取所述服务器上的资源配置信息;
根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
根据本公开的实施例,所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
根据本公开的实施例,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
根据本公开的实施例,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
根据本公开的实施例,所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务值;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
图5示出适于用来实现根据本公开实施例的方法的计算机系统的结构示意图。
如图5所示,计算机系统500包括处理单元501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行上述实施例中的各种处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。处理单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。其中,所述处理单元501可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括计算机指令,该计算机指令被处理器执行时实现上文所述的方法步骤。在这样的实施例中,该计算机程序产品可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种资源分配方法,包括:
获取服务器上分配给指定任务类型的资源的负载信息;
获取所述服务器上的资源配置信息;
根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
2.根据权利要求1所述的方法,其中:
所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
3.根据权利要求1所述的方法,其中,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
4.根据权利要求1所述的方法,其中,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
5.根据权利要求1所述的方法,其中,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
6.根据权利要求5所述的方法,其中:
所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
7.一种资源分配装置,包括:
第一获取模块,被配置为获取服务器上分配给指定任务类型的资源的负载信息;
第二获取模块,被配置为获取所述服务器上的资源配置信息;
调整模块,被配置为根据所述负载信息、所述资源配置信息和预设控制策略,调整分配给所述指定任务类型的资源。
8.根据权利要求7所述的装置,其中:
所述资源包括以下任意一项或多项:物理中央处理单元、逻辑中央处理单元、非统一内存访问架构单元、存储器、通信带宽;
所述分配给指定任务类型的资源的负载信息包括:分配给指定任务类型的资源的利用率;和/或分配给指定任务类型的资源中被所述指定任务类型实际使用的资源占所述服务器上所述资源总量的比例。
9.根据权利要求7所述的装置,其中,所述资源配置信息包括以下任意一项或多项:资源数量、资源性能、资源组中包含的资源数量、资源组中包含的资源的性能。
10.根据权利要求7所述的装置,其中,所述资源配置信息包括以下任意一项或多项:物理中央处理单元数量、逻辑中央处理单元数量、逻辑中央处理单元与物理中央处理单元的对应关系、非统一内存访问架构单元与物理中央处理单元的对应关系。
11.根据权利要求7所述的装置,其中,所述预设控制策略包括以下任意一项或多项:
当分配给第一指定任务类型的资源的负载超过第一阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不超过所述第一阈值,当分配给所述第一指定任务类型的资源的负载低于第二阈值时,调整分配给所述第一指定任务类型的负载的资源,使得分配给所述第一指定任务类型的资源的负载不低于所述第二阈值;
当分配给第一指定任务类型的资源的负载与分配给第二指定任务类型的资源的负载之比超过第三阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源的负载与分配给所述第二指定任务类型的资源的负载之比不超过所述第三阈值;
当所述第一指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第四阈值,所述第二指定任务类型使用的资源占所述服务器上所述资源的总量的比例低于第五阈值时,调整分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源,使得分配给所述第一指定任务类型的资源与分配给所述第二指定任务类型的资源没有交集。
12.根据权利要求11所述的装置,其中:
所述第一指定任务类型是高优先级任务,所述第二指定任务类型是低优先级任务值;
所述分配给所述第一指定任务类型的资源和分配给所述第二指定任务类型的资源没有交集,包括分配给所述第一指定任务类型的非统一内存访问架构单元与分配给所述第二指定任务类型的非统一内存访问架构单元没有交集。
13.一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-6任一项所述的方法步骤。
14.一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1-6任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111145354.1A CN114090228A (zh) | 2021-09-28 | 2021-09-28 | 资源分配方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111145354.1A CN114090228A (zh) | 2021-09-28 | 2021-09-28 | 资源分配方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090228A true CN114090228A (zh) | 2022-02-25 |
Family
ID=80296266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111145354.1A Pending CN114090228A (zh) | 2021-09-28 | 2021-09-28 | 资源分配方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090228A (zh) |
-
2021
- 2021-09-28 CN CN202111145354.1A patent/CN114090228A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10772115B2 (en) | Resource scheduling method and server | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
US8504691B1 (en) | System and method for allocating resources for heterogeneous service requests | |
US7036123B2 (en) | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group | |
US20170357448A1 (en) | Selective i/o prioritization by system process/thread | |
WO2018233299A1 (zh) | 调度处理器的方法、装置、设备及介质 | |
CN114327843A (zh) | 任务调度方法及装置 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN109450803B (zh) | 流量调度方法、装置和系统 | |
CN111813543A (zh) | 一种自适应调度方法、设备及计算机可读存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN112925616A (zh) | 任务分配方法、装置、存储介质及电子设备 | |
US20170344266A1 (en) | Methods for dynamic resource reservation based on classified i/o requests and devices thereof | |
CN115705247A (zh) | 一种运行进程的方法及相关设备 | |
CN115640113A (zh) | 多平面弹性调度方法 | |
CN117078495A (zh) | 图形处理器的内存分配方法、装置、设备及存储介质 | |
CN114090228A (zh) | 资源分配方法、装置、电子设备及介质 | |
CN112445569B (zh) | 部署方法、装置、电子设备及存储介质 | |
CN112130974B (zh) | 云计算资源配置方法、装置、电子设备与存储介质 | |
CN114489463B (zh) | 动态调整存储卷qos的方法、装置及计算设备 | |
CN114675973A (zh) | 资源管理方法、设备、存储介质及程序产品 | |
CN113377492A (zh) | 内存管理方法、装置、电子设备及计算机可读存储介质 | |
CN114760327B (zh) | 云盘资源配置的调整方法及装置 | |
CN110727400A (zh) | 用于分布式存储系统的流量控制方法、装置、设备和介质 | |
CN117149440B (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 |