一种基于相似资源聚合的计算阵列能耗优化方法

文档序号:6332047阅读:212来源:国知局
专利名称:一种基于相似资源聚合的计算阵列能耗优化方法
技术领域
本发明涉及高性能计算系统计算阵列的能耗优化方法,尤其是一种通过相似资源 聚合降低能耗的方法。
背景技术
随着高性能计算系统技术的不断发展,新一代大规模并行计算系统的研制面临许 多新的挑战。特别是随着系统性能的不断提升,规模越来越庞大,系统的能耗飞速增长,造 成了大规模计算系统的能耗危机。系统能耗和系统性能的比值正成为高性能计算的主要评 价指标之一。高性能计算系统通常包括前端服务阵列、计算阵列、后端存储阵列三个组成部 分。计算阵列由大量的计算结点组成,对外提供作业的执行服务。计算阵列作为高性能 计算阵列的主要功耗部件,是能耗优化研究和工程设计的重点。计算阵列通常由多个不 同级别的系统组成单元组成,常见的系统组成单元低级到高级包括1)结点单元共享一 个操作系统的计算结点,包含1到多个CPU,CPU之间共享主存。结点单元可置于S3休眠 状态和从S3休眠状态唤醒;2)刀片单元由Cl个结点单元组成,Cl的取值为2的整数幂
χ为自然数。刀片单元中的结点单元共享刀片电源和刀片级别的冷却风扇。当且仅当 刀片单元中的所有结点单元处于休眠状态时,可关闭刀片单元的电源和风扇,使整个刀片 单元处于关闭状态,达到节能目的;3)机柜单元由C2个刀片单元组成,C2的取值为2的 整数幂F,_7为自然数。机柜单元中的刀片单元共享机柜电源、机柜级别的冷却设施、通信 模块。当且仅当机柜单元中所有刀片单元处于关闭状态时,可关闭机柜单元的电源、冷却、 通信模块,使整个机柜处于关闭状态,达到节能目的。目前常见的计算阵列能耗优化方法包括
1)基于CPU调频的能耗优化方法。当CPU负载高的时候,调高CPU的时钟频率,满足应 用的性能需求。当CPU负载低的时候,调低CPU的时钟频率,在满足应用性能要求的同时降 低处理器的能耗。该方法主要优化计算结点上有任务运行时候的能耗。当计算结点空闲的 时候,降到最低频率的CPU仍然功耗较大,存在较大的优化空间。2)关闭空闲结点的节能方法。由于用户作业提交的不均衡特性和作业调度策略的 部分保序特性,计算阵列运行过程中存在大量的空闲计算结点。当计算结点空闲时间达到 预设参数后,将空闲结点置于S3休眠状态。S3休眠状态是ACPI (Advanced Configuration and Power Interface Specification)标准定义的计算系统的一种低功耗状态,相比开机 状态能够节省90% - 95%的能耗。该方法是一种结点单元的节能方法,没有考虑更高级别 的系统组成单元的能耗优化。高性能计算系统计算阵列的能耗优化方法是本领域技术人员关注的技术问题。现 有的高性能计算系统计算阵列能耗研究中没有公开文献涉及将相似资源聚合从而降低能 耗的方法。

