[发明专利]一种基于DVFS技术的大规模并行任务节能调度方法有效

专利信息
申请号: 201310006427.8 申请日: 2013-01-08
公开(公告)号: CN103235640A 公开(公告)日: 2013-08-07
发明(设计)人: 王玉龙;苏森;黄庆佳;双锴;徐鹏 申请(专利权)人: 北京邮电大学
主分类号: G06F1/32 分类号: G06F1/32;G06F9/50
代理公司: 北京思创毕升专利事务所 11218 代理人: 郭韫
地址: 100876 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 dvfs 技术 大规模 并行 任务 节能 调度 方法
【权利要求书】:

1.一种基于DVFS技术的大规模并行任务节能调度方法,其特征在于:所述方法包括以下步骤:

(1)任务映射阶段:将所有处理器的初始状态均设为运行在其最高电压和最高频率状态,然后通过计算获得任务映射阶段的有向无环图调度结果的整体执行时间MHEFT

(2)任务拉伸阶段:将任务的执行电压和频率进行拉伸优化,在不影响整体性能的情况下降低能耗开销。

2.根据权利要求1所述的基于DVFS技术的大规模并行任务节能调度方法,其特征在于:所述步骤(1)包括以下步骤:

(A1):计算所有任务的平均执行开销;

设任务ni在处理器pk上的执行开销记为wi,k,则该任务在q个处理器上的平均执行开销是该任务在所有处理器上的执行时间的均值,如下式所示:

wi=Σj=1qwi,j/q;]]>

(A2):计算所有任务的b-level值,然后按b-level值的降序顺序将任务压入队列Q;

b-level值是指:通过广度优先算法逆序计算从有向无环图退出节点到当前节点所有路径中最大的路径开销值;

(A3):选择所述队列Q中的第一个任务,设该任务为ni,即未被调度的b-level值最高的任务;

(A4):循环查找所有的处理器获得该任务在各个处理器上最早结束时间EFT(ni,pk),选择最早结束时间最小的处理器pk,将任务ni调度到该处理器上执行;

所述最早结束时间EFT(ni,pk)是通过下式得到的:任务ni在处理器pk的最早结束时间EFT(ni,pk)=EST(ni,pk)+wi,k,其中,EST(ni,pk)是任务ni在处理器pk的最早开始时间,EST(ni,pk)=maxnjpred(ni)(AFT(nj)+cj,i),]]>其中,AFT(ni)为任务ni的实际结束时间,nj为另外一个任务,ci,j为两个任务的通信开销,即每两个存在依赖关系的可执行任务之间的传输时间;pred(ni)为该任务的直接前驱任务集合,nj为该任务的直接前驱任务集合中的一个任务,

pred(ni)={nj|(njni),niDAG,njDAG};]]>

(A5):将已调度的任务ni移出队列Q,然后判断队列Q是否为空,如果是,则转入步骤(A6),如果否,则返回步骤(A3);

(A6):计算出任务映射阶段的有向无环图调度结果的整体执行时间MHEFT

MHEFT=max{AFT(ni)|niDAG}.]]>

3.根据权利要求2所述的基于DVFS技术的大规模并行任务节能调度方法,其特征在于:所述步骤(2)包括以下步骤:

(B1):如果MHEFT≤Tdeadline,转入步骤(B2),Tdeadline为用户设定的并行任务最长执行时间;如果MHEFT>Tdeadline则调度无法满足用户设定,转入步骤(B14);

(B2):计算任务拉伸系数μ=Tdeadline/MHEFT

(B3):令S为所有任务的集合,当S不为空时,从S中取出AFT(ni)值最大的任务ni

(B4):对任务映射阶段的原调度进行拉伸,在处理器pk不变的情况下重新计算任务ni的实际结束时间AFT′(ni)和实际开始时间AST′(ni),计算方式如下:

将实际开始时间更新为:AST′(ni)=μ·AST(ni),其中AST(ni)为任务ni的实际开始时间;

将实际结束时间更新为:AFT′(ni)=AST′(ni)+wi,k,其中,wi,k为任务ni在处理器pk上的执行开销;

更新后的实际开始时间和更新后的实际结束时间构成新调度结果;

(B5)将已经拉伸的任务ni从任务集合S中删除,如果S不为空,返回步骤(B4),如果S为空,则转入步骤(B6);

(B6):计算所述新调度结果下的所有计算任务的最早开始时间EST(ni)和最晚结束时间LFT(ni):

EST(ni)=maxnjpred(ni)(AFT(nj)+cj,i);]]>

LFT(ni)=minnjsucc(ni)(AST(nj)-ci,j),]]>其中,ci,j为两个任务的通信开销;

(B7):令N为所有任务的集合;

(B8)如果N不为空,则取出LFT(ni)值最大的任务ni,放入临时调度队列Qtemp

(B9):任务ni在处理器pk上的执行序号表示为l,则任务ni也可表示为并设置变量x=l;

(B10):如果则将放入Qtemp,继续执行步骤(B11);否则跳到步骤(B12);

(B11):设置变量x′=x-1,如果x′>0,则返回步骤(B10),否则跳到步骤(B12);

(B12):计算任务ni的全局最优执行频率值fglobal

计算队列Qtemp中所有任务的执行时间:Texec(Qtemp)={Σwi,pk|niQtemp}]]>

计算队列Qtemp中任务集的整体可用时间:

Ttotal(Qtemp)=LFT(npk,biggest)-EST(npk,smallest)]]>

计算任务ni的全局最优执行频率值fglobal

fglobal(ni,pk)=fmax(pk)·max(wiwi+Slack(ni),Texec(Qtemp)Ttotal(Qtemp))]]>

(B13):将任务ni的执行电压从fmax(pk)到fglobal(ni,pk),其实际执行开销调整为Texec(ni)=nifglobal(ni,pk),]]>

实际结束时间调整为AFT(ni)=LFT(ni),

实际开始时间调整为AST(ni)=AFT(ni)-Texec(ni);]]>

(B14):将任务ni移出任务集合N,更新任务ni的前驱任务集合的最晚结束时间LFT,清空临时队列Qtemp

(B15):如果任务集合N不为空,则返回步骤(B7);否则调度结束,转入步骤(B16);

(B16):退出程序。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310006427.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top