一种NUMA系统优化方法及装置与流程

文档序号:11386300阅读:288来源:国知局
一种NUMA系统优化方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种numa系统优化方法及装置。



背景技术:

随着计算机技术的快速发展,numa(nonuniformmemoryaccessarchitecture,非统一内存访问结构)技术也得到了快速发展,同时,基于numa技术构建的numa系统也在各行业得到了广泛应用。

numa系统包含多个numa节点,numa节点用于承载任务的执行。每个任务占用numa系统分配的初始资源,当任务结束后才会释放相应的资源。

在numa系统中,任务在运行过程中其对资源的需求和numa系统的性能都随着时间的变化而变化。针对某任务而言,如果分配给该任务的资源远远大于该任务的资源需求,将导致资源浪费,同时可能导致其他有更多资源需求的任务无法正常运行,使得numa系统工作效率偏低。



技术实现要素:

本发明的目的是提供一种numa系统优化方法及装置,以节省资源,提高numa系统工作效率。

为解决上述技术问题,本发明提供如下技术方案:

一种numa系统优化方法,包括:

在目标优化周期内,获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态;

针对每个任务,根据该任务的运行状态,确定分配给该任务的cpu频率资源是否大于该任务的最低cpu频率需求;

如果是,则将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。

在本发明的一种具体实施方式中,在所述获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,还包括:

确定所述numa系统的当前业务性能是否低于预设的第一性能阈值;

如果是,则按照预设的第一调整策略降低所述numa系统的每个numa节点上每个任务运行的cpu频率层级。

在本发明的一种具体实施方式中,在所述按照预设的第一调整策略降低所述numa系统的每个numa节点上每个任务运行的cpu频率层级之后,还包括:

在检测到所述numa系统的业务性能大于预设的第二性能阈值时,按照预设的第二调整策略调高所述numa系统的每个numa节点上每个任务运行的cpu频率层级,所述第二性能阈值大于或等于所述第一性能阈值。

在本发明的一种具体实施方式中,在所述获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,还包括:

在所述目标优化周期内,确定所述numa系统中当前运行的所有任务的总cpu频率需求;

如果所述总cpu频率需求与所述numa系统可提供cpu频率资源的比例小于预设比例阈值,则根据所述总cpu频率需求,确定所述numa系统中待关闭的目标numa节点;

将所述目标numa节点上的任务调度到所述numa系统的其他numa节点上,并关闭所述目标numa节点。

在本发明的一种具体实施方式中,所述将所述目标numa节点上的任务调度到所述numa系统的其他节点上,包括:

确定所述目标numa节点上每个任务对cpu频率资源的需求度及所述numa系统的其他numa节点上每个任务对cpu频率资源的需求度;

根据各任务对cpu频率资源的需求度,对所述目标numa节点上的任务进行调度,以使同一numa节点上仅有设定数量的任务对cpu频率资源需求度大于设定的需求度阈值。

一种numa系统优化装置,包括:

运行状态获得模块,用于在目标优化周期内,获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态;

频率确定模块,用于针对每个任务,根据该任务的运行状态,确定分配给该任务的cpu频率资源是否大于该任务的最低cpu频率需求,如果是,则触发频率调整模块;

所述频率调整模块,用于将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。

在本发明的一种具体实施方式中,还包括性能确定模块,用于:

在所述获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,确定所述numa系统的当前业务性能是否低于预设的第一性能阈值;

如果是,则按照预设的第一调整策略降低所述numa系统的每个numa节点上每个任务运行的cpu频率层级。

在本发明的一种具体实施方式中,还包括频率层级调高模块,用于:

在所述按照预设的第一调整策略降低所述numa系统的每个numa节点上每个任务运行的cpu频率层级之后,在检测到所述numa系统的业务性能大于预设的第二性能阈值时,按照预设的第二调整策略调高所述numa系统的每个numa节点上每个任务运行的cpu频率层级,所述第二性能阈值大于或等于所述第一性能阈值。

在本发明的一种具体实施方式中,还包括:

总需求确定模块,用于在所述获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,在所述目标优化周期内,确定所述numa系统中当前运行的所有任务的总cpu频率需求;

待关闭节点确定模块,用于在所述总cpu频率需求与所述numa系统可提供cpu频率资源的比例小于预设比例阈值时,根据所述总cpu频率需求,确定所述numa系统中待关闭的目标numa节点;

待关闭节点处理模块,用于将所述目标numa节点上的任务调度到所述numa系统的其他numa节点上,并关闭所述目标numa节点。

在本发明的一种具体实施方式中,所述待关闭节点处理模块,具体用于:

确定所述目标numa节点上每个任务对cpu频率资源的需求度及所述numa系统的其他numa节点上每个任务对cpu频率资源的需求度;

根据各任务对cpu频率资源的需求度,对所述目标numa节点上的任务进行调度,以使同一numa节点上仅有设定数量的任务对cpu频率资源需求度大于设定的需求度阈值。

