一种资源分配方法、介质以及电子设备组成比例

技术编号:34103749 阅读:17 留言:0更新日期:2022-07-12 00:01
本发明专利技术提供了一种资源分配方法、介质以及电子设备,方法包括:获取应用需要容器化的请求,请求至少包括应用的访存特征声明以及所需的硬件资源声明;响应于请求,根据应用所需的硬件资源声明、访存特征声明以及所有工作节点的可用资源分布信息,确定资源调度策略,访存特征声明至少用于指示应用所需的硬件资源由工作节点中的单个NUMA节点还是多个NUMA节点提供,可用资源分布信息包括工作节点上各个NUMA节点自身的资源剩余量的指示;根据资源调度策略将应用的访存特征声明以及所需的硬件资源声明发送给相应的工作节点,以调度应用所需的硬件资源。本发明专利技术在考虑应用访存特征的情况下确定资源调度策略,提高资源利用率和/或容器的工作效率。容器的工作效率。容器的工作效率。

【技术实现步骤摘要】
一种资源分配方法、介质以及电子设备


[0001]本专利技术涉及容器云平台
,具体来说涉及一种硬件资源分配方法,更具体地说,涉及一种资源分配方法、介质以及电子设备。

技术介绍

[0002]随着云计算技术的发展,以Docker为代表的容器技术在应用的开发、发布和部署上具有便捷性和实用性,从出现之初便受到了业界的广泛关注。由于Docker本身只注重于提供容器和镜像,因此需要一个集成的容器云管理平台高效地完成容器的编排部署、资源调度、服务发现、健康监控等任务。Kubernetes平台凭借其强大的容器编排能力和轻量开源的特点成为了众多容器集群调度系统的领跑者,为数据中心的基础架构带来了新的选择。Kubernetes平台项目的本质,是为用户提供一个具有普遍意义的容器编排工具。然而,Kubernetes平台的资源调度策略和以容器运行的程序对计算资源的使用粒度都比较粗。资源的精细化使用和管理对于数据中心的利用率提高有着至关重要的作用。
[0003]从数据中心服务器的角度来看,其多核心的处理器多是采用非一致存储访问(Non

Uniform Memory Access,以下简称NUMA)架构。利用基于NUMA架构的技术,可以把几十个CPU(甚至上百个CPU)组合在一个服务器内。NUMA服务器的基本特征是具有多个CPU模块,每个CPU模块由多个CPU(如:4个)组成,并且具有独立的本地内存、I/O槽口等。Kubernetes平台包括控制平面和至少一个工作节点,每个工作节点内包括一个或者多个NUMA节点,其NUMA节点之间可以通过互联模块(如:交叉开关,即:Crossbar Switch)进行连接和信息交互。以图1为例,一个工作节点中包括NUMA节点0和NUMA节点1,两者之间通过互联模块(也称Socket连接线,连接Socket0和Socket1)连接;NUMA节点0包括4个CPU(分别是CPU0、CPU1、CPU2、CPU3)、局部内存以及通过PCIe连接CPU0和NIC0;类似的,NUMA节点1包括4个CPU(分别是CPU4、CPU5、CPU6、CPU7)、局部内存以及通过PCIe连接的CPU1和NIC1。在工作节点中,每个CPU可以访问整个工作节点上的内存。但是,访问本地内存的速度将远远高于访问远程内存(系统内其它节点的内存)的速度,这也是非一致存储访问NUMA的由来。由于此设计特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。同时,CPU访问内存的带宽也是一种资源,对于访存密集型应用也应该在多个NUMA节点间保持平衡,以避免带宽资源出现争用而导致访存的性能下降。
[0004]在NUMA架构的服务器中,除了CPU外,其他外接硬件如GPU、FPGA、特定领域加速卡等也会受到NUMA架构的影响而与CPU有类似的特征。目前容器云平台对容器化应用在NUMA架构硬件上的支持极不完善,在Kubernetes平台中,控制平面主要根据工作节点整体是否满足容器对CPU、内存等资源的需求,并从满足需求的工作节点中择优选择相应的工作节点来部署容器,这会导致应用部署后出现访存带宽争用的情况,影响资源利用率和/或容器的工作效率。

技术实现思路

