您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页一种基于并行度分析模型的GPU功耗优化技术

一种基于并行度分析模型的GPU功耗优化技术

来源:华佗小知识
第34卷第4期 2011年4月 计 算 机 学 报 Vo1.34 No.4 Apr.2011 CHINESE JOURNAL OF COMPUTERS 一种基于并行度分析模型的GPU功耗优化技术 林一松 杨学军 唐 滔 王桂彬 徐新海 (国防科学技术大学并行与分布处理国家重点实验室 长沙410073) 摘 要 随着硬件功能的不断丰富和软件开发环境的逐渐成熟,GPU开始被应用于通用计算领域,协助CPU加 速程序的运行.为了追求高性能,GPU往往包含成百上千个核心运算单元.高密度的计算资源,使得其在性能远高 于CPU的同时功耗也高于CPU.功耗问题已经成为制约GPU发展的重要问题之一.DVFS技术被广泛应用于处 理器的低功耗优化,而对GPU进行相应研究的前提是对其程序运行过程进行分析和建模,从而可以根据应用程序 的特征来确定优化策略.此外,GPU主要由图形处理器芯片和片外的DRAM组成,有研究指出针对这类系统的功 耗优化应当综合考虑处理器和存储器,使二者可以互相协调以达到更好的优化效果.文中在一个已有的基于程序 并行度分析的GPU性能模型的基础上,综合考虑计算部件与存储部件的功耗,建立了性能约束条件下的GPU功 耗优化模型.对于给定的程序,在满足性能约束的前提下,以功耗最优为目标分别给出处理器和存储器的DVFS优 化策略.作者选取T 9个测试用例在3种模拟平台上进行了实验验证,结果表明文中的方法可以在满足性能约束 条件1O 的误差范围内获得最优的GPU能量消耗. 关键词 GPU;并行度模型;功耗模型;功耗优化 中图法分类号TP311 DOI号:10.3724/SP.J.1016.2011.00705 A GPU Low—Power Optimization Based on Parallelism Analysis Model I IN Yi—Song YANG Xue—Jun TANG Tao WANG Gui—Bin XU Xin—Hai fNational Laboratory for Parallel and Distributed Processing・National University of Defe 5e Technology,Changsha 410073) Abstract With the continues development of hardware and software,GPU has been used in gen— eral purpose computation field,accelerating applications for CPU.To achieve high computing performance,GPU typically includes hundreds of computing units.The high density of compu— ting resource on chip brings in high power consumption as well as high performance.The power consumption problem has become one of the most important problems for the development of GPU.The DVFS technique is widely used to optimize power consumption for processors.How ever,applying the DVFS technique to GPU depends on the analysis of program execution on GPU,SO that optimization strategy can be chosen according to the program feature.Besides, GPU is comprised of a processor chip and an off—chip DRAM system.Some previous researches point out that the power consumption optimization for such a system should involve both the pro— cessor and the DRAM,to achieve better optimization effect.Based on an existing GPU analytical model,this paper proposes a GPU power optimization model under performance restriction,in— volving both the processor and the DRAM on GPU.For a given program,the model gives the DVFS strategies for the processor and the DRAM respectively with an appointed performance re一 收稿日期:2010 09 2O;最终修改稿收到日期:2011-03—07.本课题得到国家自然科学基金(90620162)资助.林一松,男,1983年生,博士, 研究方向为高性能计算和低功耗优化.E—mail:linyisong@live.cn.杨学军,男,1963年生,博士,教授,博士生导师,研究领域为高性能计 算、并行体系结构、高性能编译及操作系统.唐滔,男,1984年生,博士研究生,研究方向为高性能计算和编译优化.王桂彬,男,1981年 生,博士研究生,主要研究方向为高性能计算和低功耗优化.徐新海,男,1984年生,博士研究生,研究方向为高性能计算和容错. 706 计 算 机 学 报 striction.The authors choose nine test cases to evaluate the model on three simulated GPU plat— forms.The experimental results show that the model can achieve optimal energy consumption while the performance deviation from the restriction is less than 10 . Keywords GPU;parallelism model;power model;low power opttmization 1 引 言 半导体工艺的发展使得处理器芯片上集成的晶 体管越来越多,目前已经达到10亿的量级.图形处 理器(Graphics Processing Unit,GPU)的性能也因 此得到了飞速的提升,并且远远超过了通用CPU. 例如,AMD公司推出的FireStream 9250 GPU_1 拥 有800个计算核心,超过1TFlop/s的峰值计算性 能,而同时期Intel公司的Core2 Quad处理器仅能 达到100GFlop/s.随着硬件功能的逐渐丰富以及软 件环境的日臻成熟,GPU被越来越多地应用到非图 形计算领域口]. 随着GPU应用领域的拓展,其功耗问题引起 了人们越来越多的关注.虽然性能/功耗比相对较 高,但其远高于CPU的绝对功耗也成为了GPU参 与通用计算特别是大规模科学计算不可忽略的问 题.高功耗不仅使得计算的成本增加,也会导致芯片 的可靠性下降,这是科学计算不能容忍的.此外, GPU在移动设备、嵌入式设备上广泛的应用前景也 对其低功耗的研究提出了迫切的需求.因此GPU 的低功耗优化是一个亟待解决的问题. 目前针对GPU的低功耗研究还处于起步阶 段,主要原因是缺乏对GPU上程序执行过程的准 确分析,因而难以根据程序的特征有针对性地对电 压/频率进行调节.现有的GPU支持比较简单的功 耗优化,如驱动程序检测到GPU轻负载时降低其 频率,而一旦有任务执行时则恢复工作频率,这种优 化方式获得的能效比显然没有程序指导下的优化方 法高.另一方面,传统的功耗优化技术大多针对处理 器,而忽略了存储器.有研究者指出,在一个包含处 理器和存储器的计算系统中,存储器消耗的能量不 可忽略,能量的优化应同时考虑处理器和存储器,其 效果优于只针对处理器或存储器的优化口J.现代高 性能GPU中除了显示芯片外,往往还包含一个大 容量的存储器,这意味着必须将存储器的功耗纳入 GPU的功耗优化范围才能取得较好的优化效果. 针对以上问题,本文对GPU的功耗优化展开 研究,综合考虑GPU上的处理器与存储器,研究在 性能模型指导下的GPU功耗优化方法.为了分析 程序的行为特征,同时在优化功耗的同时对程序性 能进行一定的约束,我们的功耗优化方法的一个重 要的基础是对GPU程序执行过程的分析和程序性 能的建模.Hong和Kim在2009年国际体系结构年 会(IsCA’09)上提出了一种GPU性能解析模型[4]. 该模型以Nvidia GPU为硬件平台,CUDAE 为编 程模型,提出了计算并行度(Computation Warp Parallelism,CWP)和存储并行度(Memory Warp Parallelism,MWP)的概念,并以此来分析GPU程 序运行过程中处理器与存储器之间的关系,确定出 性能瓶颈,并预测程序执行的时间.其实验结果表 明,该模型可以比较准确地评估GPU程序的运行 时问,因此本文以这个性能模型为基础来指导GPU 低功耗研究. 本文的主要创新点在于:首先,基于文献[4]分 析了程序的计算并行度、访存并行度与处理器、存储 器频率之间的关系;其次,根据并行度与频率的关系 建立GPU的功耗优化模型并对模型进行求解;最 后,对9个科学计算领域常用的核心函数进行了测 试,实验结果表明:理论分析给出的频率调节因子可 以在达到性能约束条件的10 误差以内,最小化 GPU的能量消耗,因此可以有效地指导应用程序在 GPU上的低功耗优化. 本文第2节分析并建立功耗优化模型;第3节 对模型进行求解;第4节给出实验评测;第5节介绍 相关工作;最后总结全文. 2并行度分析指导下的 GPU功耗优化模型 2.1基于并行度分析的性能模型 一般来说,对功耗进行优化的同时需要保证一 定的性能约束,即在性能损失不超过某个阈值的前 提下尽可能降低功耗,因此需要一个性能模型对程 序的运行时间进行分析和预测.文献[-4-1中提出的 GPU性能模型通过定义CWP和MWP这两个参 4期 林一松等:一种基于并行度分析模型的GPU功耗优化技术 7O7 数来分析GPU程序的性能瓶颈,并据此预测程序 的执行时问.CWP用于表示程序执行时计算操作 的并行度,主要依赖于程序特征;而MWP则代表了 访存操作的并行度,更多地依赖于存储系统的性能. 该模型中讨论了CWP和MWP对程序执行时间的 影响:当计算并行度高于访存并行度时,访存操作成 为程序运行的瓶颈,程序的执行时间也主要由访存 时间决定;而当访存并行度高于计算并行度时,程序 的计算操作没有完全利用存储系统提供的访存带 宽,成为程序运行的瓶颈,因而程序的执行时间主要 由计算时间决定.最后,当GPU上运行的计算任务 太少时,导致访存操作的延迟无法得到有效的隐藏, 程序的执行时间由访存和计算时问之和决定.我们 记该性能模型为 t .P—r(CWP,MWP), t 表示程序k在GPU平台P下的执行时间.我们 的功耗优化方法中使用该性能模型作为性能约束的 条件,因此建立功耗优化模型时首先需要分析 CWP、MWP和功耗之间的关系. 2.2并行度与功耗优化 功耗优化通常通过动态电压/频率调节(Dynamic Voltage/Frequency Scaling,DVFS)[。 技术实现,它 通过在一定范围内降低轻负载的处理器的频率以及 电压,使得在损失部分性能甚至不影响性能的情况 下减少能量的消耗.电路的核心电压 和其工作频 率厂一般要同时调节才能保证电路正常工作,它们 , 厂——1厂、y 之间满足fOC 弋 ,其中V 是阈值电压,y为 V 一个工艺相关的参数.通常情况下V 远小于V且 y∈[1,2].本文假定),一2,此时频率_厂和电压V近 似为线性关系.根据CMOS电路的能量消耗公式 P—aCV f(a是一个与工艺相关的系数),功耗P可 以看成和频率厂的立方成正比,即P—gf。.因此本 文的功耗优化模型仅关注频率的调节. 处理器和存储器的频率对其性能的影响方式 是不同的.对于处理器,频率直接决定其运行性 能,因此可以认为其运行速度和频率成正比;而存 储器的情形则比处理器要复杂一些.我们考察存 储器的3个性能参数Mere—L,Departure—delay和 MereBandwidth,其中Mere—L表示存储器服务一 次访存请求的时间,Departure—delay是指连续两 次访存请求之间的最小时间间隔,Mere—Bandwidth 则表示存储带宽.现代DRAM存储器一般由存储 阵列和存控组成,其中存储阵列用于存储数据,存控 则受时钟驱动,对外提供数据访问接口.存储阵列本 身的访问延迟(时间)以及相邻两次访问的间隔时间 一般是由工艺决定的,不受存控频率的影响.换言 之,不同的存控频率对应着不同的延迟周期数,但其 绝对时间是基本一致的.因此我们的模型中假定 Mere—L和Departure—delay不随着存储器的频率 变化而变化.Mem—Bandwidth的情形则有所不同. 带宽是指在理想状态下单位时间内存储器可以对外 提供的最大数据量,这受限于单位时间内存控的时 钟周期数,因此我们认为Mere—Bandwidth和存储 器的频率成正比. 假定处理器和存储器的原始频率分别为-厂f和 -厂 ,而调节后变为f:一a f , 一a ,其中a 和a 为调节系数.下面我们分别给出cwP、MwP和a 、 a 的关系. (1)CWP.CWP的形式化定义为 c =rain(、 L, 口。 m c V c te ,N)㈩ 其中Comp—cycles指的是每个warp的总计算周 期,而Mere—cycles则表示每个warp的总访存等待 周期,N表示SM内活跃的warp个数.CWP表示 在warp的一次访存等待时间内处理器可以计算的 warp的个数.当SM内活跃的warp数不够时,处理 器无法发挥出计算并行性,CWP由N决定. 式(1)中第1项(记为CWP…)中的计算周期和 访存周期都是以处理器的频率 为参考计量的,因 此该式上下同除以 即可转化为以绝对时间的比 值,即 CwPr]]一—Comp_time+Meret_ime=_Uomp_tzme —_. 根据上面的分析,调整频率后,计算时间变为Comp— time/a ,而访存时问不变,因此第1项变为 CWP'1]一—Comptime/acMeertime __=___——_————_comp_tzme/a 一l+d Meret一1Td ———_ime==_一l1_ac一1+a (CWPi ll一1).—l . Comp一£zme 式(1)中第2项为SM上活跃的warp数,与频率无 关,因此有 CWP 一min(1+a (CWPr1]一1),』\,) (2) (2)MWP.MwP的形式化定义为 Mere L Departuredelay’ Freq Lo× M—adsere _bByantesdw peidtr h XwarM p ̄emL_× ¥A—ctiveSM,N)/ 一 一 一  (3) 其中,Mere—L和Departure—delay分别指warp的 708 一计 算 机 学 报 2011正 次访存等待周期的长度和连续两次访存请求之间 优化允许的性能损失因子为 ( 三三=1),基于并行度 分析的GPU功耗优化问题可以归结为如下规划 问题: 的最小时间间隔;Mere—Bandwidth指存储器的带 宽;Loads—bytes—per—warp指warp的每次访存包 含的字节数;Freq为处理器的频率; ̄4ActiveSM则 是指GPU内活跃的SM的个数,N表示SM内活 fmin E=K f 。+K 厂 1 s.t.-厂 ==a ,, 一a 厂 CWP 一g (CWP,Ctc) 跃的warp个数.注意到这里的访存延迟和时间间 隔都是以处理器频率为参考的时钟周期数而非绝对 时间.此外,和CWP一样,warp数不足时MWP也 l MWP 一g (MWP,口 ) 【 I'(CWP ,MWP ) (c ,MWP) 由N决定. 注意到前面分析存储器频率与其性能的关系 时,提到的Mere—L和Departure—delay是从存储 器角度看一次访存的时间和相邻两次访存的间隔, 属于硬件固有特征,而这里使用的A/lem—L和 Departure—delay是指一个warp(32个线程)的一 次访存时间和相邻两个warp访存之间的最小间 隔,这和warp内线程的访存方式有关,由程序和硬 件共同决定.但是调整存储器频率并不改变程序的 行为,因此后者依然不随着频率变化而变化.即调整 存储器频率后,式(3)中的第1项(记为MWP…)保 持不变.对于第2项(记为MWPE ]),由于Mere—L 是以处理器的频率Freq为参考计算的时钟周期数, 因此Mem~L/Freq即为存储器处理warp的一次访 存请求的时间,根据上面的分析,该时间不随着频率 变化而变化.第2项中只有]VIem—Bandwidth会随 着存储器的频率发生变化,即 M1一.21 :堡垒翌 ! ! : 一 a ×Freq X Loads—bytes—per_warp X ̄ActiveSM fmMWP r2]. 式(3)中第3项为SM上活跃的warp数,与频 率无关,因此有 MWP 一min(MWPE13,d MWP E2],N) (4) 2.3功耗优化模型 通过2.2节的分析,我们得出了调节处理器和 存储器频率对CWP和MWP产生的影响,为描述 方便,我们将这个关系记为 CWP 一g (CWP,a ),MWP 一g (MWP,a ), 其中a 和a 分别表示处理器和存储器的频率调节 系数.至此,我们可以在性能模型的基础上对功耗优 化问题进行建模.假定 和-厂 分别表示GPU中处 理器和存储器的原始频率,warp的一次计算周期给 处理器带来的能量消耗为E 一K 厂 ,一次访存周期 给存储器带来的能量消耗为 —K .厂 ,其中K 和 K 分别为GPU处理器和存储器相关的常数,功耗 3功耗优化模型求解 本节讨论上述功耗优化问题的求解.绝大部分 情况下,SM上活跃的warp数都远大于CWP和 MWP,这也是GPU可以发挥出高性能的基础,因 此我们的求解重点关注这种情况.warp数不足的情 形最后进行单独讨论.此外,为了简化求解过程,我 们首先假定处理器和存储器的频率都是连续可调 的,然后再考虑解空间的离散化. 定理1. 满足性能约束,且能量最优时的 CWP和MwP满足关系CWP—MWP+1. 证明. 用反证法.假定满足性能约束且能量最 优时CWP≠MWP+1,分以下两种情况讨论: (1)CwP<MWP+1.根据式(1)可知,CWP一 1+Mem—p/Comp—P.其中Mem—P和Comp—P分别 表示warp的一次访存和一次计算的周期.根据假 设条件有,Mem—p/Comp—p ̄MWP.MWP表示在 Mem—P的时间内SM上最多可以同时访问存储器 的warp个数,可以理解为存储器向SM提供的 “访存通道”的个数.而Mem—p/Comp—P代表了在 Mem—P时间内SM流出的计算warp的个数.如 图l中所示,除了1号warp的访存请求外,存储器 在Mem—P时间内最多还可以服务MWP一1个访 存warp,而在这段时间内,只有Mem—p/Comp—P一1 个warp需要使用这MWP~1个“访存通道”,因为 最后一个计算warp(n号warp)完成时,1号warp 的存储访问已经完成,其空出的“访存通道”可以供 n号warp使用.因此Mem—p/Comp—p ̄MWP意 味着存储器提供的访存并行性没有被充分利用,此 时程序的性能瓶颈在于计算,程序运行的总时间也 就近似等于程序的总计算时间.文献E42中给出在这 一情况下程序的总执行周期为 Execcycles—Mem——P+Comp—cycles×N(5) 其中,Mem—P表示warp的一次访存等待周期(等 于Mem—L),Comp—cycles则指每个warp的总计算 4期 林一松等:一种基于并行度分析模型的GPU功耗优化技术 709 周期.从该式也可以看出,程序的总执行时间主要取 决于计算时间.图1中给出了当MWP一 一1而 CWP ̄n时的情况,存储器在1号warp的访存操 作结束后到 号warp的计算操作结束之前存在一 段空隙.这种情况下,由式(4)可知,通过适当降低存 储器的频率以降低访存储并行性,从而更好地匹配 计算性能,可以在不影响性能约束条件的情况下减 少能耗,即此时能量不是最优的. 图1 MWP— 一1,CWP< 时warp运行时空 (2)CWP>MWP+1.和第1种情况类似, Mere—p/Com —p MWP意味着存储器提供的访 存并行性不足以满足Mere— 的时间内SM内流出 的计算warp的访存需求.此时程序的性能瓶颈在 于访存,程序总时间近似等于访存所占的时间.文 献[4]中给出在这一情况下的程序执行时间为 r Exec_cy 一Mem—cYcles X j +c。 一户×MWP (6) 其中,Mere—P表示每个warp的总访存等待周期,N 为SM内活跃的warp的个数,Comp一夕则代表 warp的一次计算周期.从该式也可以看出,当N足 够大时,总执行周期主要由访存周期决定. 因此由式(2)可知,通过适当降低处理器的频率 以降低计算并行性,更好地匹配存储性能,同样可以 在不影响性能约束条件的情况下减少能耗. 综上,能量最优时必然有CWP—MWP+1,定 理1得证.此外,通过定理证明过程可知,CWP— MWP+1时程序的计算和访存时间完美重叠,计算 并行性和访存并行性都得到充分发挥,程序的总运 行时间也近似等于计算时间或访存时间. 证毕. 推论1. 满足性能约束丁且能量最优时,程序 运行的总时间一定是T. 证明. 用反证法.假设此时程序运行总时间 £<T.由定理1可知,此时CwP—MWP+1,程序 运行的总时间近似等于warp的计算总时问 ,因 此 <T.显然,此时可以通过降低处理器的频率使 得计算时间延长至T.降低处理器频率会导致 CWP %MWP+1,因此,可以进一步降低存储器的 频率以减小MWP,使得CWP ===MWP +1,而总运 行时间仍然为T.注意到我们的优化目标为E— E 十E ,即E P t +P…t 其中P 和P 表示处理 器和存储器的功率,t 和t 则表示warp的一个计算 周期和一个访存周期的时间长度.根据2.2节中的 分析,t 。C _ ,£ 则与, 无关,另外pocf。,因此我 们有E===kc_厂;十忌 -厂 。这意味着我们同时降低了处 理器和存储器的频率一定可以减少能量的消耗,即 £<T时的能量不是最优的. 证毕. 由定理1,我们可知为达到功耗最优,必须有 CWP =MWP +1,代人式(2)和(4),有 1+a (CWP:13—1)一 min(1+MWP[12,1+a MWP:23). 若MwP_r a MwP_2_,我们可以得出 MWPu ̄ ,,7、 —CWPE—1]--1 否则,有 一 (8) dm CWPun——1 但不论哪种情况,此时访存和计算的时间都完 美重叠,程序运行的总时间近似等于计算时间或访 存时间.即 F(k,a f ,a f )- ̄Comp—time ×N, 其中Comp~time 表示调节频率后一个warp的总计 算时间.由推论1,可知 Comp—time ×N—pt, 其中t为初始条件下程序的运行时间.由定理1的 证明过程以及式(5)、(6)可知 fCompjimeX N,cwP<MwP+1 1I Mem ̄ ̄N,CWP>MWP+1‘ n,』yyf 因此,我们得到 Comp—time X N— Comp——time ×N a ×Comp—time×N, CWP<MwP+1 口×Mere—tim ×N CWP>MWP+1’ MWP (9) 联立式(7)、(9)或式(8)、(9)就可以得到a 和 a 的解. 式(7)、(9)联立后,只有在极端特殊的条件下才 71O 计 算 机 学 报 2011年 有解.因为调节后程序运行时间也近似等于访存时 间,即 慨 . 提供若干个离散的频率值以供调节,因此最后要进 行解空间的离散化.根据推论1,能量最优时,程序 的运行时间已经达到约束条件的上界,且运行时间 近似等于总计算时间或总访存时间.这意味着,此时 处理器和存储器的频率都达到了满足性能约束条件 Mere—time 为调整频率后一个warp的总访存时间, 根据2.2节的分析,Mere~time 一Mere—time.而此 时的下界.因此为了满足性能约束条件,只能在离散 的频率值中选择不小于理论解的最小频率值. 时由于MWP…<a MWP ,由式(4)知MWP 一 M P….因此 Mere.time×N Mere time×N 一MWP MWPl_一 一 , ’ 即 Mere—timeX~MWP… ×Comp—time×N, CWP<MWP+1 口×Mere—time×N MWP CWP三三=MWP十1 我们得到 fl C—MWP[WPm —1]-1,cwP<MWP十1。 。  。 【I MWP, cWP M +1 _1_ 当CWP ̄MWP+1时,有 <1,而根据 MWP的定义也有 1.注意到我们的问题 约束中卢 1.因此在式(7)、(9)联立时,只有当性能 约束条件改为 一1时才有解,并且此时原始程序必 须满足MWP—MWP[1]以及CWP>_MWP十1.此 时根据式(7)得到 MWP 、MWP:1] Olc—C—WP—--1’ =M—W—PE2]’ 为达到能量最优,a 取下确界. 式(8)、(9)联立时,我们可以直接求出a 的值. (CWP[13—1) ‰一— (CWP: I:--1),cwP<MwP州—J卢xM( 。) , 7>MW卧 不难发现,式(7)、(9)联立的解是式(8)、(9)联立解 在某些特殊条件下的一个特解.至此,式(9)和(10) 给出在warp数足够时,满足性能约束且达到最优 能量消耗时,处理器和存储器的频率调节系数. 以上的解是在处理器和存储器的频率连续可调 的前提下得出的,而在实际中,处理器和存储器都只 最后我们考虑warp数不足时的情况.由于这 种情况出现很少,GPU运行效率极低,使用GPU对 应用进行加速没有实际意义,因此这里对模型进行 一定的简化.假定对于给定的程序k,在处理器和存 储器允许的频率范围内都有CWP—MWP—N,即 在任意的频率下,warp数始终不足,此时CWP和 MwP都受限于warp数.文献E4-1给出的在这一情 况下程序的总执行周期为 Exec—c.yfZPs—Mere—cycles十Comp—cycles+ Comp—P×(MWP一1) (儿) 从式(11)可以看出,此时程序的总时间近似等于一 个warp的总计算时间和总访存时间之和.根据2.2 节的分析可知,计算时间和处理器的频率成反比,而 访存时间不受存储器频率的影响.因此有 P(k,Olcf ,a f )≈Comp—time +Mere—time 一 二I竺 + m£ . 一a 从推论1的证明过程中我们不难得出,即便warp 数不足时,推论1仍然成立,即能量最优时程序运行 的总时间一定为性能约束的上限.因此有 =! !+M £ : 12" 口×(Comp—time+Mere—time). 我们可以得到warp数不足时处理器的频率调节 系数 Comp—time —一,lf—XComptime+(lf—--1)XMem__time ::——————————— ——————一 ( 一1)×CWP[12-4-1’ 而此时为达到能量最优,存储器的频率应当降至硬 件允许的最低值. 4 实 验 为了验证本文提出的GPU功耗优化模型的有 效性,我们基于课题组先前开发的一款GPU功耗 模拟器进行了一系列测试.本文采用的9个测试用 例来自NVIDIA CUDA Software Development Kit 4期 林一松等:一种基于并行度分析模型的GPU功耗优化技术 711 (CUDA SDK)2.2.1,它们都是科学计算领域中常 见的核心函数.表1列出了各计算核心函数的相关 参数.其中#thread表示每个block内包含的线程 数,#Comp inst和#Mere inst表示每个线程内的 计算指令和访存指令的数目,Arith.Int.表示计算 指令密度( ̄Comp inst/#MP inst). 表1 Kernel程序说明 核心函数 bitonic 数据规模 256 0 block 1 #thread 256 #Compinst 61O 2 305.0 blackscholes fwtBatch1 matrixmul RandomGPU scalarProd 2000000 8M 128×80 4096×5・860 256×4096 480 4O96 40 32 l28 128 512 256 128 256 335O 3O2 228 287268 655 163 8 7 5864 64 2O.6 37.8 32.6 49.0 10.2 scan best dwtHaarlD transpose 512 4096 256×4096 l 4 4O96 512 512 256 295 l42 52 4 4 2 73.8 35.5 26.0 注:*fwtBatchl来自fastwalshtransform,RandomGPU来自MersenneTwister,scan_best来自scan. 4.1节将简要介绍实验使用的GPU功耗模拟 器,4.2节给出实验结果和分析. 4.1实验平台 的活动情况来累计整个处理器的功耗. 我们在GPGPU Sie模拟器中加入了Wattrch 功耗模型,对GPU中的Shader Cores、L2 cache以 及Memory Controller等部件进行功耗建模;对于 由于现有的GPU对电压/频率的动态调节支持 不够完善,可调的档位也很少,不利于进行GPU低 Interconnection Network,我们借鉴了PowerRed ] 功耗优化的理论研究和验证,因此本文采用GPU功 耗模拟器进行实验验证.本文采用的GPU功耗模 拟器是课题组在GPU性能模拟器GPGPU SieEr j 中使用的功耗建模方法;对于DRAM,我们则借鉴 了文献[10]中的方法进行建模.对于每个部件,我们 都在其所属的时钟域内统计各周期的活动情况并累 计功耗,最后求和得出GPU的总功耗.需要说明的 的基础上,结合Wattchl8 功耗模型进行开发的. GPGPU-Sim是由British Columbia大学设计 是,由于现代GPU所采用的半导体工艺较Wattch 模型中的设定更加成熟,特征系数更小,因而模拟器 的时钟精确的GPU性能模拟器,它支持CUDA和 OpenCL编程模型,主要模拟现代GPU上非图形类 应用的运行.GPGPU—Sie将GPU戈U分为5个主要 r模块:Shader Cores、Interconnection Network、L2 cache、DRAM以及Memory Controller.整个GPU 给出的绝对功耗比模拟的目标GPU稍高(一般误 差在1O 以内),但作为理论优化方法的研究,本文 重点关注的是降频优化后GPU功耗的变化和性能 变化之间的关系,而非功耗的绝对值,因此其绝对功 耗的误差是可以接受的. 4.2结果与分析 被划分为4个的时钟域:Core、片上互连网络、 Dram和L2 cache时钟域,每个域都按照时钟步进 的方式驱动模拟. Wattch是低功耗研究领域广泛使用的功耗模 通过调整配置参数,我们模拟了NVIDIA公司的 三款高性能GPU:Quadro FX5600、GeForce 8800GT 拟器之一,它使用一组参数化的解析模型来计算处 理器中不同种类部件的功耗.它将部件分为4类:阵 列结构、全相联CAM结构、组合逻辑、总线结构和 时钟,并分别给出它们的功耗模型.Wattch预先计 和GeForce GTX280.表2给出了部分功耗模拟相关的 配置参数.其中Mere—LD表示访存延迟,Departure— del—uncoal和Departure—del—coa1分别表示warp 内各线程访问非连续地址和连续地址时相邻两次访存 请求之间的最小间隔.表中未给出的其它参数均按照 算好处理器中各种部件的单位活动功耗,并在时钟 精确的性能模拟器中通过监视每个时钟周期内部件 各GPU所对应的CUDA的计算能力_l5 规范设置. 表2 GPU模拟器参数设置 计 算 机 学 报 表3给出各核心函数在不同模拟平台中单位 SM上的活动warp数(以下记为N)以及频率设置 下的CWP和MWP.从整体上看,N在不同的平台 间变化不大,其中有6个测试用例在3种平台上的 达到GPU的上限(8),因此N的大小仅取决于每个 block内包含的warp数,这是由程序决定的,因此 在不同的平台上没有变化;bitonic、scan—best和 dwtHaarlD的block数太小,只有部分SM被使用, 且活跃的SM上最多只运行一个block,因此N也仅 取决于block内包含的warp数.对于另外3个测试用 例,它们的N则随着GPU上SM数的变化而变化. N完全相同.它们可以进一步被划分成两类:black— scholes、fwtBatchl和transpose的block数足够大, 使得各GPU平台的单位SM上活动的block数均 表3活动warp数,cwP和MWP 对于CWP,我们可以看出: (1)bitonic、scan_best和fwtBatchl的CWP值 matrixmul、RandomGPU、scalarProd和dwtHaarlD 较小,这是由于它们的计算指令的密度很大(见表1), 因此根据式(1),其CWP值较小;scalarProd的 CWP值明显高于其它核心函数,这是由于它的计 4个测试用例的CWP要高于MWP,这说明一般情 况下,核心函数的CWP和MWP值的相对大小主 要取决于其访存模式.对于warp内各线程访问非 连续地址的访存模式,MWP值很小,一般低于 算指令的密度很低. (2)RandomGPU的计算密度也相对较高,但其 CWP明显高于bitonic、scan—best和fwtBatchl,这 是由于RandomGPU的访存模式使得其warp的访 存等待周期较长,因次虽然其访存指令数目比例较 CWP,此时程序的瓶颈在于访存,应该降低处理器 的频率以匹配存储器的性能;反之对于warp内各 线程访问连续地址的模式,程序对存储器的性能要 求大大降低,则程序的瓶颈在于计算,应该降低存储 器的频率以节约能量. 小,但Mere—cycles在总周期中的比例较大,从而其 CWP高于上述3个核心函数. (3)matrixmul、RandomGPU、scalarProd和 获得各核心函数的CWP和MWP后,根据本 文提出的功耗优化模型,我们得出处理器和存储器 的频率调节因子a 和a ,如表4所示.这里我们假 dwtHaarlD在GTX280平台下的CWP明显高于其它 平台.这是由于它们的访存模式决定了它们的CWP受 限于Departure—del—uncoal参数,而由表2可知, GTX280的这项参数明显高于其它两种GPU平台. 对于MWP,我们可以看出: 定性能约束条件 :1.2. 表4频率调节因子 (1)bitonic和scan—best的MwP值没有随着 平台变化而变化,这是由于它们都仅有1个block, 单位SM上活动的warp数N很小,其MW尸值受 限于N. (2)matrix、RandomGPU、scalarProd和dwtHaarlD 的MWP值较小,这是由于它们的访存模式使得它 们的Departure—delay的值远高于其它几个核函数 的值,因而式(3)中第1项的值很小,成为决定其 MwP的因素. 从表4中可以看出,bitonic、blackscholes、fwt— Batch1、scanbest和transpose 5个核心函数的a 综合CWP和MWP的值可以看出,只有 值始终为0.83,即l/ft.此时程序运行受限于GPU 4期 林一松等:一种基于并行度分析模型的GPU功耗优化技术 713 中的处理器,主要的功耗优化空间在于降低存储器 我们分别调节GPU处理器和存储器的频率调节因 的频率.另外,bitonic、scan—best和dwtHaarlD 3个 kernel的a 值非常小,这是由于这3个函数的 block数很小,程序运行时只启用了部分SM,按照 子a 和a ,寻找满足性能约束的最优功耗调节点. 我们在Quadro FX5600平台下选取matrixmul和 blackscholes两个核心函数进行验证,它们分别代 表了CWP>MWP4-1和CwP<MWP4-1两种类 型的测试用例. 图4给出matrixmul在不同的a 和 配置下的 理论模型计算,每个warp所分配的存储带宽非常 高,即MWPl2的值很大,因此为了节约功耗需要大 幅降低存储器的频率以匹配处理器的运行速度. 按照表4进行调节频率后,我们得到如图2所示 性能加速比,其中虚线给出的是值为0.83(1/f1)的 参考线.从图中可以看出随着性能的下降,处理器频 的性能加速比.可以看出调节频率后,各核心函数的 性能有不同程度的下降,但其均值介于0.75~0.8 之问,和预期的性能损失0.83(1/f1),相对误差在 10 以内. 图2调节频率前后性能加速比 图3给出调节频率后的GPU能耗占原始能耗 的比值,其均值介于0.66~0.72之间.注意到,根据 能量消耗公式E===PT,而根据2.2节的分析,P。C ,。,而T大致满足TO(2f ,因此一般有E Cx:f .但 根据GPGPUSim的模拟环境,我们的功耗模拟器 中的模块被划分为4个的时钟域,而本文进行 降频时仅调节了其中Shader Core和Dram时钟域, 因此片上互连网络和Cache等消耗的能量在调节 前后保持不变.此外,在某些测试用例,如bitonic、 scalarProd和scan—best中,这两个模块消耗的能量 相对较高.这是本文的模拟结果中,能耗加速比高于 性能加速比的平方的主要原因. 为了验证本文给出的频率调节策略的最优性, 图3调节频率前后能耗加速比 率的降低在a 等于0.3~0.4之间出现拐点,这是由 于matrixmul的CWP>MWP4-1,当处理器频率较 高时,程序运行的瓶颈在于存储器,而当处理器频率 下降到一定程度时,程序运行的瓶颈由存储器变勺 处理器,即由CWP>MWP4-1变为CWP<MwP+ 1,因此继续降低处理器的频率会使得性能急剧下 降.图5给出到达0.83的性能加速比边界时,各 1 O 0 O 0 曩 0 0 O 0 0 (a ,a )配置下的能耗占原始能耗的比值.其中最低 点出现在(0.43,0.22)处,此时能耗占原始能耗的比 值为0.65,而如图3所示,优化模型给出的配置 (O.35,0.27)所取得的能耗比值为0.63,接近且低 于上图中最低点的值. 图4 Matrixmul在不同频率配置下的性能加速比 图5 Matrixmul在性能边界处各配置的能耗加速比 图6给出blackscholes在不同的a 和a 配置下 的性能加速比,图中虚线同样是值为0.83(1/f1)的 参考线.从图中可以看出,绝大部分 设置下性能 和处理器的频率基本呈线性关系,这是由于这些情 况下CWP<MWP4-1,此时程序运行的瓶颈在于 714 舞锻异 掣 计 1 0 0 0 O 0 O O 0 0 算 机 学 报 2011正 计算,降低处理器的频率必然导致性能的下降.当 a 给出了编译策略来识别电压调节机会,同时保证没 有很明显的性能损失.而后通过进一步研究n 提出 足够低时,程序运行的瓶颈发生转化,此时小幅降 低处理器频率不会显著影响程序性能,直至a 减少 了编译指导的动态电压调节算法,一方面准确地预 到上述不等式再次成立. 图6 Blackscholes在不同频率配置下的性能加速比 和matrixmul一样,我们继续考察达到0.83的 性能加速比边界时各(a ,a )配置下的能耗占原始 能耗的比值,如图7所示.注意到a 一0.2时的性能 曲线与参考线没有交点,因此这里只有四组(诉, ) 配置下的能耗比值.其中最低点出现在(0.79,0.6) 处,此时能耗占原始能耗的比值为0.61.优化模型 给出的配置(o.83,0.35)所取得的能耗比值为0.59 (见图3),接近且低于上图中的最低值. 丑 曩 耀 避 图7 Blackscholes在性能边界处各配置的能耗加速比 从以上实验结果可以说明,本文提出的功耗优 化模型,可以比较精确地分析程序的行为,针对不同 的程序特征给出功耗优化策略,在性能达到约束条 件的10 误差以内,获得最优的能量消耗,从而可 以有效地指导GPU程序的低功耗优化. 5 相关工作 在传统的低功耗领域,DVFS在操作系统级和 编译级都早有研究.Weiser等人口妇首先提出了通用 操作系统上基于时间间隔的动态电压调节算法. Govil等人[】 和Lorch等人_1。。继续了这一工作并 考虑了大量不同的工作负载预测及速度选择策略. Hsu_1 较早提出了编译指导的动态电压调节算法, 测了一个程序段在任意一个频率值时的性能,另一 方面有效地选择了合适的程序段进行电压降低的操 作.在目前GPU低功耗研究尚处于起步阶段的时 候,这些研究对我们来说有极大的启发和借鉴意义. 在GPU低功耗领域,目前的研究大多集中在 能耗评测分析阶段.Collange等人[1明使用测量统计 的方式研究了在CuDA环境下不同计算程序运行 时GPU是怎样耗能的.Huang等人口 以一个典型 的生物计算应用为案例,详细对比了CPU和GPU 的执行性能和能量消耗,同时指出GPU高效能的 发挥受程序特征和程序优化的影响较大.Rofouei 等人l】。 将使用GPU与只使用CPU的系统能耗作 对比,通过实验发现使用GPU时,当系统性能增益 超过某一边界值后就能实现节能,并对这个边界进 行了说明.同时,也出现了一些优化和建模的文章, 但是数量较少.Takizawa等人[1 9]提出了一种编译 时程序动态选择能耗较低处理器运行的方法,来优 化系统的整体功耗.Ma等人_¨。。则对GPU功耗通过 统计分析的方法建立模型,用来预测目标GPU运 行所需功耗,为以后优化GPU功耗提供帮助.该模 型由于是基于统计方法得到,因此其就存有很大局 限性,并不精确. 综上所述,GPU功耗研究领域缺少精确的模型 与有针对性的优化方法,而这正是本文的研究的出 发点.本文基于一个GPU性能解析模型建立GPU 的功耗优化模型,可以对程序行为进行准确的分析, 从而获得较好的优化效果. 6 结束语 随着GPU越来越多地被应用到通用计算领 域,人们也日益关注其性能以外其它方面的表现,如 可靠性、功耗等等.GPU中处理芯片的计算资源密 度大,其功耗也高于通用CPU.高功耗带来的散热 问题也影响了其可靠性和稳定性.本文针对GPU 高功耗的问题,结合S.Hong等人在ISCA’09上提 出的GPU性能解析模型,提出了一个综合考虑 GPU处理器和存储器的功耗优化方法.我们的方法 利用性能模型分析出程序运行的瓶颈,并由此计算 出处理器和存储器的频率调节因子,使得在满足性 能损失约束的情况下,GPU整体的功耗最低.通过 模拟实验,我们对所提出的优化方法进行了验证.实 林一松等:一种基于并行度分析模型的GPU功耗优化技术 715 验结果表明,理论分析给出的频率调节因子可以在 达到性能的约束条件的1O 9/5误差以内,最小化 GPU的能量消耗,因此可以有效地指导应用程序在 GPU上的低功耗优化. 参 考 文 献 [1] http://ati.amd.corn/technology/streamcomput ng/product— FireStream9250.html [2] Luebke D,Harris M,Govindaraju N,Lefohn A,Houston M,Owens J,Segal M,Papakipos M,Buck I.GPGPU: General—purpose computation on graphics hardware//Pro ceedings of the 2006 ACM/IEEE Conference on Supercom puting(SC’06).Tampa,Florida,2006 [3] Fan Xiaobo,Ellis Carla S,Lebeck Alvin R.The synergy be— tween power aware memory systems and processor voltage sca1ing//Pr0ceedings of the Workshop on Power—Aware Computer Systems(PACS一03).New York,NY,USA, 2003:164 l79 [4] Hong S,Kim H.An analytical model for a GPU architecture with memory—-level and thread—rlevel parallelism awareness// Proceedings of the 36th Annual International Symposium on Computer Architecture(ISCA’09).Austin,TX,USA, 2009 1 152 1 63 [5] NVIDIA Corporation.CUDA Programming Guide,Version 2.1. [6] Burd T,Brodersen R.Design issues for dynamic voltage scaIing//P r()ceedings of the 2000 International Symposium on Low Power Electronics and Design(ISLPED’00).Rapallo, Italy,2000:9-14 [7] Bakhoda Ali,Yuan George,rung Wilson W I ,Wong Henry.Aamodt"For M.Analyzing CUDA workloads using a detailed GPU simulator//Proceedings of the IEEE Interna tional Symposium on Performance Analysis of Systems and Software(ISPASS).Boston,MA,2009:163 1 74 [8] Brooks D,Tiwari V,Martonosi M.Wattch:A framework for architectural—-level power analysis and optimizations//Pro—— ceedings of the 27th International Symposium on Computer Architecture(ISCA). Vancouver, British Columbia, Canada.2000:83 94 [9] Ramani K,Ibrahim A,Shimizu D.PowerRed:A flexible modeling framework for power efficiency exploration in GPUs//Proceedings of the Workshop on General Purpose Processing on Graphics Processing Units.New York,NY, USA,20O7:l85 l 92 [iO] Simunic T,Benini L,De Micheli G.Cycle accurate simula tion of energy consumption in embedded systems//Proceed— ings of the 36th Annual ACM/IEEE Design Automation Con ference(DAC).Atlanta,Georgia,1999:867 872 [11] Weiser M.Welch B.Demers A,Shenker S.Scheduling for reduced CPU energy//Proceedings of the l st Symposium on Operating Systems Design and Implementation(()SDI’94). Monterey,California,USA,1994:13 23 r]2] Govil K,Chan E,Wasserman H.Comparing algorithms for dynamic speedsetting of a low—power CPU//Proceedings of the 1 st ACM International Conference on Mobile Computing and Networking(M0BICoM 95).Claremont Hotel,Berke— ley,California,USA,1995:13 25 [13] Lorch J,Smith A.Improving dynamic voltage algorithms with PACE//Proceedings of the International Conference on Measurement and Modeling of Computer Systems(SIGMET— RICS 01).Cambridge,Massachusetts,USA,2001:50—61 [14] Hsu C,Kremer U,Hsiao M.Compiler directed dynamic voltage/frequency scheduling for energy reduction in micro— processors//Proceedings of the International Symposium on Low Power Electronics and Design(ISI PED一01).Hunting— ton Beach,CA,200l:275 278 [15] Hsu Chung—Hsing,Kremer U.The design,implementation, and evaluation of a compiler algorithm for CPU energy reduction//Proceedings of the ACM SIGPLAN Conference on Programming Languages,Design,and Implementation (PI,DI’03).San Diego,CA,2003:38—48 [16] Collange S,Defour D,Tisserand A.Power consumption of GPUs from a software perspective//Allen G,Nabrzyski J, Seide1 E,Albada G D,Dongarra J,Sloot P M eds.Proceed— ings of the 9th International Conference on Computational Science:Part I(Baton Rouge,LA,2009).Lecture Notes in Computer Science 5544. Berlin,Heidelberg:Springer Verlag,2009:914-923 [1 7] Huang S,Xiao S,Feng W.On the energy efficiency of graphics processing units for scientific computing//Proceed ings of the 2009 IEEE International Symposium on Parallel and Distributed Processing(IPDPS).Rome,Italy,2009: 1 8 [18] Rofouei Mahsan,Stathopoulos Thanos,Ryffel Sebi,Kaiser Wi11iam,Sarrafzadeh Majid.Energy—aware high performance computing with graphic processing units//P r(】ceedings of the Workshop on Power Aware Computing and Systems(Hot Power 2008).San Diego,2008:349—353 [19] Takizawa H,Satol K,Kobayashi H.SPRAT:Runtime processor selection for energy—aware computing//Proceedings of the 3rd Internationa1 Workshop on Automatic Performance Tuning.Tsukuba International Congress Center,Epochal Tsukuba,2008:386 393 [2o] Ma Xiaohan,Dong Mian,Zhong Lin,Deng Zhigang.Statis tical power consumption analysis and modeling for GPU based computing//Proceedings of the ACM Workshop on Power Aware Computing and Systems(HotPower),Co—loca— ted with SoSP.Big Sky Resort in Big Sky,Montana,2009: 267 27】 716 计 算 机 学 报 2011矩 LIN Yi—Song,horn in 1983,Ph.n His research interests include high per formance computing and low power opti mization. YANG Xue—Jun,born in 1963,Ph.D.,professor.His research interests include high performance computing,par— allel computer architecture,high performance compiler and Background As the CM0S technology scales as predicted by Moore’S Law,more and more transistors are packed on to the same chip,therefore the computing capacity of Graphics Process ing Units(GPUs)is improved dramatically.There has been a growing attention in using GPU hardware tO accelerate non- graphics applications,especially in scientific computing pro— grams.GPU S development draws more attention on its en— ergy consumption.GPU’S high energy consumption not only increases the computational cost,but also degrades the chip’S reliability,which is not tolerant for scientific computing. Moreover.GPU’S promising perspective in mobile terminals and embedded devices demand its low power study eagerly. GPU’S lOW power research stil1 stands in its initia1 state.The major reason is the lack of precise analysis of GPU program’S execution,and thus the frequency/vo1tage cannot be scaled accordingly.On the other hand,most tradi— operating system. TANG Tao。born in 1 98,i,Ph.D.candidate.His re- search interests include high performance computing and low power optimization. WANG Gui—Bin,born in 1981。Ph.D.candidate.His research interests include high performance computing and low power optimization. XU Xin.Hai,born in 1984,Ph.D.candidate.His re- search interests include high performance computing and fault tolerance technology. tional power optimization technologies ignore the memory’S energy consumption,which is not negleetable in GPU be— cause typically a large DRAM is integrated into the system with the GPU processor. Aimed at this problem,this paper studies the IOW power optimization for GPU.The authors consider the processor and the memory synthetically.In order to analyze the pro— gram’S behavior and restrict the performance when sealing the frequency/vo1tage,our method is based on an analytical performance model of GPU proposed by Sunpyo Hong and Hyesoon Kim in ISCA 2009.The model evaluates the paral— lelism of computation and memory access,and analyzes the relationship between these tWO parts of execution time. Based on the analysis,our model scales the frequency/volt— age according tO the program’S behavior and can reduce the energy consumption efficiently. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务