应用本发明实施例所提供的技术方案,在目标优化周期内,可以获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态,针对每个任务,根据该任务的运行状态,如果确定分配给该任务的cpu频率资源大于该任务的最低cpu频率需求,则可以将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。这样可以节省出部分cpu频率资源,节省出的cpu频率资源可以分配给其他对cpu频率需求更多的任务,或者用于响应更多任务的执行请求,提高numa系统的工作效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种numa系统优化方法的实施流程图;

图2为本发明实施例中一种numa系统优化装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种numa系统优化方法的实施流程图,该方法可以包括以下步骤:

s110:在目标优化周期内,获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态。

在实际应用中,可以按照设定周期对numa系统进行优化,目标优化周期为任意一个周期。

在每个优化周期内,可以对numa系统的每个numa节点上的每个任务的运行状态进行监测。针对某个任务而言,该任务的运行状态可以包括该任务的资源需求、分配给该任务的资源情况、该任务的执行进度等。

在目标优化周期内,可以通过监测数据获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态。

s120:针对每个任务,根据该任务的运行状态,确定分配给该任务的cpu频率资源是否大于该任务的最低cpu频率需求。

在numa系统中,每个numa节点上的每个任务在运行过程中,其cpu频率需求并不是一成不变的,随时间而变化。可以理解的是,针对某任务而言,只要满足该任务的最低cpu频率需求,该任务就可以正常运行。如果分配给该任务的cpu频率资源大于该任务的最低cpu频率需求,将会导致部分cpu频率资源的浪费。

针对每个任务,根据该任务的运行状态,可以确定分配给该任务的cpu频率资源是否大于该任务的最低cpu频率需求。如果是,则可以继续执行步骤s130的操作,否则,可以不做任何操作。

s130:将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。

针对每个任务,如果确定分配给该任务的cpu频率资源大于该任务的最低cpu频率需求,则可以将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求,以节省出一部分cpu频率资源。节省出的cpu频率资源可以分配给其他对cpu频率需求更多的任务,或者用于响应更多任务的执行请求。

具体的,可以通过调整cpu频率层级调整cpu频率资源,即通过降低cpu频率层级的方式将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。

应用本发明实施例所提供的方法,在目标优化周期内,可以获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态,针对每个任务,根据该任务的运行状态,如果确定分配给该任务的cpu频率资源大于该任务的最低cpu频率需求,则可以将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。这样可以节省出部分cpu频率资源,节省出的cpu频率资源可以分配给其他对cpu频率需求更多的任务,或者用于响应更多任务的执行请求,提高numa系统的工作效率。

在本发明的一个实施例中,在步骤s110之前,还可以包括以下步骤:

步骤一:确定numa系统的当前业务性能是否低于预设的第一性能阈值,如果是,则执行步骤二的操作;

步骤二:按照预设的第一调整策略降低numa系统的每个numa节点上每个任务运行的cpu频率层级。

在本发明实施例中,可以根据实际情况预先设定numa系统的一个或多个性能阈值。当numa系统的业务性能低于预设的第一性能阈值时,可以认为numa系统当前负载强度较大,为保证numa系统中各任务可以正常运行,可以按照设定的第一调整策略降低numa系统的每个numa节点上每个任务运行的cpu频率层级。如将每个任务运行的cpu频率层级降低一级。

numa系统的业务性能随时间而变化。在对每个任务运行的cpu频率层级进行如上降级处理后,在检测到numa系统的业务性能大于预设的第二性能阈值时,可以认为numa系统当前负载强度较小。在这种情况下,可以按照预设的第二调整策略调高numa系统的每个numa节点上每个任务运行的cpu频率层级。如将每个任务运行的cpu频率层级调高一级。

在本发明实施例中,第二性能阈值大于或等于第一性能阈值,第一性能阈值和第二性能阈值可以根据实际情况进行设定和调整,如设定第一性能阈值为40%,设定第二性能阈值为50%,本发明实施例对此不做限制。

在实际应用中,设定第二性能阈值大于第一性能阈值,可以避免因对cpu频率层级频繁调整,占用过多系统资源。

根据numa系统的业务性能与预设的性能阈值的大小关系,调整numa系统中每个numa节点上每个任务运行的cpu频率层级,可以在numa系统具有较好业务性能基础上进行节能优化,即综合考虑numa系统的业务性能与资源因素,更好的对numa系统进行优化。

在本发明的一个实施例中,在步骤s110之前,该方法还可以包括以下步骤:

第一个步骤:在目标优化周期内,确定numa系统中当前运行的所有任务的总cpu频率需求;

第二个步骤:如果总cpu频率需求与numa系统可提供cpu频率资源的比例小于预设比例阈值,则根据总cpu频率需求,确定numa系统中待关闭的目标numa节点;

第三个步骤:将目标numa节点上的任务调度到numa系统的其他numa节点上,并关闭目标numa节点。

为便于描述,将上述三个步骤结合起来进行说明。

