一种多工作域计算资源的自适应调整方法与流程

文档序号:12063472阅读:来源:国知局

技术特征:

1.一种多工作域计算资源的自适应调整方法,其特征在于,包括以下步骤:

1)根据计算任务对各类计算资源的不同需求,将完成一个计算任务计算需要的各类计算资源最小组合定义为一个计算单元,将每个计算节点按照计算单元包含的计算资源进行标准化处理,将其计算能力通过计算单元的非负整数倍进行度量,进入步骤2);

2)针对电力系统在线和离线应用场景下各个应用功能的计算需求,将计算机群划分为多个工作域,各工作域基于分布式计算管理平台独立进行计算任务组织、调度和管理,计算过程中各工作域之间不直接进行计算数据和控制信息的交互;

根据各个工作域的重要等级以及其对计算时间的要求,为其统一设置参考工作周期、计算资源分配优先级、最短计算周期和最长允许计算周期参数,并依据单个计算任务在一个计算单元上的预计执行时间,将最短计算周期和最长允许计算周期转换为最大分配计算单元数和最小保留计算单元数;

当任一工作域的激活状态或任一计算节点的运行状态发生变化时,转步骤3);

3)基于各个激活的工作域设置的参考工作周期、计算资源分配优先级、最短计算周期和最长允许计算周期参数以及目前激活的工作域和正常运行的计算节点,求取各个激活的工作域预分配的计算单元数量;若当前可用的计算单元总数小于等于当前所有激活工作域的最小保留计算单元数之和,则根据各激活工作域的计算资源分配优先级由高到低顺序,按照其最小保留计算单元数依次进行计算单元预分配,直到所有计算单元分配完毕;

4)针对完成预分配的所有工作域,基于每个工作域预分配的计算单元数目和调整前各工作域已分配的正常运行计算单元数目计算出每个工作域参与调整的正常运行计算单元数目,并基于参与调整的计算节点数量尽可能少原则,结合各个计算节点的切换优先级和其包含的计算单元数目确定调整后每个计算节点的所属工作域;并对未分配到最小保留计算单元数计算资源的激活工作域给出提示;

5)每个计算节点上的分布式计算管理平台感知工作域变化信息,从原工作域切换到调整后工作域,完成计算节点在多个工作域之间的自适应调整。

2.根据权利要求1所述的多工作域计算资源的自适应调整方法,其特征在于,所述步骤1)中每个计算节点根据其具有的计算资源按照公式(1)进行计算单元标准化处理,确定每个计算节点包含的有效计算单元数目,从而对其计算能力进行度量:

<mrow> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>{</mo> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <msub> <mi>R</mi> <mrow> <mi>c</mi> <mi>p</mi> <mi>u</mi> </mrow> </msub> <mn>0</mn> </msup> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <msub> <mi>R</mi> <mrow> <mi>m</mi> <mi>e</mi> <mi>m</mi> </mrow> </msub> <mn>0</mn> </msup> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msub> <mi>R</mi> <mrow> <mi>i</mi> <mi>o</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <msub> <mi>R</mi> <mrow> <mi>i</mi> <mi>o</mi> </mrow> </msub> <mn>0</mn> </msup> </mrow> </mfrac> <mo>}</mo> <mo>,</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>&le;</mo> <mi>i</mi> <mo>&le;</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

其中,n为系统中机群计算节点数目,ui为第i个计算节点包含的计算单元数目,其为非负整数;

Rcpu(i)、Rmem(i)和Rio(i)分别是第i个计算节点具有的CPU、内存和IO计算资源;

Rcpu0、Rmem0和Rio0分别是标准计算单元具有的CPU、内存和IO计算资源。

3.根据权利要求1所述的多工作域计算资源的自适应调整方法,其特征在于,所述步骤2)中通过公式(2)和(3)分别将各个工作域的最短计算周期和最长允许计算周期转换为最大分配计算单元数和最小保留计算单元数:

其中,m为系统中工作域数目数量,tmin(j)为第j个工作域的最短计算周期,tmax(j)为第j个工作域的最长允许计算周期,fj为第j个工作域需要运行的应用功能数量,sjk为第j个工作域运行的第k个应用功能的计算任务数量,为第k个应用功能的单个计算任务在一个计算单元上预计执行时间,为向上取整运算符号;

cmax(j)为非负整数,表示第j个工作域的最大分配计算单元数;cmin(j)为非负整数,表示第j个工作域的最小保留计算单元数。

4.根据权利要求1所述的多工作域计算资源的自适应调整方法,其特征在于,所述步骤3)具体包括以下步骤:

3.1)将所有正常运行计算节点所包含的计算单元数量之和作为待分配计算单元数量cu的初始值,各个工作域的预分配计算单元数目初始化为0;统计当前所有激活的工作域的最小保留计算单元数之和其中m为系统中工作域数目数量,dj为第j个工作域的激活状态,其值为1表示该工作域激活,值为0表示该工作域未激活;