发明内容
本发明要解决的技术问题在于针对高性能计算系统计算阵列的能耗优化问题, 提出一种基于相似资源聚合的能耗优化方法,维持尽可能多的可置于休眠或者关闭状态的 计算资源,达到降低计算阵列能耗的目的。为了解决上述技术问题,本发明的技术方案为分级定义计算阵列中的能耗控制 单元,在计算阵列运行过程中将能耗状态相似的资源聚合在能耗控制单元中,增加可置于 休眠或者关闭状态的能耗控制单元的个数。能耗控制单元的能耗状态包括工作状态、空闲 状态、关闭状态、S3休眠状态。所谓能耗状态相似是指能耗控制单元处于相同或者相似的 能耗状态,关闭状态和S3休眠状态为相似能耗状态。具体技术方案为
第一步,根据计算阵列的系统组成单元定义计算阵列中能耗控制单元,能耗控制单元 从下级到上级包括结点能耗控制单元、刀片能耗控制单元、机柜能耗控制单元。对于包含 下级能耗控制单元的上级能耗控制单元,仅当其下级能耗控制单元全部处于一致的休眠或 者关闭的低功耗状态时,上级能耗控制单元才可置于关闭状态。在系统运行过程中尽量保 持能耗状态相似的资源聚合在同一能耗控制单元,以有效增加可置于休眠或者关闭状态的 能耗控制单元的个数,减少系统运行能耗。第二步,构造计算阵列能耗优化系统。能耗优化系统是部署在高性能计算系统的 前端服务阵列中服务器上的软件包,由相似资源聚合模块和能耗状态控制模块组成。相似 资源聚合模块执行能耗优化决策,在系统运行过程中聚集具有相似能耗状态的能耗控制单 元,为能耗状态控制模块提供尽可能多的可置于休眠或者关闭状态的能耗控制单元。能耗 状态控制模块实施能耗优化控制,检测能耗控制单元的状态,关闭内部能耗状态一致的能 耗控制单元,开启分配了作业的能耗控制单元。第三步,相似资源聚合模块接收客户端提交的作业,该作业计算结点需求量为M,M 为正整数。第四步,相似资源聚合模块从计算阵列资源状态库中检索出所有空闲状态的计算 结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配空闲计算结点, 按照能耗控制单元的层次从上级到下级的顺序分配计算结点。方法是
4. 1初始化作业待分配的计算结点数量为k,k = M。
4. 2将所有的机柜单元按照空闲结点的数量从高到低排序为队列jqueue,空闲结点数 量相同的机柜单元按照机柜单元中所有空闲结点的空闲时间的平均数从低到高排序。机柜 级别的资源选择从jqueue队列头开始。当前机柜单元指针j的初始值为jqueue队列头的 机柜单元,机柜单元j的空闲结点数量为jtmp。4. 3 如果 k>=jtmp 且 jtmp>0,转 4. 4 步,否则转 4. 5 步。4. 4将当前机柜单元j的全部空闲计算结点赋予当前作业,k=k_jtmp。将j指针 朝jqueue队列尾方向前移一个机柜单元,转4. 3步。4. 5将机柜单元j包含的刀片单元按照空闲结点的数量从高到低排序为队列的 dqueue,空闲结点数量相同的刀片单元按照刀片单元中所有空闲结点的空闲时间的平均数 从低到高排序。当前刀片单元指针d的初始值为dqueue队列头的刀片单元,刀片单元d的 空闲结点数量为dtmp。
4. 6 如果 k>=dtmp 且 dtmp>0,转 4. 7 步,否则转 4. 8 步。4. 7将当前刀片单元d的全部空闲计算结点赋予当前作业,k=k_dtmp。将d指针 朝dqueue队列尾方向移一个刀片单元,转4. 6步。4. 8将刀片单元d包含的结点单元按照空闲时间的大小从低到高排序为队列 nqueue,队列头的结点单元记为n,活跃的结点单元数量为ntmp。4. 9如果k>0且Kntmp,转4. 10步,否则转第五步。4. 10将刀片单元d的前k个空闲结点赋予当前作业,k = 0。第五步,检查作业的资源分配请求是否已满足。如果k=0,即作业的资源分配请求 已满足,转第七步。第六步,相似资源聚合模块从计算阵列资源状态库中检索出所有休眠状态的计算 结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配休眠计算结点, 按照能耗控制单元的层次从上级到下级的顺序分配计算结点。方法是
6. 1将所有的机柜单元按照休眠结点的数量从低到高排序为队列jsqueue,休眠结点 数量相同的机柜单元按照机柜单元中所有休眠结点的休眠时间的平均数从高到低排序。机 柜级别的资源选择从jsqueue队列头开始。当前机柜单元指针js的初始值为jsqueue队 列头的机柜单元,机柜单元js的休眠结点数量为jstmp。6. 2 如果 k>=jstmp 且 jstmp>0,则转 6. 3 步,否则转 6. 4 步。6. 3将当前机柜单元js的全部休眠计算结点赋予当前作业,k=k-jstmp。将js指 针朝jsqueue队列尾方向前移一个机柜单元,转6. 2步。6. 4将机柜单元js包含的刀片单元按照休眠结点的数量从低到高排序为队列的 dsqueue,休眠结点数量相同的刀片单元按照刀片单元中所有休眠结点的休眠时间的平均 数从高到低排序。当前刀片单元指针ds的初始值为dsqueue队列头的刀片单元,刀片单元 ds的休眠结点数量为dstmp。6. 5 如果 k>=dstmp 且 dstmp>0,则转 6. 6 步,否则转 6. 7 步。6. 6将当前刀片单元ds的全部休眠计算结点赋予当前作业,k=k-dstmp。将d指 针朝dsqueue队列尾方向移一个刀片单元,转6. 5步。6. 7将刀片单元ds包含的结点单元按照休眠时间的大小从高到低排序为队列 nsqueue,队列头的结点单元记为ns,休眠的结点单元数量为nstmp。6. 8如果k>0且Knstmp,转6. 9步,否则转第七步。6. 9将刀片单元ds的前k个休眠结点赋予当前作业,k = 0。第七步,能耗状态控制模块按照机柜能耗控制单元、刀片能耗控制单元、结点能耗 控制单元的顺序唤醒已分配作业的处于休眠或者关闭状态的能耗控制单元。如果已分配 作业的计算结点所在的机柜单元处于关闭状态,调用高性能计算系统控制软件唤醒机柜单 元。如果已分配作业的计算结点所在的刀片单元处于关闭状态,调用高性能计算系统控制 软件唤醒刀片单元。如果已分配作业的计算结点处于休眠状态,调用操作系统提供的ACPI 控制接口唤醒已分配作业的休眠态计算结点。高性能计算系统控制软件是高性能计算系统 中用于开启或者关闭能耗单元的应用软件,是部署在高性能计算系统的前端服务阵列中服 务器上的软件包。第八步,能耗状态控制模块每隔时间间隔T检测能耗控制单元的状态,调用操作系统的ACPI控制接口对空闲态计算结点执行休眠操作。时间间隔T的取值范围为1分钟 到3分钟。刀片单元内所有结点单元已全部休眠的,调用高性能计算系统控制软件执行刀 片关闭操作。机柜单元内所有刀片单元已关闭的,调用高性能计算系统控制软件执行机柜 关闭操作。
与现有技术相比,采用本发明可达到以下技术效果
1.本发明第四步和第六步支持本发明按照能耗控制单元的层次分配计算结点,保持了 能耗状态相似的能耗单元的聚合特性,提高了能耗控制单元关闭的概率;
2.本发明第四步支持本发明优先分配空闲结点,减少了计算结点的能耗状态切换次
数;
3.本发明第四步支持本发明优先选择空闲时间短的结点分配,增加了结点休眠的概
率;
4.本发明第六步支持本发明优先选择休眠时间长的结点分配,保持了结点休眠时间的 均等性。


