改善系统能量效率的体系结构方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

书书书第32卷 第12期2009年12月计  算  机  学  报CHINESEJOURNALOFCOMPUTERSVol.32No.12Dec.2009 收稿日期:20060416;最终修改稿收到日期:20091111.本课题得到国家自然科学基金“软件指导的高性能计算机系统功耗和热量管理”(60903059)、国家“八六三”高技术研究发展计划项目“面向片上多处理器系统的程序设计环境”(2008AA01Z110)、国家科技重大专项(2009ZX01036001003001)及高效能服务器和存储技术国家重点实验室开放基金项目(2009HSSA04)资助.易会战,男,1976年生,博士,主要研究方向为低功耗编译优化、并行程序设计语言.Email:huizhanyi@nudt.edu.cn.刘勇鹏,男,1977年生,博士研究生,主要研究方向为操作系统、功耗管理、系统容错.改善系统能量效率的体系结构方法:并行处理易会战  刘永鹏(国防科学技术大学计算机学院计算机研究所 长沙 410073)摘 要 因为对高性能微芯片和系统设计的广泛影响,能量消耗问题受到计算机界越来越广泛的关注.多个层次的技术被用于改善系统的能量效率,并行处理是体系结构层提高能量效率的主要手段.并行处理使用性能适中的计算节点减少能量消耗,使用多个节点并行执行维持高吞吐量.文中分析了并行处理提高能量效率的基本原理,给出了并行处理的时间开销和能量开销模型.基于模型分析,对低电压并行系统、动态电压调节(DynamicVoltageScaling,DVS)的并行系统和多核微处理器3个并行处理方向进行了展望,给出了这些并行处理方向改善能量效率的空间.关键词 并行处理;能量效率;动态电压调节;低电压设计;多核处理中图法分类号TP311   犇犗犐号:10.3724/SP.J.1016.2009.02475犃狀犈犳犳犻犮犻犲狀狋犃狉犮犺犻狋犲犮狋狌狉犲犕犲狋犺狅犱犳狅狉犐犿狆狉狅狏犻狀犵犈狀犲狉犵狔犈犳犳犻犮犻犲狀犮狔:犘犪狉犪犾犾犲犾犘狉狅犮犲狊狊犻狀犵YIHuiZhan LIUYongPeng(犐狀狊狋犻狋狌狋犲狅犳犆狅犿狆狌狋犲狉犜犲犮犺狀狅犾狅犵狔,犛犮犺狅狅犾狅犳犆狅犿狆狌狋犲狉,犖犪狋犻狅狀犪犾犝狀犻狏犲狉狊犻狋狔狅犳犇犲犳犲狀狊犲犜犲犮犺狀狅犾狅犵狔,犆犺犪狀犵狊犺犪 410073)犃犫狊狋狉犪犮狋 Energyconsumptionhasbeenpaidincreasingattentiontointhecomputerdomainbecauseofitsdeepinfluenceonthedesignofhighperformancechipsandsystems.Manytechniquesareproposedtoimproveenergyefficiencyofcomputersystems,andinthepapertheauthorfocusesonparallelprocessingonarchitecturelevel.Parallelprocessingimprovesenergyefficiencybyusingsomecomputingnodeswithmoderateperformance,whichmaintainhighthroughputbyparallelexecution.Inthispaper,theauthorspresentthefundamentalofparallelprocessingimprovingenergyefficiency,andmodelsthetimeandenergyoverheadinvolvedinparallelexecution.Basedonthemodels,theauthorinvestigateslowvoltageparallelsystems,parallelsystemswithdynamicvoltagescaling,andmulticoremicroprocessors,andrevealstheirpotentialofimprovingenergyefficiency.犓犲狔狑狅狉犱狊 parallelprocessing;energyefficiency;dynamicvoltagescaling;lowvoltagedesign;multicoreprocessing1 引 言当前,能量消耗问题阻碍了计算机系统性能的进一步提高.首先,大量的能量消耗提高了芯片的封装和制冷代价,为了维持稳定的运行,高性能微处理器需要采用新的封装和制冷技术.其次,环境温度和计算机的可靠性有紧密的联系,大量的能量消耗导致运行环境温度增加,最终降低了计算机系统的可靠性[1].最后,能量消耗的直接结果是大量的电力消耗,这增加了高性能系统的运行成本[2].如何改善计算机系统的能量效率在多种层次上得到了广泛的研究[35].在计算机体系结构层,采用并行处理技术提高系统能量效率受到了最多的关注.并行处理使用性能适中的计算节点提高系统的能量效率,使用多节点的并行执行维持高的系统吞吐量.带有动态电压调节(DVS)能力的并行系统进一步提高了系统的灵活性,使得节点的性能可以根据程序的执行需求动态变化,节省了系统的能量消耗.并行处理在提高能量效率方面的工作包括以下3个方面.首先是对低电压并行系统的尝试.BlueGene/L[6]曾一度是运算速度最快的高性能并行系统,该系统采用了嵌入式PowerPC440ASIC芯片作为处理节点,每个节点提供了适中的性能,同时全系统的65536个节点提供了高的系统吞吐量.BlueGene/L的单机柜设计功耗为25kW,设计性能为5.6Tflops,节点能量效率为224Mflops/W.相比之下,同时期的ASCI系列系统(Red,White,Q)的能量效率只有1Mflops/W左右.其次是对DVS并行系统的尝试.与低电压并行系统的设计方式相反,DVS并行系统试图使用高性能的处理器作为系统节点,使用DVS动态调整系统性能和功耗.MEMO是16个节点的机群并行系统[2],每个节点的IntelPentiumM处理器具有DVS的功能.另外的一个DVS系统是由AMDAthlon64构成的10个节点的机群系统[5],同样每个节点具有DVS能力.最后,多核处理器技术是当前最重要的研究方向之一.多核处理器采用多个性能适中的处理核心提高能量效率,使用高的数据级并行或者线程级并行提高整个处理器的性能.当前商用通用处理器一般采用了单芯片多处理技术和同时多线程技术,例如IBM的下一代多核处理器IBMPOWER7计划支持8个处理核,Intel的NehalemEX支持8个处理核16个线程.随着对高计算性能的迫切需求,图形处理器(GPU)开始应用在通用计算领域[79],一般作为通用处理器的加速处理器.图形处理器(GPU)具有典型的并行结构,例如NVIDIA的GeForceGTX285包括30个核,每个核包括8个SIMD功能部件,构成了240个流处理器.又例如AMD的4870处理器包括10个核,每个核包括16个SIMD处理单元,每个单元包括5个乘加部件,构成800个流处理器,对于规则的矩阵乘运算,能量效率超过1Gflops/W.图形处理器简化了硬件结构,能够有效处理具有规则数据访问模式的应用,充分开发了程序中的数据级并行,能够达到很高的计算效率.从以上分析可以看出,并行处理技术被广泛应用于改善系统的能量效率.本文通过分析的手段研究并行处理技术的节能空间.我们研究的主要问题是:在已有的高性能系统设计下,采用低电压的并行处理技术改善系统能量效率的空间是什么?这样的高性能系统设计包括高性能并行系统和多核处理器.在DVS并行系统上,通过提高并行度来改善应用的能量效率的空间是什么?这包括DVS并行系统和DVS多核处理器.理论上并行处理能够改善系统的能量效率,但是实际上并行处理引入了一些与提高能量效率方向相反的问题.并发度的提高往往导致时间开销和能量开销增大,结果系统的能量效率反而下降.本文分析了并行处理提高系统能量效率的原理,建立了程序并行执行的时间开销和能量开销模型.基于模型分析,本文研究了并行处理对能量效率改善的作用,分析了系统扩展和应用扩展对能量节省的影响.本文第1节给出了研究的主要问题和相关工作;第2节给出并行处理提高系统能量效率的原理;第3节分析并行处理的时间开销和能量开销,给出能量效率模型;在第4节使用能量效率模型研究并行处理对能量效率改善的作用;最后给出结论.2 并行处理提高能量效率的原理假定程序的执行周期数为犮,系统的运行频率为犳,那么在该系统上程序的执行时间为狋=犮/犳.考虑在一个狀个节点的并行系统上,如果程序能够完全并行执行,犮个执行周期能够均匀划分到狀个节点上执行,每个节点只需要完成犮/狀个周期.这里要保证程序能够在狋时间内完成,每个节点需要的执行频率为犳狆=(犮/狀)/狋=(犮/狋)/狀=犳/狀,也就是说,每个节点的执行频率只需要原来的1/狀.下面考虑两种执行的能量消耗.对于以CMOS工艺为基础的计算机系统,为了保证器件稳定运行,系统的电压和频率必须满足犳=犽·(犞-犞犜)α/犞,其中,犞为器件的供电电压,犞犜为阈值电压,α为一个系统相关的参数.一般犞犜远小于犞,并且α取为2,于是频率犳和电压犞近似为线性关系6742计  算  机  学  报2009年犳=犞/β.考虑CMOS的能量消耗公式为犈=犆eff·犳·犞2·狋,其中犆eff为有效切换电容.于是串行执行时系统的能量消耗为犈=β2·犆eff·犳3·狋.并行执行时系统的能量消耗为犈狆=狀·犆eff·犳狆·犞2狆·狋=狀·β2·犆eff·(犳/狀)·(犳/狀)2·狋=犈/狀2.这里假定单个节点的有效切换电容相同.从上面公式可以看出,并行执行的能量消耗是原来的1/狀2.这极大地减少了系统的能量消耗,提高了能量效率.两种情况的近似能量消耗比率为狉=犈狆/犈=1/狀2.如果不采用近似公式犳=犞/β,更精确的能量消耗比率为狉=犈狆/犈=犞2狆/犞2.考虑在0.18μm工艺下的情况,阈值电压设为0.55V,在0.5GHz下,运行电压设为2V.可以得到能量消耗比率,见图1.图1 能量消耗比率从图1可以看出,精确和近似方法具有相同的变化趋势,所以下面使用近似方法进行研究.在本部分的结束,给出能量效率的明确含义.能量效率是指单位能量消耗(或者功耗)所完成的工作量,单位为flops/W或者flops/J.在本文中,使用并行系统和串行系统的能量消耗比率来体现能量效率的高低.3 能量效率模型上一节的分析对应用和系统都进行了理想的假定,实际上并行处理具有时间和能量开销,这些开销最终影响了能量效率.3.1 时间开销在前面分析中理想的假定应用是可以完全并行的,应用可以完全划分到多个节点执行,不存在任何开销.但是实际上应用往往不能完全并行化,存在可并行区间和串行区间,其中的串行区间不能并行化.而且,可并行区间的并行具有相应的并行开销,例如通信和同步开销.同时,即使在应用的可并行区间,多个节点的负载可能也不是相同的,存在负载不平衡问题.为了讨论问题的方便,这里并不试图揭示每种并行开销.这里的分析将并行程序划分为并行区间和串行区间,假定应用的串行区间串行执行的比率为犚狊,并行区间串行执行的比率为犚狆=1-犚狊.串行区间一般采用冗余执行的方式在每个节点并行执行,如果并行区间是负载平衡的,并行区间的执行是计算和通信交替的过程.一个示意性的并行程序见图2.其中犛代表串行区间,犘代表并行区间,犆为通信区间.与串行执行相比,并行执行引入了串行区间的冗余执行和通信区间的消息交换,这些都导致系统能量消耗的增加.图2 抽象的并行执行过程下面考虑当节点数目变化时犛区间、犘区间和犆区间的变化.犛区间的变化最简单,当节点数增加时,每个节点上犛区间的执行时间不变,这里仍用犚狊表示.假定并行节点数为狀,每个节点上犘区间的执行时间为犚狆/狀.犆区间的

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功