在numa系统中,可以实时监测每个numa节点上每个任务的运行状态。在目标优化周期内,可以确定numa系统中当前运行的所有任务的总cpu频率需求。如果总cpu频率需求与numa系统可提供cpu频率资源的比例小于预设比例阈值,如30%,则可以表明numa系统当前负载强度较小,从节能角度考虑,可以根据总cpu频率需求,确定numa系统中待关闭的目标numa节点,确定的待关闭的目标numa节点可以有一个或多个。确定待关闭的目标numa节点后,可以将目标numa节点上的任务调度到numa系统的其他numa节点上,并关闭目标numa节点。

将目标numa节点上的任务调度到numa系统的其他numa节点上,具体可以通过以下步骤进行:

步骤一:确定目标numa节点上每个任务对cpu频率资源的需求度及numa系统的其他numa节点上每个任务对cpu频率资源的需求度;

步骤二:根据各任务对cpu频率资源的需求度,对目标numa节点上的任务进行调度,以使同一numa节点上仅有设定数量的任务对cpu频率资源需求度大于设定的需求度阈值。

在本发明实施例中,每个任务对cpu频率资源的需求度表明相应任务对cpu频率资源的需求程度,如果不同的两个任务对cpu频率资源的需求度均大于某一数值,则表明这两个任务均对cpu频率资源有较大需求,如果将这两个任务放于同一numa节点中,则其对cpu频率资源的竞争较大。

针对每个任务,根据该任务对cpu频率资源的需求,可以确定该任务对cpu频率资源的需求度。具体的,可以预先设定需求与需求度的对应关系式,如当需求大于预设第一阈值时,设定其对应的需求度为第一值,当需求在第一阈值和第二阈值之间时,设定其对应的需求度为第二值。举例而言,当需求大于90%时,其对应的需求度为5,当需求在70%-90%之间时,其对应的需求度为4,这里需求度的值越高表明需求越大。当然,在实际应用中,还可以设定其他对应关系,本发明实施例对此不做限制。

在确定numa系统中待关闭的目标numa节点后,可以确定目标numa节点上每个任务对cpu频率资源的需求度及numa系统的其他numa节点上每个任务对cpu频率资源的需求度,依据同一numa节点上仅有设定数量的任务对cpu频率资源需求度大于设定的需求度阈值的原则,将目标numa节点上的任务调度到其他numa节点上。这样,可以避免产生同一numa节点上的cpu频率资源的竞争。

需要说明的是,需求度阈值可以根据实际情况进行设定和调整,如设定为3,本发明实施例对此不做限制。

相应于上面的方法实施例,本发明实施例还提供了一种numa系统优化装置,下文描述的一种numa系统优化装置与上文描述的一种numa系统优化方法可相互对应参照。

参见图2所示,该装置包括以下模块:

运行状态获得模块210,用于在目标优化周期内,获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态;

频率确定模块220,用于针对每个任务,根据该任务的运行状态,确定分配给该任务的cpu频率资源是否大于该任务的最低cpu频率需求,如果是,则触发频率调整模块;

频率调整模块230,用于将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。

应用本发明实施例所提供的装置,在目标优化周期内,可以获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态,针对每个任务,根据该任务的运行状态,如果确定分配给该任务的cpu频率资源大于该任务的最低cpu频率需求,则可以将分配给该任务的cpu频率资源调整至仅满足该任务的最低cpu频率需求。这样可以节省出部分cpu频率资源,节省出的cpu频率资源可以分配给其他对cpu频率需求更多的任务,或者用于响应更多任务的执行请求,提高numa系统的工作效率。

在本发明的一种具体实施方式中,还包括性能确定模块,用于:

在获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,确定numa系统的当前业务性能是否低于预设的第一性能阈值;

如果是,则按照预设的第一调整策略降低numa系统的每个numa节点上每个任务运行的cpu频率层级。

在本发明的一种具体实施方式中,还包括频率层级调高模块,用于:

在按照预设的第一调整策略降低numa系统的每个numa节点上每个任务运行的cpu频率层级之后,在检测到numa系统的业务性能大于预设的第二性能阈值时,按照预设的第二调整策略调高numa系统的每个numa节点上每个任务运行的cpu频率层级,所述第二性能阈值大于或等于所述第一性能阈值。

在本发明的一种具体实施方式中,还包括:

总需求确定模块,用于在获得上一优化周期中numa系统的每个numa节点上每个任务的运行状态之前,在目标优化周期内,确定numa系统中当前运行的所有任务的总cpu频率需求;

待关闭节点确定模块,用于在总cpu频率需求与numa系统可提供cpu频率资源的比例小于预设比例阈值时,根据总cpu频率需求,确定numa系统中待关闭的目标numa节点;

待关闭节点处理模块,用于将目标numa节点上的任务调度到numa系统的其他numa节点上,并关闭目标numa节点。

在本发明的一种具体实施方式中,待关闭节点处理模块,具体用于:

确定目标numa节点上每个任务对cpu频率资源的需求度及numa系统的其他numa节点上每个任务对cpu频率资源的需求度;

根据各任务对cpu频率资源的需求度,对目标numa节点上的任务进行调度,以使同一numa节点上仅有设定数量的任务对cpu频率资源需求度大于设定的需求度阈值。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1