本发明属于云计算领域,涉及一种基于费用的云计算任务调度方法,使用非合作博弈理论对云计算任务进行调度,使任务执行的费用降低。
背景技术:
云计算的任务调度对云计算系统整体的性能、开销等有着重要的影响,现有的云计算调度方案主要关注对任务的处理速度进行优化,但云计算覆盖范围广泛、计算节点众多,对费用的考虑也非常重要。现有技术方案在成本上可能会开销很大。
技术实现要素:
本发明旨在提供一种基于费用的云计算任务调度方法,使云计算任务处理的费用降低。本发明通过非合作博弈理论对云计算任务调度系统进行建模,通过求解纳什均衡解,使整个系统的调度策略达到均衡。
本发明采用以下技术方案:一种基于费用的云计算任务调度方法,其特征在于,包括以下步骤:
步骤1:系统建模
云计算系统中有l个用户,n个调度器和m个计算节点。用户独立产生任务且任务产生速率服务泊松分布。任务到达调度器i的速率为λi,调度器把任务调度给计算节点j的比例是aij。计算节点j处理任务的平均速率为uj。有以下约束条件:
步骤2:构造云计算系统的费用模型
云计算节点可以看做m/g/1排队系统,任务在计算节点的处理时间包括服务时间和等待时间,他们的计算公式分别为:
其中,
任务在计算节点上执行的费用包括等待时产生的费用和服务时产生的费用。根据费用公式:up=cp·p·t(其中cp是单位能耗的费用,p是系统容量,t是时间),带入公式4和公式5,得到云计算费用公式:
步骤3:定义非合作博弈模型
把调度器看做非合作博弈模型的参与者,由某个特定调度器调度出去的任务消耗的费用作为该调度器的目标,调度器之间互相独立地竞争,使各自的目标费用最低。目标函数可以由以下公式定义:
步骤4:纳什均衡证明
使用公式7作为目标函数的博弈模型能达到纳什均衡,因为公式7是连续、凸的递增函数,即:
步骤5:求解纳什均衡解
调度器i的平均任务费用为:
引入变量uji代表计算节点j留给调度器i的可用计算能力:
讲公式9带入公式8得到:
其拉格朗日算子:
令
得到
步骤6:算法求解过程
根据计算能力对计算节点进行排序,使up1i≤up2i≤…≤upmi,其中,
计算di:1≤di≤m是满足如下公式的最大整数:
计算α,α由以下公式求出:
求出α后可由公式13计算出aij
附图说明
图1为在系统参数固定的情况下,博弈调度与平均调度平均任务费用对比
图2为随着系统负载升高,博弈调度与平均调度平均任务费用对比
图3为随着计算节点个数增多,博弈调度与平均调度平均任务费用对比
具体实施方式
本发明提供一种基于费用的云计算任务调度方法,包括以下步骤:
步骤1:系统建模
云计算系统中有l个用户,n个调度器和m个计算节点。用户独立产生任务且任务产生速率服务泊松分布。任务到达调度器i的速率为λi,调度器把任务调度给计算节点j的比例是aij。计算节点j处理任务的平均速率为uj。有以下约束条件:
步骤2:构造云计算系统的费用模型
云计算节点可以看做m/g/1排队系统,任务在计算节点的处理时间包括服务时间和等待时间,他们的计算公式分别为:
其中,
任务在计算节点上执行的费用包括等待时产生的费用和服务时产生的费用。根据费用公式:up=cp·p·t(其中cp是单位能耗的费用,p是系统容量,t是时间),带入公式4和公式5,得到云计算费用公式:
步骤3:定义非合作博弈模型
把调度器看做非合作博弈模型的参与者,由某个特定调度器调度出去的任务消耗的费用作为该调度器的目标,调度器之间互相独立地竞争,使各自的目标费用最低。目标函数可以由以下公式定义:
步骤4:纳什均衡证明
使用公式7作为目标函数的博弈模型能达到纳什均衡,因为公式7是连续、凸的递增函数,即:
步骤5:求解纳什均衡解
调度器i的平均任务费用为:
引入变量uji代表计算节点j留给调度器i的可用计算能力:
讲公式9带入公式8得到:
其拉格朗日算子:
令
得到
步骤6:算法求解过程
根据计算能力对计算节点进行排序,使up1i≤up2i≤…≤upmi,其中,
计算di:1≤di≤m是满足如下公式的最大整数:
计算α,α由以下公式求出:
求出α后可由公式13计算出aij
步骤7:根据步骤6求出的aij对任务进行调度,与平均调度的费用情况进行对比,图1为在系统参数固定的情况下,博弈调度与平均调度平均任务费用对比,图2为随着系统负载升高,博弈调度与平均调度平均任务费用对比,图3为随着计算节点个数增多,博弈调度与平均调度平均任务费用对比。