动态分区方法、系统、设备及介质技术方案

技术编号:32632200 阅读:23 留言:0更新日期:2022-03-12 18:06
本申请实施例提供动态分区方法、系统、设备及介质。该方法包括:获取第一分区的第一分区等级;其中,系统处理资源具有层级结构,层级结构包括对应不同分区等级的层,第一分区处于层级结构中的第一层;确定第一分区包含的多个控制组的工作参数;根据多个控制组的工作参数,确定第二分区等级;在第二分区等级与分区等级不匹配时,将多个控制组调整至第二分区等级对应层包含的分区中。当需要进行动态分区的时候,根据第一分区对应的分区等级的处理器压力,会在同一分区分支的不同分区等级对应层之间进行调整。进行跨亲和域调整需求时,以控制组为划分单位进行同一个分区等级所在层的不同分区间的整体的迁移,从而能够有效提高整体处理器的性能。处理器的性能。处理器的性能。

【技术实现步骤摘要】
动态分区方法、系统、设备及介质


[0001]本申请涉及计算机领域,尤其涉及动态分区方法、系统、设备及介质。

技术介绍

[0002]随着嵌入式操作系统技术的发展,对操作系统的处理能力的需求也在逐步提升,比如,会采用多处理器(CPU)实现相应的处理性能的提升。
[0003]为了能够提升整机处理器利用率,通过配置控制组(control group,Cgroup)来共享处理器的方式,增加部署密度来填充处理器碎片。但是这种共享处理器的方式在部署密度达到一定程度之后,出现处理器饥饿现象,比如cache、TLB竞争导致处理器的额外开销。此外,把整机处理器按NUMA节点进行分区,基于单个节点上进行任务迁移等动态分区工作中,由于具有较高亲和性,需要对任务进行分区间迁移时效率非常低,会导致处理器性能降低。因此,需要一种能够实现提升处理器性能的动态分区的方案。

技术实现思路

