欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017113402444
申请人: 长春工程学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种面向云计算平台的任务调度方法,其特征在于,包括以下步骤:步骤1,初始化任务调度队列,计算每个任务的静态优先级,按照静态优先级降序排列任务,将任务依次放入任务优先级队列中;

具体包括:

构建任务DAG图;DAG图由四元组G=(T,E,W,C)构成,各成员定义如下:(1)T表示DAG图中的任务集合,共有n个任务,T={T1,T2,…,Tn};

(2)E={Ei,j|Ti,Tj∈T}表示任务间通信边的集合,Ei,j表示从任务Ti到任务Tj的一条有向边;

(3)W是一个n*m矩阵,表示n个任务分别在m个虚拟机上的执行时间,m为虚拟机总数量;

虚拟机集合P表示为:P={P1,P2,…,Pm};

W(Ti,Pk)表示任务Ti在虚拟机Pk上的运行时间,Pk∈P;按照公式(1)计算任务Ti的平均运行时间(4)C是任务间的通信开销,C(Ei,j)表示有向边Ei,j上的通信开销。假设当两个任务被分到同一虚拟机上时,任务间的通信开销为0;

(5)任务Ti的前驱任务集合pred(Ti)表示为:pred(Ti)={Te|Ee,i∈E};

任务Ti的后继任务集合succ(Ti)表示为:succ(Ti)={Ts|Ei,s∈E};

(6)假设DAG图中只有一个起点,用Tstart表示;只有一个终点用Tend表示;

(7)按照如下公式(2)计算DAG图中的每个任务Ti的静态优先级rank(Ti):以Tend作为计算开始结点,以Tstart作为计算结束结点,按照从下向上,同层从左到右的原则,遍历DAG图中的所有任务结点,依次计算得到每个结点任务的静态优先级;

步骤2,令i=1;

步骤3,选择任务Ti;

步骤4,令k=1;

步骤5,按照公式(3)计算任务Ti在虚拟机Pk上的开始执行时间(st(Ti,Pk)):其中:

任务Ti在虚拟机Pk上的开始执行时间(st(Ti,Pk))是指:任务Ti的所有前驱任务都被执行完,并且虚拟机Pk接收到任务Ti的所有前驱任务的执行结果时,任务Ti可以在Pk上开始运行的时间:ava(Pk)表示虚拟机Pk的起始可用时间,指虚拟机Pk的就绪时间或最近分配到虚拟机Pk上的任务Ti的完成时间,表示为:ava(Pk)=0或者ava(Pk)=ct(Ti,Pk);

ct(Te,Px)表示任务Ti的前驱任务在除虚拟机Pk外的其他对应虚拟机上的完成时间;

步骤6,将任务Ti的父任务结点按照静态优先级值降序排列,构造得到父任务队列;F为父任务队列中父任务结点数量;父任务队列Ti0表示为:Ti0={Ti-10,Ti-20,…,Ti-F0};其中,Ti-10表示任务Ti的父任务队列中静态优先级最高的任务;Ti-20表示任务Ti的父任务队列中静态优先级次高的任务;Ti-F0表示任务Ti的父任务队列中静态优先级最低的任务;父任务队列Ti0中任意一个父任务表示为步骤7,令f=1;

步骤8,按照公式(5)计算虚拟机Pk相对于任务Ti的空闲时间slot(Ti,Pk);其中,虚拟机Pk的空闲时间指虚拟机Pk已经处于就绪状态,但任务Ti需要等待其前驱任务的执行结果;

slot(Ti,Pk)=st(Ti,Pk)-ava(Pk)             (5)步骤9,判断Ti的父任务 是否满足以下规则:1) 并且ct(Qf,Pk)<st(Ti,Pk);而且父任务 没有在虚拟机Pk上执行过;其中, 代表父任务 在虚拟机Pk上的运行时间;ct(Qf,Pk)表示父任务 在虚拟机Pk上的完成时间;

如果满足,则复制 到虚拟机Pk的空闲时间slot(Ti,Pk)上,更新当前任务Ti的开始执行时间(st(Ti,Pk))和虚拟机Pk的空闲时间slot(Ti,Pk);如果不满足,执行步骤10;

步骤10,令f=f+1;判断f是否大于F,如果大于,则执行步骤11;如果不大于,则返回执行步骤9;

步骤11,任务Ti在虚拟机Pk上的完成时间等于任务Ti的开始执行时间加上任务Ti的执行时间,即:根据公式(4)计算Ti在Pk上的完成时间(ct(Ti,Pk)):ct(Ti,Pk)=st(Ti,Pk)+W(Ti,Pk)            (4)步骤12,令k=k+1;判断k是否大于m,如果大于,则执行步骤13;如果不大于,则返回执行步骤5;

步骤13,计算云计算系统的虚拟机负载平衡标准偏差Lk;

步骤14,根据用户需求分配任务Ti到ct(Ti,Pk)+Lk值小的虚拟机上去执行;

步骤15,令i=i+1;判断i是否大于n,如果大于,则执行步骤16;如果不大于,则返回执行步骤3;

步骤16,输出每个任务所分配的虚拟机;由虚拟机执行所分配的对应任务。

2.根据权利要求1所述的面向云计算平台的任务调度方法,其特征在于,步骤13具体包括以下步骤:步骤13.1,根据公式(6)计算虚拟机Pk的负载权值load(Pk):load(Pk)=w1·r_cpu+w2·r_mem+w3·r_bw     (6)其中:r_cpu表示CPU利用率,r_mem表示内存利用率,r_bw表示网络带宽利用率;w1+w2+w3=1,w1,w2,w3分别表示CPU、内存、带宽的影响因子;

步骤13.2,根据公式(7)计算云计算系统的虚拟机平均负载loadave:其中:load(Pk)表示虚拟机Pk的负载值;

步骤13.3,根据公式(8)计算云计算系统的虚拟机负载平衡标准偏差Lk:由此得到云计算系统的虚拟机负载平衡标准偏差Lk。