图1为本发明的能耗优化方法流程图。
具体实施例方式图1为本发明的能耗优化方法流程图,包括以下步骤
第一步,根据计算阵列的系统组成单元定义计算阵列中能耗控制单元,能耗控制单元 从下级到上级包括结点能耗控制单元、刀片能耗控制单元、机柜能耗控制单元。第二步,构造计算阵列能耗优化系统。能耗优化系统是部署在高性能计算系统的 前端服务阵列中服务器上的软件包,由相似资源聚合模块和能耗状态控制模块组成。第三步,相似资源聚合模块接收客户端提交的作业,该作业计算结点需求量为M,M 为正整数。第四步,相似资源聚合模块从计算阵列资源状态库中检索出所有空闲状态的计算 结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配空闲计算结点, 按照能耗控制单元的层次从上级到下级的顺序分配计算结点。第五步、检查作业的资源分配请求是否已满足。如果作业的资源分配请求已满足, 转第七步。第六步,相似资源聚合模块从计算阵列资源状态库中检索出所有休眠状态的计算 结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配休眠计算结点, 按照能耗控制单元的层次从上级到下级的顺序分配计算结点。第七步,能耗状态控制模块按照机柜能耗控制单元、刀片能耗控制单元、结点能耗 控制单元的顺序唤醒已分配作业的处于休眠或者关闭状态的能耗控制单元。第八步、能耗状态控制模块每隔时间间隔T检测能耗控制单元的状态,调用操作 系统的ACPI控制接口对空闲态计算结点执行休眠操作。刀片单元内所有结点单元已全部 休眠的,调用高性能计算系统控制软件执行刀片关闭操作。机柜单元内所有刀片单元已关闭的,调用高性能计算系统控制软件执行机柜关闭操作。
权利要求
一种基于相似资源聚合的计算阵列能耗优化方法,其特征在于包括以下步骤第一步,根据计算阵列的系统组成单元定义计算阵列中能耗控制单元,能耗控制单元从下级到上级包括结点能耗控制单元、刀片能耗控制单元、机柜能耗控制单元;对于包含下级能耗控制单元的上级能耗控制单元,仅当其下级能耗控制单元全部处于一致的休眠或者关闭的低功耗状态时,上级能耗控制单元才可置于关闭状态;第二步,构造计算阵列能耗优化系统,能耗优化系统是部署在高性能计算系统的前端服务阵列中服务器上的软件包,由相似资源聚合模块和能耗状态控制模块组成;相似资源聚合模块执行能耗优化决策,在系统运行过程中聚集具有相似能耗状态的能耗控制单元,为能耗状态控制模块提供尽可能多的可置于休眠或者关闭状态的能耗控制单元;能耗状态控制模块实施能耗优化控制,检测能耗控制单元的状态,关闭内部能耗状态一致的能耗控制单元,开启分配了作业的能耗控制单元;第三步,相似资源聚合模块接收客户端提交的作业,该作业计算结点需求量为M,M为正整数;第四步,相似资源聚合模块从计算阵列资源状态库中检索出所有空闲状态的计算结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配空闲计算结点,按照能耗控制单元的层次从上级到下级的顺序分配计算结点,方法是 4.1初始化作业待分配的计算结点数量为k,k=M;  4.2将所有的机柜单元按照空闲结点的数量从高到低排序为队列jqueue,空闲结点数量相同的机柜单元按照机柜单元中所有空闲结点的空闲时间的平均数从低到高排序;机柜级别的资源选择从jqueue队列头开始;当前机柜单元指针j的初始值为jqueue队列头的机柜单元,机柜单元j的空闲结点数量为jtmp;4.3如果k>=jtmp且jtmp>0,转4.4步,否则转4.5步;4.4将当前机柜单元j的全部空闲计算结点赋予当前作业,k=k jtmp,将j指针朝jqueue队列尾方向前移一个机柜单元,转4.3步;4.5将机柜单元j包含的刀片单元按照空闲结点的数量从高到低排序为队列的dqueue,空闲结点数量相同的刀片单元按照刀片单元中所有空闲结点的空闲时间的平均数从低到高排序,当前刀片单元指针d的初始值为dqueue队列头的刀片单元,刀片单元d的空闲结点数量为dtmp;4.6如果k>=dtmp且dtmp>0,转4.7步,否则转4.8步;4.7将当前刀片单元d的全部空闲计算结点赋予当前作业,k=k dtmp,将d指针朝dqueue队列尾方向移一个刀片单元,转4.6步;4.8将刀片单元d包含的结点单元按照空闲时间的大小从低到高排序为队列nqueue,队列头的结点单元记为n,活跃的结点单元数量为ntmp;4.9如果k>0且k<ntmp,转4.10步,否则转第五步;4.10将刀片单元d的前k个空闲结点赋予当前作业,k=0;第五步,检查作业的资源分配请求是否已满足,如果k=0,转第七步;第六步,相似资源聚合模块从计算阵列资源状态库中检索出所有休眠状态的计算结点,根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配休眠计算结点,按照能耗控制单元的层次从上级到下级的顺序分配计算结点,方法是6.1将所有的机柜单元按照休眠结点的数量从低到高排序为队列jsqueue,休眠结点数量相同的机柜单元按照机柜单元中所有休眠结点的休眠时间的平均数从高到低排序,机柜级别的资源选择从jsqueue队列头开始;当前机柜单元指针js的初始值为jsqueue队列头的机柜单元,机柜单元js的休眠结点数量为jstmp;6.2如果k>=jstmp且jstmp>0,则转6.3步,否则转6.4步;6.3将当前机柜单元js的全部休眠计算结点赋予当前作业,k=k jstmp,将js指针朝jsqueue队列尾方向前移一个机柜单元,转6.2步;6.4将机柜单元js包含的刀片单元按照休眠结点的数量从低到高排序为队列的dsqueue,休眠结点数量相同的刀片单元按照刀片单元中所有休眠结点的休眠时间的平均数从高到低排序,当前刀片单元指针ds的初始值为dsqueue队列头的刀片单元,刀片单元ds的休眠结点数量为dstmp;6.5如果k>=dstmp且dstmp>0,转6.6步,否则转6.7步;6.6将当前刀片单元ds的全部休眠计算结点赋予当前作业,k=k dstmp,将d指针朝dsqueue队列尾方向移一个刀片单元,转6.5步;6.7将刀片单元ds包含的结点单元按照休眠时间的大小从高到低排序为队列nsqueue,队列头的结点单元记为ns,休眠的结点单元数量为nstmp;6.8如果k>0且k<nstmp,转6.9步,否则转第七步;6.9将刀片单元ds的前k个休眠结点赋予当前作业,k=0;第七步,能耗状态控制模块按照机柜能耗控制单元、刀片能耗控制单元、结点能耗控制单元的顺序唤醒已分配作业的处于休眠或者关闭状态的能耗控制单元;如果已分配作业的计算结点所在的机柜单元处于关闭状态,调用高性能计算系统控制软件唤醒机柜单元;如果已分配作业的计算结点所在的刀片单元处于关闭状态,调用高性能计算系统控制软件唤醒刀片单元;如果已分配作业的计算结点处于休眠状态,调用操作系统提供的ACPI控制接口唤醒已分配作业的休眠态计算结点;高性能计算系统控制软件是高性能计算系统中用于开启或者关闭能耗单元的应用软件,是部署在高性能计算系统的前端服务阵列中服务器上的软件包;第八步,能耗状态控制模块每隔时间间隔T检测能耗控制单元的状态,调用操作系统的ACPI控制接口对空闲态计算结点执行休眠操作;刀片单元内所有结点单元已全部休眠的,调用高性能计算系统控制软件执行刀片关闭操作;机柜单元内所有刀片单元已关闭的,调用高性能计算系统控制软件执行机柜关闭操作。
2.如权利要求1所述的基于相似资源聚合的计算阵列能耗优化方法,其特征在于时间 间隔T的取值范围为1分钟到3分钟。
全文摘要
本发明公开了一种基于相似资源聚合的计算阵列能耗优化方法,目的是降低计算阵列能耗。技术方案是定义结点能耗控制单元、刀片能耗控制单元、机柜能耗控制单元;构造由相似资源聚合模块和能耗状态控制模块组成的计算阵列能耗优化系统;相似资源聚合模块根据保持能耗状态相似的资源聚合在同一能耗控制单元的原则分配空闲计算结点和休眠计算结点,按照能耗控制单元的层次从上级到下级的顺序分配计算结点;能耗状态控制模块实施能耗优化控制,检测能耗控制单元的状态,关闭内部能耗状态一致的能耗控制单元,开启分配了作业的能耗控制单元。采用本发明可以保持能耗状态相似的能耗单元的聚合特性,提高能耗控制单元关闭的概率,从而降低能耗。
文档编号G06F1/32GK101943943SQ20101028168
公开日2011年1月12日 申请日期2010年9月15日 优先权日2010年9月15日
发明者卢宇彤, 周恩强, 徐炜遐, 所光, 曹宏嘉, 董勇, 蒋艳凰, 谢旻, 陈海涛 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1