[0004]为解决或改善现有技术中存在的问题,本申请各实施例提供了动态分区方法、系统、设备及介质。
[0005]第一方面,在本申请的一个实施例中,提供了一种动态分区方法。该方法包括:
[0006]获取第一分区的第一分区等级;其中,系统处理资源具有层级结构,所述层级结构包括对应不同分区等级的层,第一分区处于所述层级结构中的第一层;
[0007]确定所述第一分区包含的多个控制组的工作参数;
[0008]根据所述多个控制组的工作参数,确定期望的第二分区等级;
[0009]在所述第二分区等级与所述第一分区等级不匹配时,将所述多个控制组调整至所述第二分区等级对应层包含的分区中。
[0010]第二方面,在本申请的一个实施例中,提供了另一种动态分区方法。该方法包括:
[0011]获取第一分区的分区使用率和第二分区的分区使用率;其中,系统处理资源具有层级结构,所述层级结构包括对应于不同分区等级的层,所述第一分区和所述第二分区处于所述层级结构中的第一层;
[0012]基于所述第一分区的分区使用率和所述第二分区的分区使用率确定目标使用率;
[0013]若所述第一分区的分区使用率不符合所述目标使用率,则将对应于所述第一分区中的至少一个控制组迁移到所述第二分区。
[0014]第三方面,在本申请的一个实施例中,提供了一种动态分区系统。所述系统包括:
[0015]调度器,用于获取第一分区的第一分区等级;其中,系统处理资源具有层级结构,所述层级结构包括对应不同分区等级的层,第一分区处于所述层级结构中的第一层;确定所述第一分区包含的多个控制组的工作参数;根据所述多个控制组的工作参数,确定期望的第二分区等级;在所述第二分区等级与分区等级不匹配时,将所述多个控制组调整至所述第二分区等级对应层包含的分区中;
[0016]内核,用于提供所述调度器所需的分区等级。
[0017]第四方面,在本申请的一个实施例中,提供了一种电子设备,包括存储器及处理器;其中,
[0018]所述存储器,用于存储程序;
[0019]所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现第一方面所述的一种动态分区方法或第二方面所述的另一种动态分区方法。
[0020]第五方面,在本申请的一个实施例中,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的一种动态分区方法或第二方面所述的另一种动态分区方法。
[0021]第六方面,在本申请的一个实施例中,提供了一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现第一方面所述的一种动态分区方法或第二方面所述的另一种动态分区方法。
[0022]本专利技术实施例提供的技术方案,获取第一分区的第一分区等级;其中,系统处理资源具有层级结构,所述层级结构包括对应不同分区等级的层,第一分区处于所述层级结构中的第一层;确定所述第一分区包含的多个控制组的工作参数;根据所述多个控制组的工作参数,确定期望的第二分区等级;在所述第二分区等级与第一分区等级不匹配时,将所述多个控制组调整至所述第二分区等级对应层包含的分区中。在将控制组调整到第二分区等级之后,可以进一步以控制组为划分单元进行分区平衡调整。通过上述技术方案,在分区划分的时候,按照硬件拓扑结构和分区规则将分区划分为具有不同亲和性的多个不同的分区等级。当需要进行动态分区的时候,根据第一分区对应的分区等级的处理器压力,会在同一分区分支的不同分区等级对应层之间进行调整,有效缓解处理器饥饿竞争(比如,cache竞争)问题。此外,当有进行跨亲和域调整需求的时候,以控制组为划分单位进行同一个分区等级所在层的不同分区间的整体的迁移,缓解任务迁移导致处理器性能降低的问题,从而能够有效提高整体处理器的性能。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1为本申请实施例提供的一种动态分区方法的流程示意图;
[0025]图2为本申请实施例提供的一种分区层级结构的示意图;
[0026]图3为本申请实施例提供的分区与控制组的结构关系的示意图;
[0027]图4为本申请实施例提供的一种确定第二分区等级方法的流程示意图;
[0028]图5为本申请实施例提供的一种调高分区等级方法的流程示意图;
[0029]图6为本申请实施例提供的一种调低分区等级方法的流程示意图;
[0030]图7为本申请实施例提供的一种控制组跨分区迁移方法的流程示意图;
[0031]图8为本申请实施例提供的控制组迁移方法的流程示意图;
[0032]图9为本申请实施例提供的另一种动态分区的流程示意图;
[0033]图10为本申请实施例提供的一种动态分区装置的结构示意图;
[0034]图11为本申请实施例提供的一种电子设备的结构示意图;
[0035]图12为本申请实施例提供的另一种动态分区装置的结构示意图;
[0036]图13为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
[0037]在具有多处理器的嵌入式操作系统中,为了提升系统的整体工作性能,会采用共享处理器完成指定任务的方式。虽然在处理器share化方案中,使得整体处理器的性能提升有明显改善,但是,在一些情况下(比如,整机负载水位突破安全警戒线),还是会造成处理器性能下降(比如,出现cache TLB竞争导致处理器额外开销)。虽然在现有技术NUMA Balancer、NUMA Affine等方案中,采用按照NUMA节点进行分区,并采用动态绑定或静态绑定的方式将所有控制组(C本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态分区方法,所述方法包括:获取第一分区的第一分区等级;其中,系统处理资源具有层级结构,所述层级结构包括对应不同分区等级的层,第一分区处于所述层级结构中的第一层;确定所述第一分区包含的多个控制组的工作参数;根据所述多个控制组的工作参数,确定期望的第二分区等级;在所述第二分区等级与所述第一分区等级不匹配时,将所述多个控制组调整至所述第二分区等级对应层包含的分区中。2.根据权利要求1所述的方法,还包括:获取所述第一分区等级包括的至少一个第二分区的分区使用率以及第一分区的分区使用率;基于所述第一分区等级对应层中至少一个第二分区的分区使用率与所述第一分区的分区使用率确定目标使用率;若所述第一分区的分区使用率不符合目标使用率,则将对应于所述第一分区中的多个控制组迁移到与所述第一分区处于相同的分区等级的第二分区。3.根据权利要求1所述的方法,所述根据所述多个控制组的工作参数,确定期望的第二分区等级,包括:根据所述分区等级所在层中所述多个控制组的切换次数,以及所述层中各分区的上下文切换次数,确定所述期望的第二分区等级;获取所述第二分区等级对应的第一父节点分区或第一子节点分区的硬绑定处理器范围。4.根据权利要求3所述的方法,所述在所述第二分区等级与所述第一分区等级不匹配时,将所述多个控制组调整至所述第二分区等级对应层包含的分区中,包括:在所述第二分区等级与第一分区等级不匹配时,将所述多个控制组从第一分区调整到所述第二分区等级对应层包含的第一父节点分区或第一子节点分区;根据所述第一父节点分区或第一子节点分区的硬绑定处理器范围,调整所述多个控制组的软绑定处理器范围。5.根据权利要求4所述的方法,若所述第二分区等级大于所述第一分区对应的第一分区等级,所述将所述多个控制组从所述第一分区内调整到所述第二分区等级对应第一父节点分区或第一子节点分区,包括:确定所述第一分区对应的所述第二分区等级的子节点分区集合;确定所述第一分区中包含的多个控制组的处理器需求数量;若所述第一子节点分区对应的处理器绑定范围大于所述处理器需求数量,则将所述多个控制组调整至处于所述第二分区等级的所述第一子节点分区。6.根据权利要求4所述的方法,若所述第二分区等级小于所述第一分区对应的第一分区等级;所述将所述多个控制组从所述第一分区内调整到所述第二分区等级对应第一父节点分区或第一子节点分区,包括:确定所述第一分区对应的处于低分区等级的第一父节点分区;
将所述多个控制组调整至对应于所述第二分区等级的所述第一父节点分区。7.根据权利要求3所述的方法,所述根据所述第一父节点分区或第一子节点分区的硬绑定处理器范围,调整所述多个控制组的软绑定处理器范围,包括:获取所述第一父节点分区对应的硬绑定处理器范围,或,获取所述第一子节点分区对应的硬绑定处理器范围;获取所述多个控制组的硬绑定处理器范围;确定所述第一父节点分区对应的硬绑定处理器范围与所述多个控制组的硬绑定处理器范围的第一交集范围,或,确定所述第一子节点分区对应的硬绑定处理器范围与所述多个控制组的硬绑...

【专利技术属性】
技术研发人员:王贇赵鑫鹏王鹏
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1