[0005]因此,本专利技术的目的在于克服上述现有技术的缺陷,提供一种资源分配方法、介质以及电子设备。
[0006]本专利技术的目的是通过以下技术方案实现的:
[0007]根据本专利技术的第一方面,提供一种资源分配方法,应用于Kubernetes平台中的主节点,包括:获取应用需要容器化的请求,所述请求至少包括应用的访存特征声明以及所需的硬件资源声明;响应于所述请求,根据应用所需的硬件资源声明、访存特征声明以及所有工作节点的可用资源分布信息,确定资源调度策略,其中,访存特征声明至少用于指示应用所需的硬件资源由工作节点中的单个NUMA节点还是多个NUMA节点提供,可用资源分布信息包括工作节点上各个NUMA节点自身的资源剩余量的指示;根据资源调度策略将应用的访存特征声明以及所需的硬件资源声明发送给相应的工作节点,以调度应用所需的硬件资源。
[0008]在本专利技术的一些实施例中,访存特征声明指示应用的访存特征至少为第一访存特征和第二访存特征中的一个,其中,第一访存特征表示应用是访存密集型的容器化应用,需要由工作节点中的单个NUMA节点提供其所需的硬件资源;第二访存特征表示应用是需要NUMA架构特性的容器化应用,需要由工作节点中的多个NUMA节点提供其所需的硬件资源。
[0009]在本专利技术的一些实施例中,所述根据应用所需的硬件资源声明、访存特征声明以及所有工作节点的可用资源分布信息,确定资源调度策略的步骤包括:根据访存特征声明确定应用所需的硬件资源声明与可用资源分布信息进行资源匹配的匹配粒度,其中,在应用为第一访存特征时用每个工作节点中单个NUMA节点的资源剩余量进行匹配,或者在应用为第二访存特征时用每个工作节点整体的资源剩余量进行匹配;按照确定的匹配粒度,根据所有工作节点的可用资源分布信息选择符合应用所需的硬件资源声明的工作节点作为候选工作节点;按照预定的评分规则对所有的候选工作节点进行评分,根据评分确定资源调度策略,该资源调度策略指示应用所需的资源由相应的工作节点提供。
[0010]在本专利技术的一些实施例中,所述方法还包括:从工作节点的注解中获取工作节点当前的可用资源分布信息,用于更新主节点上记录的该工作节点对应的可用资源分布信息。
[0011]在本专利技术的一些实施例中,所述方法还包括:在没有解析到应用的访存特征声明时,按照默认的资源分配方式得到资源调度策略。
[0012]根据本专利技术第二方面,提供一种资源分配方法,应用于Kubernetes平台中的工作节点,包括:获取主节点按照第一方面的方法确定资源调度策略后发送的应用的访存特征声明以及所需的硬件资源声明;根据应用的访存特征声明以及所需的硬件资源声明从当前工作节点为应用分配与其访存特征声明相匹配的硬件资源。
[0013]在本专利技术的一些实施例中,所述根据应用的访存特征声明以及所需的硬件资源声明从当前工作节点为应用分配与其访存特征声明相匹配的硬件资源的步骤包括:在访存特征声明指示应用的访存特征为第一访存特征时,从工作节点上的单个NUMA节点为应用分配其所需的硬件资源;或者,在访存特征声明指示应用的访存特征为第二访存特征时,从工作节点上的多个NUMA节点为应用分配其所需的硬件资源。
[0014]在本专利技术的一些实施例中,所述方法还包括:在工作节点为应用分配所需的硬件资源和/或在资源释放后,更新工作节点当前的可用资源分布信息。
[0015]在本专利技术的一些实施例中,工作节点当前的可用资源分布信息是由工作节点上的守护程序监听并标注在对工作节点的注解中,以由主节点从注解中读取。
[0016]在本专利技术的一些实施例中,所述方法还包括:在收到具有第一访存特征的多个应用对应的容器化应用的请求时,优先以负载均衡的方式将多个应用分别部署在不同的NUMA节点上。
[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源分配方法,应用于Kubernetes平台中的主节点,其特征在于,包括:获取应用需要容器化的请求,所述请求至少包括应用的访存特征声明以及所需的硬件资源声明;响应于所述请求,根据应用所需的硬件资源声明、访存特征声明以及所有工作节点的可用资源分布信息,确定资源调度策略,其中,访存特征声明至少用于指示应用所需的硬件资源由工作节点中的单个NUMA节点还是多个NUMA节点提供,可用资源分布信息包括工作节点上各个NUMA节点自身的资源剩余量的指示;根据资源调度策略将应用的访存特征声明以及所需的硬件资源声明发送给相应的工作节点,以调度应用所需的硬件资源。2.根据权利要求1所述的方法,其特征在于,访存特征声明指示应用的访存特征至少为第一访存特征和第二访存特征中的一个,其中,第一访存特征表示应用是访存密集型的容器化应用,需要由工作节点中的单个NUMA节点提供其所需的硬件资源;第二访存特征表示应用是需要NUMA架构特性的容器化应用,需要由工作节点中的多个NUMA节点提供其所需的硬件资源。3.根据权利要求2所述的方法,其特征在于,所述根据应用所需的硬件资源声明、访存特征声明以及所有工作节点的可用资源分布信息,确定资源调度策略的步骤包括:根据访存特征声明确定应用所需的硬件资源声明与可用资源分布信息进行资源匹配的匹配粒度,其中,在应用为第一访存特征时用每个工作节点中单个NUMA节点的资源剩余量进行匹配,或者在应用为第二访存特征时用每个工作节点整体的资源剩余量进行匹配;按照确定的匹配粒度,根据所有工作节点的可用资源分布信息选择符合应用所需的硬件资源声明的工作节点作为候选工作节点;按照预定的评分规则对所有的候选工作节点进行评分,根据评分确定资源调度策略,该资源调度策略指示应用所需的资源由相应的工作节点提供。4.根据权利要求1

3之一所述的方法,其特征在于,所述方法还包括:从工作节点的注解中获取工作节点当前的可用资源分布信息,用于更新主节点上记录的该工作节点对应的可用资源分布信息。5.根据权利要求1

3之一所述的方法,其特征在于,所述方法还包括:在没有解析到应用的访存特征声明时,按照默认的资源分配方式得到资源...

【专利技术属性】
技术研发人员:段宏键曹华伟叶笑春范东睿
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1