CN115525434A - 资源分配方法、容器管理组件和资源分配系统 - Google Patents
资源分配方法、容器管理组件和资源分配系统 Download PDFInfo
- Publication number
- CN115525434A CN115525434A CN202211278945.0A CN202211278945A CN115525434A CN 115525434 A CN115525434 A CN 115525434A CN 202211278945 A CN202211278945 A CN 202211278945A CN 115525434 A CN115525434 A CN 115525434A
- Authority
- CN
- China
- Prior art keywords
- container group
- information
- node
- container
- 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
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提出了一种资源分配方法、容器管理组件和资源分配系统,涉及计算机技术领域。在一些实施例中,资源分配方法包括:容器管理组件获取调度至工作节点上的容器组的信息,其中,容器组的信息包括CPU资源申请信息和存储资源申请信息;容器管理组件根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个NUMA节点下的可用资源信息,从至少一个NUMA节点中确定与容器组匹配的NUMA节点;容器管理组件将与所述容器组匹配的NUMA节点下的CPU资源和存储资源分配给所述容器组。通过以上方法,能够实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种资源分配方法、容器管理组件和资源分配系统。
背景技术
容器云是当前云计算平台的一个重要类型。客户在构建容器云时,往往会部署数百台物理服务器来承载容器云上的业务。
目前,主要通过容器编排工具对容器云进行集群管理,例如,通过Kubernetes将容器调度至集群中的工作节点、为容器分配工作节点上的资源等等。
发明内容
本公开要解决的一个技术问题是,提供一种资源分配方法、容器管理组件和资源分配系统,以实现为容器组分配的CPU资源和存储资源在非一致性内存架构(Non-UniformMemory Access,NUMA)维度的对齐。
根据本公开的第一方面,提出了一种资源分配方法,包括:容器管理组件获取调度至工作节点上的容器组的信息,其中,所述容器组的信息包括CPU资源申请信息和存储资源申请信息;所述容器管理组件根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点,其中,与所述容器组匹配的NUMA节点为同时能够满足所述容器组CPU资源和存储资源申请需求的NUMA节点;所述容器管理组件将与所述容器组匹配的NUMA节点下的CPU资源和存储资源,分配给所述容器组。
在一些实施例中,所述容器管理组件根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点包括:所述容器管理组件根据所述容器组的CPU资源申请信息、以及所述工作节点在至少一个NUMA节点下的可用CPU资源信息,从所述至少一个NUMA节点中选取第一NUMA节点,其中,所述第一NUMA节点为能够满足所述容器组CPU资源申请需求的NUMA节点;所述容器管理组件根据所述容器组的存储资源申请信息、以及所述工作节点在第一NUMA节点下的可用存储资源信息,从所述第一NUMA节点中选取第二NUMA节点,并将所述第二NUMA节点作为与所述容器组匹配的NUMA节点。
在一些实施例中,还包括:在所述将与所述容器组匹配的NUMA节点下的CPU资源和存储资源分配给所述容器组之后,所述容器管理组件根据与所述容器组匹配的NUMA节点的信息,更新所述容器组的信息。
在一些实施例中,还包括:在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,通过拓扑资源管理组件更新所述工作节点在至少一个NUMA节点下的可用资源信息。
在一些实施例中,还包括:在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,通过所述拓扑资源管理组件在所述容器组的信息中设置资源分配完成标识。
在一些实施例中,还包括:在所述容器管理组件获取分配至工作节点上的容器组的信息之前,通过调度管理组件将待调度容器组调度至所述工作节点上。
在一些实施例中,通过调度管理组件将待调度容器组调度至所述工作节点上包括:获取待调度容器组的资源申请信息;根据所述待调度容器组的资源申请信息、以及集群中多个工作节点在NUMA维度下的可用资源信息,从所述多个工作节点中确定为所述待调度容器组分配的工作节点;将所述待调度容器组调度至为所述待调度容器组分配的工作节点上。
在一些实施例中,将所述待调度容器组调度至为所述待调度容器组分配的工作节点上包括:根据为所述待调度容器组分配的工作节点的信息,更新数据库中所述待调度容器组的信息。
在一些实施例中,通过调度管理组件将待调度容器组调度至所述工作节点上还包括:在从所述多个工作节点中确定为所述待调度容器组分配的工作节点之前,从所述多个工作节点中滤除尚未针对已分配容器组完成资源分配的工作节点。
根据本公开的第二方面,提出一种容器管理组件,包括:获取模块,被配置为获取调度至工作节点上的容器组的信息,其中,所述容器组的信息包括CPU资源申请信息和存储资源申请信息;确定模块,被配置为根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点,其中,与所述容器组匹配的NUMA节点为同时能够满足所述容器组CPU资源和存储资源申请需求的NUMA节点;分配模块,被配置为将与所述容器组匹配的NUMA节点下的CPU资源和存储资源,分配给所述容器组。
在一些实施例中,所述确定模块被配置为:根据所述容器组的CPU资源申请信息、以及所述工作节点在至少一个NUMA节点下的可用CPU资源信息,从所述至少一个NUMA节点中选取第一NUMA节点,其中,所述第一NUMA节点为能够满足所述容器组CPU资源申请需求的NUMA节点;根据所述容器组的存储资源申请信息、以及所述工作节点在第一NUMA节点下的可用存储资源信息,从所述第一NUMA节点中选取第二NUMA节点,并将所述第二NUMA节点作为与所述容器组匹配的NUMA节点。
在一些实施例中,所述容器管理组件还包括:更新模块,被配置为在所述分配模块将与所述容器组匹配的NUMA节点下的CPU资源和存储资源分配给所述容器组之后,根据与所述容器组匹配的NUMA节点的信息,更新所述容器组的信息。
根据本公开的第三方面,提出一种资源分配系统,包括:如前所述的容器管理组件;拓扑资源管理组件,被配置为在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,更新所述工作节点在至少一个NUMA节点下的可用资源信息。
在一些实施例中,所述拓扑资源管理组件还被配置为:在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,在所述容器组的信息中设置资源分配完成标识。
在一些实施例中,所述资源分配系统还包括:调度管理组件,被配置为在所述容器管理组件获取分配至工作节点上的容器组的信息之前,将待调度容器组调度至所述工作节点上。
在一些实施例中,所述调度管理组件将待调度容器组调度至所述工作节点上包括:获取待调度容器组的资源申请信息;根据所述待调度容器组的资源申请信息、以及集群中的多个工作节点在NUMA维度下的可用资源信息,从所述多个工作节点中确定为所述待调度容器组分配的工作节点;将所述待调度容器组调度至为所述待调度容器组分配的工作节点上。
在一些实施例中,所述调度管理组件将待调度容器组调度至所述工作节点上还包括:在从所述多个工作节点中确定为所述待调度容器组分配的工作节点之前,从所述多个工作节点中滤除尚未针对已分配容器组完成资源分配的工作节点。
根据本公开的第四方面,还提出一种电子装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上述的资源分配方法。
根据本公开的第五方面,还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述的资源分配方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为根据本公开一些实施例的资源分配方法的流程示意图;
图2为根据本公开另一些实施例的资源分配方法的流程示意图;
图3为根据本公开一些实施例的将容器组调度至工作节点的流程示意图;
图4为根据本公开一些实施例的将工作节点上的资源分配给容器组的流程示意图;
图5为根据本公开一些实施例的对工作节点的可用资源和容器组信息进行更新的流程示意图;
图6为根据本公开一些实施例的容器管理组件的结构示意图;
图7为根据本公开另一些实施例的资源分配系统的结构示意图;
图8为根据本公开再一些实施例的资源分配系统的结构示意图;
图9为根据本公开另一些实施例的电子设备的结构示意图;
图10为根据本公开一些实施例的计算机系统的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
相关技术中,在基于容器编排平台kubernetes和docker构建的集群环境中,应用容器可以通过kubelet组件中的CPU管理器(CPU Manager)进行CPU绑核,也可以通过设备插件(device-plugins)的方式扩展外围设备,例如GPU资源等外围设备。外围设备通过设备管理器(Device Manager)进行管理,再启用拓扑管理器(Topology Manager)机制对CPU管理器和设备管理器的资源分配结果进行汇总以给出最优拓扑结果,最后尽量保证容器被分配的CPU、GPU等资源可以做到亲和性和独占性。
本公开的发明人发现,相关技术对存储设备并没有做出较好的支持,且无法实现为容器分配的CPU与存储设备在NUMA维度进行资源对齐。
图1为根据本公开一些实施例的资源分配方法的流程示意图。如图1所示,本公开实施例的资源分配方法包括:
步骤S110:容器管理组件获取调度至工作节点上的容器组的信息。
其中,容器组为一组容器的集合。示例性地,在容器编排工具Kubernetes中,容器组具体为Pod。Pod是Kubernetes调度的基本单位,Pod内的容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。
在一些实施例中,容器管理组件通过接口服务组件查询数据库,以得到工作节点(Worker Node)上的容器组的信息。例如,当工作节点为集群中的工作节点1时,通过接口服务组件从数据库中查询工作节点1上的容器组的信息。示例性地,工作节点可以是物理机,也可以是依托于物理机的虚拟机。
示例性地,容器管理组件可基于容器编排工具Kubernetes中的Kubelet组件构建,接口服务组件可基于Kubernetes中的Kube接口服务组件(Kube API Server)构建,数据库可基于分布式键值数据库(ETCD)构建。
在一些实施例中,工作节点上的容器组的信息包括:调度至该荣作节点上的容器组的标识、容器组的CPU资源申请信息和存储资源申请信息。
步骤S120:容器管理组件根据容器组的CPU资源申请信息和存储资源申请信息、以及工作节点在至少一个NUMA节点下的可用资源信息,从至少一个NUMA节点中确定与容器组匹配的NUMA节点。
其中,与容器组匹配的NUMA节点为同时能够满足容器组的CPU资源申请需求和存储资源申请需求的NUMA节点。
在一些实施例中,从至少一个NUMA节点中确定与容器组匹配的NUMA节点包括:步骤S121和步骤S122。
步骤S121:容器管理组件根据容器组的CPU资源申请信息、以及工作节点在至少一个NUMA节点下的可用CPU资源信息,从至少一个NUMA节点中选取第一NUMA节点。
其中,第一NUMA节点为能够满足容器组的CPU资源申请需求的NUMA节点。
例如,假设容器组的CPU资源申请信息表明容器组需要申请2个CPU核,容器组所在工作节点的可用资源信息包括两个NUMA节点的可用资源信息,具体为NUMA0中的32个可用的CPU核、200G的可用存储资源、以及NUMA1中的32个可用的CPU核、100G的可用存储资源,由于NUMA0、NUMA1均能满足容器组的CPU资源申请需求,因此将NUMA0、NUMA1作为第一NUMA节点。
步骤S122:容器管理组件根据容器组的存储资源申请信息、以及工作节点在第一NUMA节点下的可用存储资源信息,从第一NUMA节点中选取第二NUMA节点,并将第二NUMA节点作为与容器组匹配的NUMA节点。
例如,假设容器组的存储资源申请信息包括200G的存储资源;通过步骤S121确定的第一NUMA节点下的可用存储资源信息包括:NUMA0中的200G的可用存储资源、NUMA1中的100G的可用存储资源,由于NUMA1能够同时满足容器组CPU资源和存储资源申请需求,因此将NUMA1作为第二NUMA节点,即与容器组匹配的NUMA节点。
在一些实施例中,容器组申请的存储资源为AEP。AEP是一种新型的非易失(OptaneMemory)设备,又被称作Apache Pass,一般习惯称作AEP。在这之前也有类似的设备称作非易失性双列直插式内存模块(non-volatile dual in-line memory module,简称NVDIMM)或持久化内存(Persistent Memory,简称PMEM)。
在一些实施例中,基于flexvolume或容器存储接口(CSI)存储插件扩展方式扩展使用AEP设备。
在一些实施例中,在容器组的配置文件(例如Pod的yaml文件)中增加一个属性(例如,将该属性命名为aepsize),该属性用于指示容器组是否需要使用AEP设备,例如,当该属性取值为1时,指示容器组需要使用AEP设备,当该属性取值为
如果容器组使用AEP设备,则会按照图1所示流程进行资源分配处理,如果容器组未使用AEP设备,则可按照相关技术进行资源分配处理。
步骤S130:容器管理组件将与容器组匹配的NUMA节点下的CPU资源和存储资源分配给容器组。
示例性地,假设通过步骤S110和步骤S120确定的与容器组匹配的NUMA节点为NUMA1,则将NUMA1下的CPU资源和存储资源分配给该容器组。
在本公开实施例中,通过以上步骤能够实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐,实现更好的容器亲和性,有效改善针对容器进行的资源分配的效果,提升容器化部署的应用的性能。
图2为根据本公开另一些实施例的资源分配方法的流程示意图。如图2所示,本公开实施例的资源分配方法包括:
步骤S210:调度管理组件将容器组调度至工作节点。
在一些实施例中,调度管理组件设置在集群中的主节点(Master Node)上。其中,集群包括主节点和工作节点。主节点和工作节点可以是物理机,也可以是依托于物理机的虚拟机。
在一些实施例中,调度管理组件通过图3所示流程为容器组分配工作节点,以将容器组调度至集群中的工作节点上。
步骤S220:容器管理组件为调度至其所在工作节点上的容器组分配资源。
在一些实施例中,容器管理组件通过图1所示流程为调度至其所在工作节点上的容器组分配资源。
在一些实施例中,容器管理组件通过图4所示流程为调度至其所在工作节点上的容器组分配资源。
步骤S230:拓扑资源管理组件更新工作节点下的可用资源信息和容器组的信息。
在一些实施例中,拓扑资源管理组件设置在集群中的主节点上。
在一些实施例中,拓扑资源管理组件通过图5所示流程更新工作节点下的可用资源信息和容器组的信息。
在本公开实施例中,通过以上步骤能够实现将容器调度至工作节点、以及为调度至工作节点上的容器组分配资源。
图3为根据本公开一些实施例的将容器组调度至工作节点的流程示意图。如图3所示,将容器组调度至工作节点的流程包括:
步骤S211:调度管理组件获取容器组的资源申请信息。
在一些实施例中,调度管理组件通过接口服务组件查询数据库,以得到容器组的资源申请信息。示例性地,在容器编排工具Kubernetes中,调度管理组件具体为KubeScheduler组件,接口服务组件具体为Kube API Server,数据库具体为分布式键值数据库ETCD,查询得到的容器组的信息为Pod信息。
其中,数据库包括多个容器组的信息,每个容器组的信息包括容器组的资源申请信息。在一些实施例中,容器组的资源申请信息包括容器组的CPU资源申请信息和存储资源申请信息中的至少一项。
步骤S212:调度管理组件根据容器组的资源申请信息、以及集群中的多个工作节点在NUMA维度下的可用资源信息,从多个工作节点中确定为容器组分配的工作节点。
在一些实施例中,工作节点在NUMA维度下的可用资源信息包括可用CPU资源信息和可用存储资源信息中的至少一种。
在一些实施例中,在获取到容器组的资源申请信息和多个工作节点在NUMA维度下的可用资源信息之后,调度管理组件从多个工作节点中选取能够满足容器组的资源申请需求、且实现在NUMA维度的容器亲和性的工作节点。当选取出的满足上述条件的工作节点为一个时,调度管理组件将该工作节点作为给容器组分配的工作节点;当选取出的满足上述条件的工作节点为多个时,调度管理组件可再结合其他容器调度策略选取出为容器组分配的工作节点,或者,将选取出的满足上述条件的多个工作节点中的任意一个作为给容器组分配的工作节点。
例如,假设容器组申请2个CPU核和100G的存储资源,候选工作节点为工作节点1和工作节点2,且工作节点1的可用资源为:NUMA0中的32个可用的CPU核、200G的可用存储资源,NUMA1中的32个可用的CPU核、100G的可用存储资源,工作节点2的可用资源信息为:NUMA1中的64个可用的CPU核、500G的可用存储资源,NUMA2中的32个可用的CPU核,通过比较容器组申请的资源、与候选工作节点上的可用资源,确定工作节点1和工作节点2均能够满足容器组的资源申请需求、且实现在NUMA维度的容器亲和性,在这种情况下,调度管理组件可再结合其他调度策略从工作节点1、2中选取为容器组分配的工作节点。
在一些实施例中,将容器组调度至工作节点的流程还包括:在从多个工作节点中确定为容器组分配的工作节点之前,调度管理组件从多个工作节点中滤除尚未针对已分配容器组完成资源分配的工作节点。
例如,对于多个工作节点中的每一个,调度管理组件判断该工作节点是否已分配容器组,即判断该工作节点是否已绑定容器组。如果该工作节点已分配容器组,再判断该工作节点是否已针对已分配容器组完成资源分配。如果该工作节点尚未针对已分配容器组完成资源分配,将该工作节点滤除;如果该工作节点未分配容器组、或者该工作节点已针对已分配容器组完成资源分配,保留该工作节点。
在一些实施例中,调度管理组件根据如下方式判断该工作节点是否已分配容器组:判断是否存在包括该工作节点标识的容器组信息;若存在包括该工作节点标识的容器组信息,确定该工作节点已分配容器组;否则,确定该工作节点未分配容器组。
在一些实施例中,调度管理组件根据如下方式判断工作节点是否已针对已分配容器组完成资源分配:对于已分配至该工作节点上的每个容器组,判断该容器组信息中的NUMA标识是否为空,若该容器组信息中的NUMA标识为空,表明该工作节点还未完成针对已分配容器组的资源分配;若已分配容器组信息中的NUMA标识不为空,表明该工作节点已完成针对已分配容器组的资源分配。
在本公开实施例中,调度管理器通过判断工作节点在NUMA维度的可用资源是否满足容器组的资源申请需求,以将容器组调度至工作节点上,一方面,能够优化容器调度效果,避免将容器组调度至资源不足的工作节点上而导致大量的容器组长时间处于创建中,提高容器部署效率,另一方面,便于后续为该容器组分配工作节点上的资源,提高资源分配效果。进一步,通过判断工作节点上是否有未处理完的资源分配逻辑,如果有,则不将容器组调度到该工作节点,能够解决因工作节点的可用资源更新延迟所导致的调度管理组件计算错误,从而错误放行容器组的问题。
步骤S213:调度管理组件将容器组调度至为其分配的工作节点上。
在一些实施例中,调度管理组件在容器组的信息中设置为容器组分配的工作节点的信息。其中,为容器组分配的工作节点的信息包括工作节点的标识。例如,调度管理组件通过接口服务组件在数据库存储的容器组信息中增加为容器组分配的工作节点的标识。
在本公开实施例中,通过以上步骤能够使调度管理组件在NUMA维度上感知工作节点的可用资源,并据此进行容器调度,不仅提高了容器调度效果,而且有助于提高后续的资源分配效果。
图4为根据本公开一些实施例的将工作节点上的资源分配给容器组的流程示意图。如图4所示,本公开实施例中的将工作节点上的资源分配给容器组的流程包括:
步骤S221:容器管理组件获取分配至其所在工作节点上的容器组的信息。
其中,容器组为一组紧密联系的容器集合。示例性地,在容器编排工具Kubernetes中,容器组具体为Pod。Pod是Kubernetes调度的基本单位,Pod内的容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。
在一些实施例中,容器管理组件通过接口服务组件查询数据库,以得到其所在工作节点(Worker Node)上的容器组的信息。具体实施时,在基于容器编排工具Kubernetes构建资源分配系统时,容器管理组件可基于Kubelet组件构建,接口服务组件可基于Kube APIServer构建,数据库可基于分布式键值数据库ETCD构建。
例如,容器管理组件所在的工作节点为集群中的工作节点1,则通过接口服务组件从数据库中查询工作节点1上的容器组的信息。其中,工作节点可以是物理机,也可以是依托于物理机的虚拟机。
其中,分配至其所在工作节点上的容器组的信息包括:分配的工作节点标识、容器组的CPU资源申请信息和存储资源申请信息。
在一些实施例中,在步骤S221之前,还包括:步骤A至步骤C。
步骤A:对工作节点进行磁盘规划,以确定工作节点在至少一个NUMA节点下的存储资源。
在一些实施例中,工作节点的存储资源为AEP。AEP类型的存储设备在宿主机上的使用方式相当于一块硬盘。例如确定工作节点在至少一个NUMA节点下的存储资源为:NUMA0下的存储资源为100G的AEP0,NUMA1下的存储资源为200G的AEP1。
步骤B:配置容器管理组件启动命令,基于启动命令启动。
例如,在容器管理组件基于kubelet组件构建时,可按如下方式配置kubelet组件的启动命令:在kubelet组件的启动命令中增加如下命令参数:
--cpu-manager-policy=static--feature-gates=CPUManager=true--topology-manager-policy=single-numa-node;其表示启用将容器使用资源调度到一个NUMA节点上的亲和性策略。
步骤C:在启动容器管理组件后,对其所在工作节点在至少一个NUMA节点的可用资源进行初始化。
步骤S222:容器管理组件根据容器组的CPU资源和存储资源申请信息、以及工作节点在至少一个NUMA节点下的可用资源信息,从至少一个NUMA节点中确定与容器组匹配的NUMA节点。
其中,与容器组匹配的NUMA节点为同时能够满足容器组CPU资源和存储资源申请需求的NUMA节点。
在一些实施例中,步骤S222包括:容器管理组件根据容器组的CPU资源申请信息、以及工作节点在至少一个NUMA节点下的可用CPU资源信息,从至少一个NUMA节点中选取第一NUMA节点,其中,第一NUMA节点为能够满足容器组CPU资源申请需求的NUMA节点;容器管理组件根据容器组的存储资源申请信息、以及工作节点在第一NUMA节点下的可用存储资源信息,从第一NUMA节点中选取第二NUMA节点,并将第二NUMA节点作为工作节点中的与容器组匹配的NUMA节点。
在一些实施例中,容器组申请的存储资源为AEP。AEP是一种新型的非易失(OptaneMemory)设备,又被称作Apache Pass,一般习惯称作AEP。在这之前也有类似的设备称作非易失性双列直插式内存模块(non-volatile dual in-line memory module,简称NVDIMM)或持久化内存(Persistent Memory,简称PMEM)。
在一些实施例中,在容器管理组件具体基于kubelet组件构建时,可通过扩展原有的CPU管理器(CPU Manager)的拓扑计算逻辑,以得到步骤S222所示的处理逻辑,从而减少代码的修改量。
步骤S223:容器管理组件将与容器组匹配的NUMA节点下的CPU资源和存储资源分配给容器组。
示例性地,假设确定的工作节点中与容器组匹配的NUMA节点为NUMA1,则按照容器组的需求,将NUMA1下的可用CPU资源和可用存储资源分配给该容器组。
步骤S224:容器管理组件根据与容器组匹配的NUMA节点的信息,更新容器组的信息。
在一些实施例中,容器管理组件在容器组的信息中设置为与容器组匹配的NUMA节点的信息。其中,与容器组匹配的NUMA节点的信息包括NUMA节点的标识。例如,容器管理组件通过接口服务组件,在数据库存储的容器组信息中,增加与容器组匹配的NUMA节点的标识。
在一些实施例中,在资源分配系统基于容器编排工具Kubernetes构建、容器管理组件基于kubelet组件构建时,将与容器组匹配的NUMA节点的标识以patch方式更新到数据库存储的pod信息中。其中,patch是将对象中某些字段的修改提交给Kubernetes。
在一些实施例中,pod的信息中会增加两个属性:一是为容器组分配的NUMA节点标识,二是为容器组分配的存储资源标识。例如,当为容器组分配的NUMA节点为工作节点1下的NUMA0时,在pod的信息中将为容器组分配的NUMA节点标识设置为dev1/NUMA0;当为容器组分配的存储资源为AEP0时,在pod信息中将为容器组分配的存储资源标识设置为vg:AEP0。
在本公开实施例中,通过以上流程能够将工作节点上的资源分配给容器组,实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐,从而实现更好的容器亲和性,有效改善针对容器进行的资源分配的效果,提升容器化部署的应用的性能。
图5为根据本公开一些实施例的对工作节点的可用资源和容器组信息进行更新的流程示意图。如图5所示,本公开实施例的对工作节点的可用资源和容器组信息进行更新的流程包括:
步骤S231:拓扑资源管理组件对容器组的信息进行监听。
在一些实施例中,拓扑资源管理组件设置在集群中的主节点中。
在一些实施例中,拓扑资源管理组件通过接口服务组件对数据库中存储的容器组的信息进行监听。
步骤S232:在监听到容器组的信息包含与容器组匹配的NUMA节点的信息之后,拓扑资源管理组件更新该工作节点在至少一个NUMA节点下的可用资源信息。
在一些实施例中,拓扑资源管理组件在监听到容器组的信息中包含NUMA节点的标识等NUMA节点的信息之后,更新该工作节点在NUMA维度的可用资源信息。
例如,假设原先工作节点在NUMA维度下的可用资源信息为:NUMA0中有32个可用的CPU核、200G的可用存储资源,NUMA1中有32个可用的CPU核、100G的可用存储资源,在容器管理组件将NUMA0中的2个CPU核、200G的存储资源分配给一个容器组之后,在该容器组的信息中增加NUMA节点的标识“NUMA0”。在拓扑资源管理组件检测到该容器组信息包含NUMA节点的标识“NUMA0”之后,更新该工作节点在NUMA维度的可用资源信息。其中,更新后的工作节点在NUMA维度的可用资源信息为:NUMA0中有30个可用的CPU核、0G的可用存储资源,NUMA1中有32个可用的CPU核、100G的可用存储资源。
步骤S233:拓扑资源管理组件在容器组的信息中设置资源分配完成标识。
在一些实施例中,拓扑资源管理组件通过接口服务组件在数据库存储的容器组信息中,设置资源分配完成标识。
在本公开实施例中,通过以上步骤能够实现容器组信息和工作节点的可用资源的及时更新,进而有助于提高容器调度、资源分配的准确性。
图6为根据本公开一些实施例的容器管理组件的结构示意图。如图6所示,本公开实施例的容器管理组件600包括:获取模块610、确定模块620、分配模块630。
获取模块610,被配置为获取调度至工作节点上的容器组的信息。
其中,容器组为一组紧密联系的容器集合。示例性地,在容器编排工具Kubernetes中,容器组具体为Pod。Pod是Kubernetes调度的基本单位,Pod内的容器共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。
在一些实施例中,获取模块610通过接口服务组件查询数据库,以得到其所在工作节点(Worker Node)上的容器组的信息。例如,容器管理组件所在的工作节点为集群中的工作节点1,则获取模块610通过接口服务组件从数据库中查询工作节点1上的容器组的信息。其中,工作节点可以是物理机,也可以是依托于物理机的虚拟机。
其中,分配至其所在工作节点上的容器组的信息包括:分配的工作节点标识、容器组的CPU资源和存储资源申请信息。
确定模块620,被配置为根据容器组的CPU资源和存储资源申请信息、以及工作节点在至少一个NUMA节点下的可用资源信息,确定与容器组匹配的NUMA节点。
其中,与容器组匹配的NUMA节点为同时能够满足容器组CPU资源和存储资源申请需求的NUMA节点。
在一些实施例中,确定模块620确定与容器组匹配的NUMA节点包括:
确定模块620根据容器组的CPU资源申请信息、以及工作节点在至少一个NUMA节点下的可用CPU资源信息,从至少一个NUMA节点中选取第一NUMA节点。其中,第一NUMA节点为能够满足容器组CPU资源申请需求的NUMA节点。
例如,假设容器组的CPU资源申请信息包括2个CPU核,容器组所在工作节点的可用资源信息包括:NUMA0中有32个可用的CPU核、200G的可用存储资源,NUMA1中有32个可用的CPU核、100G的可用存储资源,则确定NUMA0、NUMA1均能满足容器组的CPU资源申请需求,因此将NUMA0、NUMA1作为第一NUMA节点。
确定模块620根据容器组的存储资源申请信息、以及工作节点在第一NUMA节点下的可用存储资源信息,从第一NUMA节点中选取第二NUMA节点,并将第二NUMA节点作为与容器组匹配的NUMA节点。
例如,假设容器组的存储资源申请信息包括200G的存储资源,第一NUMA节点下的可用存储资源信息如下:NUMA0中有200G的可用存储资源、NUMA1中有100G的可用存储资源,则确定NUMA1为第二NUMA节点,即能够同时满足容器组CPU资源和存储资源申请需求的NUMA节点。
分配模块630,被配置为将该工作节点中的与容器组匹配的NUMA节点下的CPU资源和存储资源分配给容器组。
示例性地,假设确定的工作节点中的与容器组匹配的NUMA节点为NUMA1,则将NUMA1下的CPU资源和存储资源分配给该容器组。
在一些实施例中,容器管理组件600还包括更新模块,被配置为:在分配模块630将与容器组匹配的NUMA节点下的CPU资源和存储资源分配给容器组之后,根据与容器组匹配的NUMA节点的信息,更新容器组的信息。例如,在容器组信息中增加与之匹配的NUMA节点的标识。
在本公开实施例中,通过以上装置能够实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐,实现更好的容器亲和性,有效改善针对容器进行的资源分配的效果,提升容器化部署的应用的性能。
图7为根据本公开另一些实施例的资源分配系统的结构示意图。如图7所示,本公开实施例的资源分配系统700包括:调度管理组件710、容器管理组件720、拓扑资源管理组件730。
调度管理组件710,被配置为容器组调度工作节点。
在一些实施例中,调度管理组件710设置在集群中的主节点(Master Node)上。其中,集群包括主节点和工作节点。主节点和工作节点可以是物理机,也可以是依托于物理机的虚拟机。
在一些实施例中,调度管理组件710被配置为通过图3所示流程将容器组调度至工作节点上。
容器管理组件720,被配置为:为调度至工作节点上的容器组分配资源。
在一些实施例中,容器管理组件被配置为通过图4所示流程为调度至其所在工作节点上的容器组分配资源。
拓扑资源管理组件730,被配置为更新工作节点下的可用资源信息和容器组的信息。
在一些实施例中,拓扑资源管理组件730设置在集群中的主节点上。
在一些实施例中,拓扑资源管理组件730被配置为通过图5所示流程更新工作节点下的可用资源信息和容器组的信息。
在本公开实施例中,通过以上资源分配系统能够实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐,实现更好的容器亲和性,有效改善针对容器进行的资源分配的效果,提升容器化部署的应用的性能。
图8为根据本公开再一些实施例的资源分配系统的结构示意图。在图8中,以基于容器编排工具Kubernetes构建资源分配系统为例进行说明。如图8所示,本公开实施例的资源分配系统包括:Kube调度组件(Scheduler)810、Kube API服务组件(Server)820、ETCD830、Kubelet组件840、拓扑资源管理组件850。
其中,Kube调度组件810、Kube API服务组件820、ETCD830、拓扑资源管理组件850位于集群中的主节点中,Kubelet组件840位于集群中的工作节点中,比如图8所示的工作节点1。
Kube API服务组件820,被配置为在接收到创建Pod的请求后,将Pod的信息存储至ETCD830中。ETCD是具有一致性和高可用性的键值数据库。
Kube调度组件810,被配置为获取集群中多个工作节点在NUMA维度的资源信息和待调度的Pod的资源申请信息,根据多个工作节点在NUMA维度的资源信息和待调度的Pod的资源申请信息,确定将该Pod分配到哪个工作节点上,然后更新Pod信息。
在一些实施例中,Kube调度组件810,还被配置为:判断工作节点上是否有资源分配逻辑未处理完成的其他Pod,如有,则不将待调度的Pod分配到该工作节点上,如没有,再根据该工作节点下NUMA维度的资源信息和待调度的Pod需要的资源信息为待调度的Pod分配工作节点。
Kubelet组件840,被配置为通过Kube API服务组件820获取与之相关的Pod信息,即分配到其所在宿主机上的Pod;根据与之相关的Pod申请的CPU资源和宿主机在NUMA维度下的可用CPU资源,确定将CPU分配到哪个NUMA节点下;然后,根据与之相关的Pod申请的存储资源和宿主机在NUMA维度下的可用存储资源,从根据CPU资源筛选出的NUMA节点中选出能够满足Pod存储资源使用需求的Numa节点,并根据最终选出的NUMA节点更新Pod中的NUMA信息。
拓扑资源管理组件850,被配置为在检测到Pod的信息中包含NUMA节点信息之后,更新工作节点在至少一个NUMA节点下的可用资源信息,以及在Pod的信息中设置资源分配完成标识。
在本公开实施例中,通过以上系统能够在对原生kubernetes组件的修改较少的情况下,实现为容器组分配的CPU资源和存储资源在NUMA维度的对齐,实现更好的容器亲和性,有效改善针对容器进行的资源分配的效果,提升容器化部署的应用的性能。
图9为根据本公开另一些实施例的电子设备的结构示意图。如图9所示,电子设备900包括存储器910;以及耦接至该存储器910的处理器920。存储器910用于存储执行资源分配方法对应实施例的指令。处理器920被配置为基于存储在存储器910中的指令,执行本公开中任意一些实施例中的资源分配方法。
图10为根据本公开一些实施例的计算机系统的结构示意图。如图10所示,计算机系统1000可以通用计算设备的形式表现。计算机系统1000包括存储器1010、处理器1020和连接不同系统组件的总线1030。
存储器1010例如可以包括系统存储器、非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。系统存储器可以包括易失性存储介质,例如随机存取存储器(RAM)和/或高速缓存存储器。非易失性存储介质例如存储有执行资源分配方法中的至少一种的对应实施例的指令。非易失性存储介质包括但不限于磁盘存储器、光学存储器、闪存等。
处理器1020可以用通用处理器、数字信号处理器(DSP)、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。相应地,诸如获取模块、确定模块、分配模块的每个模块,可以通过中央处理器(CPU)运行存储器中执行相应步骤的指令来实现,也可以通过执行相应步骤的专用电路来实现。
总线1030可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线。
计算机系统1000这些接口1040、1050、1060以及存储器1010和处理器1020之间可以通过总线1030连接。输入输出接口1040可以为显示器、鼠标、键盘等输入输出设备提供连接接口。网络接口1050为各种联网设备提供连接接口。存储接口1060为软盘、U盘、SD卡等外部存储设备提供连接接口。
这里,参照根据本公开实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及各框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可提供到通用计算机、专用计算机或其他可编程装置的处理器,以产生一个机器,使得通过处理器执行指令产生实现在流程图和/或框图中一个或多个框中指定的功能的装置。
这些计算机可读程序指令也可存储在计算机可读存储器中,这些指令使得计算机以特定方式工作,从而产生一个制造品,包括实现在流程图和/或框图中一个或多个框中指定的功能的指令。
本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
通过上述实施例中的资源分配方法、容器管理组件和资源分配系统,能够实现容器组使用的CPU资源和存储资源在NUMA维度的对齐。
至此,已经详细描述了根据本公开的资源分配方法、容器管理组件和资源分配系统。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
Claims (19)
1.一种资源分配方法,包括:
容器管理组件获取调度至工作节点上的容器组的信息,其中,所述容器组的信息包括CPU资源申请信息和存储资源申请信息;
所述容器管理组件根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点,其中,与所述容器组匹配的NUMA节点为同时能够满足所述容器组CPU资源和存储资源申请需求的NUMA节点;
所述容器管理组件将与所述容器组匹配的NUMA节点下的CPU资源和存储资源,分配给所述容器组。
2.根据权利要求1所述的资源分配方法,其中,所述容器管理组件根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点包括:
所述容器管理组件根据所述容器组的CPU资源申请信息、以及所述工作节点在至少一个NUMA节点下的可用CPU资源信息,从所述至少一个NUMA节点中选取第一NUMA节点,其中,所述第一NUMA节点为能够满足所述容器组CPU资源申请需求的NUMA节点;
所述容器管理组件根据所述容器组的存储资源申请信息、以及所述工作节点在第一NUMA节点下的可用存储资源信息,从所述第一NUMA节点中选取第二NUMA节点,并将所述第二NUMA节点作为与所述容器组匹配的NUMA节点。
3.根据权利要求1所述的资源分配方法,还包括:
在所述将与所述容器组匹配的NUMA节点下的CPU资源和存储资源分配给所述容器组之后,所述容器管理组件根据与所述容器组匹配的NUMA节点的信息,更新所述容器组的信息。
4.根据权利要求3所述的资源分配方法,还包括:
在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,通过拓扑资源管理组件更新所述工作节点在至少一个NUMA节点下的可用资源信息。
5.根据权利要求4所述的资源分配方法,还包括:
在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,通过所述拓扑资源管理组件在所述容器组的信息中设置资源分配完成标识。
6.根据权利要求1所述的资源分配方法,还包括:
在所述容器管理组件获取分配至工作节点上的容器组的信息之前,通过调度管理组件将待调度容器组调度至所述工作节点上。
7.根据权利要求6所述的资源分配方法,其中,通过调度管理组件将待调度容器组调度至所述工作节点上包括:
获取待调度容器组的资源申请信息;
根据所述待调度容器组的资源申请信息、以及集群中多个工作节点在NUMA维度下的可用资源信息,从所述多个工作节点中确定为所述待调度容器组分配的工作节点;
将所述待调度容器组调度至为所述待调度容器组分配的工作节点上。
8.根据权利要求7所述的资源分配方法,其中,将所述待调度容器组调度至为所述待调度容器组分配的工作节点上包括:
根据为所述待调度容器组分配的工作节点的信息,更新数据库中所述待调度容器组的信息。
9.根据权利要求7所述的资源分配方法,其中,通过调度管理组件将待调度容器组调度至所述工作节点上还包括:
在从所述多个工作节点中确定为所述待调度容器组分配的工作节点之前,从所述多个工作节点中滤除尚未针对已分配容器组完成资源分配的工作节点。
10.一种容器管理组件,包括:
获取模块,被配置为获取调度至工作节点上的容器组的信息,其中,所述容器组的信息包括CPU资源申请信息和存储资源申请信息;
确定模块,被配置为根据所述容器组的CPU资源申请信息和存储资源申请信息、以及所述工作节点在至少一个非一致性内存架构NUMA节点下的可用资源信息,从所述至少一个NUMA节点中确定与所述容器组匹配的NUMA节点,其中,与所述容器组匹配的NUMA节点为同时能够满足所述容器组CPU资源和存储资源申请需求的NUMA节点;
分配模块,被配置为将与所述容器组匹配的NUMA节点下的CPU资源和存储资源,分配给所述容器组。
11.根据权利要求10所述的容器管理组件,其中,所述确定模块被配置为:
根据所述容器组的CPU资源申请信息、以及所述工作节点在至少一个NUMA节点下的可用CPU资源信息,从所述至少一个NUMA节点中选取第一NUMA节点,其中,所述第一NUMA节点为能够满足所述容器组CPU资源申请需求的NUMA节点;
根据所述容器组的存储资源申请信息、以及所述工作节点在第一NUMA节点下的可用存储资源信息,从所述第一NUMA节点中选取第二NUMA节点,并将所述第二NUMA节点作为与所述容器组匹配的NUMA节点。
12.根据权利要求10所述的容器管理组件,所述容器管理组件还包括:
更新模块,被配置为在所述分配模块将与所述容器组匹配的NUMA节点下的CPU资源和存储资源分配给所述容器组之后,根据与所述容器组匹配的NUMA节点的信息,更新所述容器组的信息。
13.一种资源分配系统,包括:
权利要求10至12任一所述的容器管理组件;
拓扑资源管理组件,被配置为在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,更新所述工作节点在至少一个NUMA节点下的可用资源信息。
14.根据权利要求13所述的资源分配系统,其中,所述拓扑资源管理组件还被配置为:
在检测到所述容器组的信息中包含与所述容器组匹配的NUMA节点的信息之后,在所述容器组的信息中设置资源分配完成标识。
15.根据权利要求13所述的资源分配系统,其中,所述资源分配系统还包括:
调度管理组件,被配置为在所述容器管理组件获取分配至工作节点上的容器组的信息之前,将待调度容器组调度至所述工作节点上。
16.根据权利要求15所述的资源分配系统,其中,所述调度管理组件将待调度容器组调度至所述工作节点上包括:
获取待调度容器组的资源申请信息;
根据所述待调度容器组的资源申请信息、以及集群中的多个工作节点在NUMA维度下的可用资源信息,从所述多个工作节点中确定为所述待调度容器组分配的工作节点;
将所述待调度容器组调度至为所述待调度容器组分配的工作节点上。
17.根据权利要求16所述的资源分配系统,其中,所述调度管理组件将待调度容器组调度至所述工作节点上还包括:
在从所述多个工作节点中确定为所述待调度容器组分配的工作节点之前,从所述多个工作节点中滤除尚未针对已分配容器组完成资源分配的工作节点。
18.一种电子设备,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如权利要求1至9任一项所述的资源分配方法。
19.一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现权利要求1至9任一项所述的资源分配方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278945.0A CN115525434A (zh) | 2022-10-19 | 2022-10-19 | 资源分配方法、容器管理组件和资源分配系统 |
PCT/CN2023/089017 WO2024082584A1 (zh) | 2022-10-19 | 2023-04-18 | 资源分配方法、容器管理组件和资源分配系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211278945.0A CN115525434A (zh) | 2022-10-19 | 2022-10-19 | 资源分配方法、容器管理组件和资源分配系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525434A true CN115525434A (zh) | 2022-12-27 |
Family
ID=84704241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211278945.0A Pending CN115525434A (zh) | 2022-10-19 | 2022-10-19 | 资源分配方法、容器管理组件和资源分配系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115525434A (zh) |
WO (1) | WO2024082584A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483547A (zh) * | 2023-06-21 | 2023-07-25 | 之江实验室 | 资源调度方法、装置、计算机设备和存储介质 |
WO2024082584A1 (zh) * | 2022-10-19 | 2024-04-25 | 京东科技信息技术有限公司 | 资源分配方法、容器管理组件和资源分配系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11755354B2 (en) * | 2019-11-20 | 2023-09-12 | Sap Se | NUMA-aware resource allocation and placement of database containers |
CN114510321A (zh) * | 2022-01-30 | 2022-05-17 | 阿里巴巴(中国)有限公司 | 资源调度方法、相关装置和介质 |
CN114610497A (zh) * | 2022-03-21 | 2022-06-10 | 中国电信股份有限公司 | 容器调度方法、集群系统、装置、电子设备及存储介质 |
CN114721824A (zh) * | 2022-04-06 | 2022-07-08 | 中国科学院计算技术研究所 | 一种资源分配方法、介质以及电子设备 |
CN115525434A (zh) * | 2022-10-19 | 2022-12-27 | 京东科技信息技术有限公司 | 资源分配方法、容器管理组件和资源分配系统 |
-
2022
- 2022-10-19 CN CN202211278945.0A patent/CN115525434A/zh active Pending
-
2023
- 2023-04-18 WO PCT/CN2023/089017 patent/WO2024082584A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024082584A1 (zh) * | 2022-10-19 | 2024-04-25 | 京东科技信息技术有限公司 | 资源分配方法、容器管理组件和资源分配系统 |
CN116483547A (zh) * | 2023-06-21 | 2023-07-25 | 之江实验室 | 资源调度方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024082584A1 (zh) | 2024-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
WO2018149221A1 (zh) | 一种设备管理方法及网管系统 | |
US10700947B2 (en) | Life cycle management method and device for network service | |
CN115525434A (zh) | 资源分配方法、容器管理组件和资源分配系统 | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
CN110098946B (zh) | 虚拟化网元设备的部署方法以及装置 | |
CN105980988A (zh) | Smp环境中在数据库工作代理间动态分配资源和任务的方法和系统 | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN114244717B (zh) | 虚拟网卡资源的配置方法、装置、计算机设备及介质 | |
WO2017054650A1 (zh) | 任务分发方法、装置及系统 | |
CN112905342A (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN115292014A (zh) | 图像渲染方法、装置和服务器 | |
CN104506669A (zh) | 一种面向分布式网络仿真平台的ip地址分配系统及方法 | |
CN111240824B (zh) | 一种cpu资源调度方法及电子设备 | |
EP3208709A1 (en) | Batch processing method and device for system invocation commands | |
CN109062683B (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
CN113032093B (zh) | 分布式计算方法、装置及平台 | |
CN113419839A (zh) | 多类型作业的资源调度方法、装置、电子设备及存储介质 | |
CN111338778B (zh) | 任务调度方法、装置、存储介质及计算机设备 | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
CN113032092B (zh) | 分布式计算方法、装置及平台 | |
CN112799820B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN114461363A (zh) | 任务执行方法及装置、计算机可读存储介质 | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
CN112445763B (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 |