[发明专利]计算机同构集群系统高能效资源分配方法无效
申请号: | 201210204880.5 | 申请日: | 2012-06-20 |
公开(公告)号: | CN102749987A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 刘伟;杜薇;段玉光 | 申请(专利权)人: | 武汉理工大学 |
主分类号: | G06F1/32 | 分类号: | G06F1/32;G06F9/54;G06F17/30 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 潘杰;李满 |
地址: | 430070 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机 同构 集群 系统 能效 资源 分配 方法 | ||
1.一种计算机同构集群系统高能效资源分配方法,该方法包括如下步骤:
步骤1.1:DSP的程序读入并行任务有向无环图文件,还读入处理器参数信息、网络参数信息以及平均通信计算比率信息;
步骤2.1:通过拓扑排序读入并行任务有向无环图,生成拓扑排序序列;
步骤2.2:通过COMPUTE-E-VALUE(v,G)算法,按照所述拓扑排序序列从入口任务v1开始,计算每个任务的最早开始时间下界e值直至出口任务vn结束,从而获得各任务的e值和相应的簇;
步骤2.3:按照所述各任务的e值非降序排列每个簇中的任务;
步骤3.1:逆拓扑排序所有上述任务节点,生成有序序列queqe;
步骤3.2:所述有序序列queqe中的第一个节点v被标记为“1”,并将第一个节点v相应的簇C(v)放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即这个簇中的所有节点已经在集合Φ(G)中;
步骤3.3:标记所有满足以下条件的节点u为“1”:存在边arc(u,w),其中且w∈C(v),并将上述满足条件的节点u中相应的簇放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即上述簇中的所有节点已经在集合Φ(G)中;
步骤3.4:对经过上述步骤3.2和步骤3.3后没有被标记为“1”的节点中的第一个节点标记为“1”,并将上述节点相应的簇C(v)放入集合Φ(G)中;然后按照步骤3.3中的方式对满足以下条件的节点标记为“1”:存在边arc(u,w),其中且w∈C(v),并将上述满足条件的节点u中相应的簇放入集合Φ(G)中,同时标记这个簇中的所有节点已经被分簇,即上述簇中的所有节点已经在集合Φ(G)中;
步骤3.5:重复步骤3.4,直到所有节点都被标记分簇为止;
步骤4.1:计算各个任务的计算能耗和所有的具有优先约束关系的任意两个任务之间的通信能耗;
其中,计算能耗的计算方法为:
公式(3)中eni表示任务vi执行时所产生的计算能耗,PNhighest表示最高功耗,ti表示任务vi在处理器上的执行时间,
任务集V中所有任务的计算能耗:
下面公式(5)中PNidle代表处理器的空闲功耗,即处理器不工作时的功率,因此,有了空闲功耗和空闲时间,就可以得到任一处理器的空闲能耗,其中,n表示任务个数,xij 表示任务i被分配到了处理器j上:
公式(5)中makespan表示所有任务最终都被执行完毕的时间,也即最后一个任务被执行完毕的时间,如果m表示总的处理器个数,所有节点总的空闲能耗:
整个并行应用总的计算能耗:
所述整个网络的通信能耗:
公式(8)中,PL表示网络连接功耗,而且,如果任务vi被分配到处理器p上,xip为“1”, 否则为“0”;如果任务vj被分配到处理器q上,xjq为“1”, 否则为“0”,cij是信息传递时间;
最终,整个集群系统总的能耗为:
步骤4.2:将所述第一个被标记的节点所对应的簇定为主任务簇,且初始标记主任务簇中的所有任务都已经分簇;
步骤4.3:从主任务簇开始遍历每个簇中的各个任务,如果一个簇中至少存在一个任务没有被分簇,则进入该簇分析该分簇中的各个任务的more_energy,more_energy的计算方法为:more_energy = enu - eluv,其中,任务u是任务v的前驱节点,enu代表u的计算能耗,eluv代表u和v之间的通信能耗;将最大的more_energy记为max_more_energy,判断max_more_energy是否大于0,如果max_more_energy≤0,则阈值控制部分失效,删除冗余的任务簇;
步骤5.1:从主任务簇开始,将每个分簇中的所有任务映射到一个未被占用的处理器上,并标记该处理器已被占用;
步骤5.2:重复步骤5.1,直到每个任务簇都被分配一个处理器为止;
步骤6.1:任务之间的依赖关系会导致相应的处理器产生空闲时间,从第一个处理器开始,依次搜索每个处理器上具有空闲执行时间的任务;
步骤6.2:利用DVS机制,在任务执行过程中,在不影响其他任务执行时间的前提下将任务执行频率和电压降低到近似最优值;
处理器的功耗可以用给定的参数表示为;
公式(10)中Cef代表开关电容,Vdd代表供电电压,f任务的执行频率,DVS的应用过程实际上就是选择最佳执行频率和电压的过程,这个过程表示为:
公式(11)中 fhighest代表处理器的最高执行频率,AESTi代表任务vi在处理器上的最早开始执行时间,令μ(vi)代表任务vi的计算时间,则AECTi等于AESTi与μ(vi)的和,AESTj表示每个处理器上任务vi执行完成后的第一个执行任务的最早开始执行时间;
给定处理器的最大功率,最高执行频率和最高电压,利用公式(10)推导出在任意电压V和频率f下的处理器功耗,最终,处理器上任一任务vi的计算能耗表示为:
公式(12)中ti代表任务vi在处理器上的执行时间,如果任务vi无空闲时间,则其执行频率为最高频率,执行时间为其计算时间,即Pbest = PNhighest, ti = μ(vi);
步骤6.3、重复步骤6.1和步骤6.2,直到所有的处理器的所有任务都已经被搜索完毕为止,而完成系统资源分配过程。
2.如权利要求1所述的计算机同构集群系统高能效资源分配方法,其特征在于:所述步骤4.3中判断max_more_energy是否大于0,如果max_more_energy>0,所述资源分配方法还包括:
步骤4.4:所述资源分配方法将会根据给定的要求搜索一个最佳阈值来平衡系统的性能和能耗,
所述最佳阈值的搜索方式为:计算各个任务的计算能耗和所有的具有优先约束关系的任意两个任务之间的通信能耗,假设任务u是任务v的前驱节点,令enu代表u的计算能耗,eluv代表u和v之间的通信能耗,且令more_energy = enu - eluv;首先计算每个任务的more_energy,将0设定为阈值选择的下界,将最大的more_energy设定为阈值选择的上界,记为max_more_energy,将区间[0, max_more_energy] 作为阈值选择区间,接下来设定一个合适的值为步长对阈值区间进行搜索;对于每个搜索到的阈值,计算在此阈值条件下的系统调度长度和总能耗,从而分别生成两个区间:调度长度区间和总能耗区间,然后分别比较两个区间内所有的值,以得到能够同时满足最佳调度长度和最小总能耗的所有阈值,当算法执行完毕后,所有满足条件的阈值将会被返回;
步骤4.5:比较计算所得的more_energy与给定的最佳阈值的大小,如果计算所得的more_energy大于给定的最佳阈值,则说明复制任务u不能满足用户所要求的系统性能,因此系统将会删除该簇中从当前任务到第一个任务的所有任务;如果该簇中所有的任务都已经被标记分簇,则该簇为冗余簇,将该簇删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉理工大学,未经武汉理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210204880.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:食管癌淋巴结专用分类盘
- 下一篇:一种经络测量仪