一种基于虚拟化容器技术的多工作流任务分配方法与流程

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

技术特征:

1.一种基于虚拟化容器技术的多工作流任务分配方法,其特征在于,包括准备阶段:

定义状态空间:用五元组S=(WR,RA,AW,IM,PJ)表示状态空间,其中WR表示待调度任务的工作量,RA表示资源可用时间,AW表示等待队列中的总工作量,IM表示空闲容器资源数,PJ表示队列中各用户提交任务的比例;

定义动作空间:用三元组J=(TJ,WS,ET)表示动作空间,其中TJ表示任务类型,WS表示用户标识符,ET表示任务执行时间;

定义回报函数:

其中为控制系数,为工作流任务vi的响应率,为vi的公平性指标,任务vi的响应率为:

其中,execution timevi为任务的执行时间,waittingtimevi为任务的等待时间,

任务vi的公平性指标定义为:

<mrow> <msub> <mi>F</mi> <msub> <mi>v</mi> <mi>i</mi> </msub> </msub> <mo>=</mo> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mi>k</mi> </munder> <mrow> <mo>(</mo> <msub> <mi>W</mi> <mrow> <msub> <mi>kv</mi> <mi>i</mi> </msub> </mrow> </msub> <mo>-</mo> <msub> <mi>S</mi> <mrow> <msub> <mi>kv</mi> <mi>i</mi> </msub> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <msub> <mi>M</mi> <msub> <mi>v</mi> <mi>i</mi> </msub> </msub> </mfrac> </mrow>

其中表示用户k提交的任务vi所需的资源,指用户k提交的任务vi的响应速率,指取用户k提交的所有作业中的最大的值,指取用户K提交的所有作业中最大的W值;

执行阶段:

第一步:初始化ρ和Q(s,a),其中ρ表示平均回报,Q(s,a)为二维表格,行s为系统状态,列a为动作空间;

第二步:设置更新步长,执行迭代;

第三步:将变量i设置为0,将s设置为当前状态;

第四步:从动作空间a中选择动作;

第五步:执行选择的动作,得到当前状态的立即回报值r和下一个系统状态s’;

第六步:按式Q(s,a)←Q(s,a)+α*[r-ρ+maxa'Q(s',a')-Q(s,a)]更新Q(s,a),其中,a’代表系统状态s’下的动作空间,α∈(0,1)代表学习速率;

第七步:判断是否满足Q(s,a)=maxaQ(s,a),若是则更新平均回报ρ然后转第八步,若否则直接转第八步;

第八步:令i=i+1;

第九步:若i小于更新步长,令s=s’,转至第二步,若i不小于更新步长,则转至第十步;

第十步:将Q(s,a)表格中的数据作为输入,使用高斯过程进行回归操作,得到回归结果;

第十一步:使用第十步得到的回归结果修改Q(s,a)表格;

第十二步:将第七步得到的平均回报ρ作为输入,使用高斯过程进行回归操作,得到回归结果;

第十三步:使用第十二步得到的回归结果修改平均回报ρ;

第十四步:转至第二步。

2.根据权利要求1所述的一种基于虚拟化容器技术的多工作流任务分配方法,其特征在于,包括第四步中使用以下策略从动作空间中选择动作:

按公式rank(vexit)=w(vexit)设置任务初始优先级,rank(vexit)表示任务初始优先级,w(vexit)表示出口任务优先级;

对初始优先级进行动态调整,选择当前优先级最高的动作,

调整公式如下:

<mrow> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>k</mi> <msup> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>&prime;</mo> </msup> <mo>=</mo> <mover> <mrow> <mi>w</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>+</mo> <munder> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mi>j</mi> <mo>&Element;</mo> <mi>s</mi> <mi>u</mi> <mi>c</mi> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <mo>{</mo> <mover> <mrow> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>e</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>+</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>k</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>}</mo> <mo>+</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mrow> <mi>S</mi> <mi>L</mi> <mi>A</mi> </mrow> </msubsup> </mrow>

其中,rank(vi)′任务为vi调整后的优先级,表示任务vi在当前簇内所有可用虚拟化容器资源上的平均执行代价,表示任务vi和vj之间的平均通信代价,rank(vj)表示任务vj调整前的优先级,为紧急因子,表示当前任务vi在执行中随外部环境因素改变而导致违反服务等级协议的紧迫程度。

3.根据权利要求1所述的一种基于虚拟化容器技术的多工作流任务分配方法,其特征在于,所述第七步中,按照公式ρ←ρ+β*[r-ρ+maxa'Q(s',a')-maxaQ(s,a)]更新平均回报ρ,其中β∈[0,1]为累积回报折扣因子。

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