转步骤3.2);否则转步骤3.8);

3.2)对处于激活状态的各个工作域,按照其计算资源分配优先级由高到低进行降序排列,选择排序最前的工作域作为待预分配的工作域,进入步骤3.3);

3.3)按照公式(4)求取待预分配的工作域的预分配计算单元数目:

其中,rj为第j个工作域的预分配计算单元数目;ci为第i个计算节点的运行状态,ci的值为1表示该计算节点正常运行,值为0表示该计算节点故障;ηj为第j个工作域设置的参考工作周期,是不同工作域之间的计算资源分配系数;为向下取整运算符号;

3.4)若待预分配的工作域的预分配计算单元数目大于该工作域最大分配计算单元数目,则将该待预分配的工作域的预分配计算单元数目的值更新为该工作域最大分配计算单元数目;

3.5)判断待预分配的工作域的预分配计算单元数目是否小于等于待分配计算单元数量cu,若小于等于cu则将cu的值更新为cu减去该待预分配的工作域的预分配计算单元数目,否则将待预分配的工作域的预分配计算单元数目的值更新为cu并更新cu的值为0;

3.6)判断cu是否为0,如等于0则进入步骤4),否则将排在本次待预分配的工作域后一个的工作域作为新的待预分配的工作域转步骤3.3)进行下一激活工作域的计算资源预分配,直至完成所有激活工作域的计算资源预分配;

3.7)若所有激活工作域的计算资源预分配完成后待分配计算单元数量cu仍大于0,则对未达到最大分配计算单元数约束的所有激活工作域,按照各工作域的计算资源分配优先级由高到低顺序对每个激活工作域依次分配一个计算单元,直到所有计算单元全部分配给工作域或所有激活工作域分配的计算单元都达到最大分配计算单元数;进入步骤4);

3.8)对于所有激活工作域,按各激活工作域的计算资源分配优先级由高到低顺序,依次给各激活工作域按照其最小保留计算单元数预分配计算单元,直到所有计算单元分配完毕;进入步骤4)。

5.根据权利要求1所述的多工作域计算资源的自适应调整方法,其特征在于,所述步骤4)具体包括以下步骤:

4.1)针对所有工作域,根据每个工作域预分配的计算单元数目和调整前各工作域已分配的计算单元数目,基于公式(7)计算出每个工作域参与调整的计算单元数目:

Δsj=pj-rj(1≤j≤m) (7)

其中,pj为第j个工作域本次调整前已分配的正常运行计算单元数目;rj为第j个工作域的预分配计算单元数目;Δsj为第j个工作域本次优化分配后参与切换调整的计算单元数目,其值大于0表示第j个工作域切换计算单元给其他工作域使用,其值小于0表示其他工作域切换计算单元给第j个工作域使用。

4.2)对工作域集合中参与调整的计算单元数目大于0的每个工作域,按照该工作域中各个计算节点的切换优先级从高到低顺序依次选取一个处于正常运行状态的计算节点,记为k,更新该工作域参与调整的计算单元数目的值为其参与调整的计算单元数目与uk的差值;若更新后该工作域参与调整的计算单元数目大于等于0,则将计算节点k加入待切换计算节点集合,继续选择该工作域中下一个处于正常运行状态的计算节点,若更新后该工作域参与调整的计算单元数目小于0或该工作域中所有计算节点都已完成处理,则转步骤4.3);

4.3)对工作域集合中参与调整的计算单元数目小于0且本次调整前已分配的正常运行计算单元数目等于0的每一个工作域,从待切换计算节点集合中根据各个计算节点的切换优先级从低到高顺序选取一个计算节点,记为k,切换给这些工作域使用,并更新这些工作域参与调整的计算单元数目的值为各工作域参与调整的计算单元数目与uk的和,同时更新计算节点k的所属工作域为这些工作域;若待切换计算节点集合为空,则转步骤4.5);若待切换计算节点集合非空,转步骤4.4);

4.4)对工作域集合中参与调整的计算单元数目小于0的工作域按照其计算资源分配优先级由高到低顺序进行降序排列,针对其中每一个工作域,从待切换计算节点集合中根据各个计算节点的切换优先级从低到高顺序依次选取一个计算节点,记为k,切换给这些工作域使用,并更新这些工作域参与调整的计算单元数目的值为各工作域参与调整的计算单元数目与uk的和,同时更新计算节点k的所属工作域为这些工作域,直到这些工作域参与调整的计算单元数目大于等于0或待切换计算节点集合为空,转步骤4.5);

4.5)对于所有激活的工作域,根据每个计算节点所属的工作域信息以及包含的计算单元数,统计每个激活工作域实际分配的计算单元数目,并判断每个激活工作域实际分配的计算单元数目与其最小保留计算单元数的大小,对未分配到最小保留计算单元数的计算资源的激活工作域给出提示,进入步骤5)。

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