基于数据依赖的GPU功耗管理方法研究

来源 :计算机与网络 | 被引量 : 0次 | 上传用户:zzjokok
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:图形处理器(GPU)因其高并发和高吞吐量的特性被广泛应用于大数据和人工智能等高性能计算领域,随着超大规模集成电路技术的发展,片上集成的处理单元越来越多,高功耗在增加设备运行成本的同时,降低电池的使用时间和集成电路芯片的可靠性。针对功耗问题,提出一种基于数据依赖的GPU功耗管理方法(DDPM),通过优化线程分配和缓存置换策略减少GPU系统功耗。实验结果表明,DDPM相较于共享感知数据管理方法,L1缓存命中率提高了7%,DRAM数据传输量降低了8.1%;MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb方法能效分别提高了2.7%,2.65%,8.67%。
  关键词:数据依赖;线程调度;缓存置换;功耗优化
  中图分类号:TP338.6文献标志码:A文章编号:1008-1739(2021)15-66-7
  


  0引言
  图形处理器(Graphics Processing Unit,GPU)在新材料研究、生物信息、大气海洋与气候研究、石油勘探与加工等大规模计算领域起到关键性的加速作用,特别是在人工智能和大数据等数据密集型和计算密集型行业中得到了广泛应用[1-2]。超大规模集成电路技术可以将数百亿个晶体管集成到一个芯片上,集成度的快速提升给GPU带来了巨大的计算能力的同时也产生了较高的功耗。对于超级计算机而言,高性能意味着庞大的能源开支,天河二号峰值计算速度每秒达5.49亿亿次、持续计算速度每秒3.39亿亿次,但是它的电力消耗达到了17.81 MW,工作一小时的电费高达1 000万以上[3]。功耗增加的同时会带来温度的考验,进而影响处理器总体性能,降低系统的可靠性,因此,GPU功耗问题是GPU广泛应用必须解决的问题之一。
  目前国内外学者针对GPU功耗提出了不同的降耗方法。文献[4]提出空闲感知电源管理技术—ITAP,根据估测的执行单元空闲周期长度采用不同的静态降耗技术以降低功耗。文献[5]提出基于CPU-GPU混合集群的高效实时任务调度方案,将动态电压频率调整技术与调度算法结合,达到节能效果。文献[6]提出基于存储计算融合架构的电源管理方法,通过减少架构中的电源故障,提高能效。总的来说,上述方法从不同的角度对GPU功耗问题进行处理,但是也存在复杂性较高、具有一定局限性、实现成本较高、较少考虑数据链路和缓存管理的影响等缺陷。针对上述问题,本文基于线程调度和缓存管理2个方面,提出了DDPM方法。在线程调度方面,通过分析线程和数据块之间的依赖关系,对同一数据进行读写的不同线程进行规划。在缓存管理方面,考虑数据块大小和最近被访问时间,以减少缓存置换次数,降低缓存争用情况发生,达到降耗目的。
  1 DDPM功耗管理
  GPU在并行执行应用程序过程中,线程和数据在片上网络传输和频繁访存导致功耗增加。因此,研究减少数据在链路的传输和访存次数的方法降低系统的功耗。
  1.1 DDPM的线程调度
  数据密集型并行计算在线程分配到处理核的同时需要进行数据传输,数据在片上链路传输是系统功耗产生的主要原因之一,DDPM将共享相同数据的线程分配到一个流多处理器(Streaming Multiprocessor,SM)中,以保证线程不会跨多个SM访问。
  


  


  1.2 DDPM的缓存管理
  众核系统的多级高速缓存为系统提供了较强的并行处理能力,现有的缓存管理方法成本代价高、复杂性高,命中率低,容易发生缓存争用。比如,LRU缓存置换策略只考虑数据块最近被访问时间,当缓存没有空闲时,为了进一步减少数据传输,会根据数据块最近被访问时间置换出最近最少访问的数据块。
  以上置换策略没有考虑到数据块大小,存在访问的数据块需要置换多个数据块,导致缓存争用发生的情况。针对这个问题,设计了一种高效的缓存替换策略。当在緩存置换过程中,首先考虑缓存剩余空间与插入的数据块的大小比较,如果大于插入的数据块则直接插入,否则考虑缓存中每个数据块最近访问的时间,选择被访问时间最久的数据块标记为即将淘汰的数据块。其次考虑数据块的大小,比较即将淘汰的数据块与插入的数据块的大小,如果大于插入数据块,则直接进行置换,如果小于插入的数据块,放弃淘汰这个块,并按照缓存空间中数据块最近被访问的时间顺序依次比较缓存中数据块与插入数据块的大小。当某一数据块满足其大于插入数据块大小的条件时,标记为淘汰数据块并与插入的数据块进行置换,以满足插入的数据块拥有足够的缓存空间,同时减少缓存置换次数,降低缓存争用,增加缓存管理方法的命中率。
  2 DDPM模型
  2.1线程调度
  


  


  


  3实验
  使用GPGPU-Sim3.2.2[7]搭建实验所需的GPU架构平台,并用GPUWattch[8]评估和比较DDPM方法的性能与功耗。GPGPU-Sim搭建的架构与GPU GTX480类似,共有32个SM,每个SM包含48个线程束,48 KB的共享内存,16 KB的一级数据缓存和2 KB的一级指令缓存。详细的架构配置如表2所示。基线架构与上述架构配置相同,在线程调度方面使用了轮询调度,在缓存置换方面使用了LRU策略。使用的基准测试集主要为Parboil[9],Rodinia[10],ISPASS[7],CUDA SDK[11]等。   


  基于上述环境,首先利用基准测试程序BLK与GPUWattch来验证数据传输和缓存置换是产生GPU功耗的主要因素。实验得到的结果如表3所示。
  


  由表3可知,计算核产生的功耗是最多的,在基准测试程序BLK上的功耗占比约为46%,但是数据传输和缓存置换产生的功耗也不容忽视,在基准测试程序BLK上,占比约为23%,12%,这是因为GPU除了拥有成百上千的计算单元外,还拥有多层次的存储结构,程序在计算执行过程中也会进行一定的访存消耗,并且在降耗研究中,更多的研究者主要专注于计算开销能耗的降低,而忽略了访存能量的消耗。因此,针对数据传输和缓存置换这两方面进行降耗处理是十分必要的,并且在这两方面提出降耗方法的优化空间也很大。
  其次,本文与文献[12]提出的共享感知数据管理方法进行L1缓存未命中率和DRAM功耗的比较。共享感知数据管理方法主要是将数据块分为共享块和私有块,并将共享块放在L2缓存中,私有块放入L1缓存中,以减少线程跨SM访问数据块产生的功耗。由于DDPM方法不仅包含数据传输方面的降耗,也包含缓存管理方面的降耗,所以对L1缓存未命中率进行实验十分重要。当L1缓存未命中率提高时,容易出现线程在L1缓存中并未找到所需要的缓存块,从而需要访问L2缓存或者主存的情况,这不仅降低了GPU的性能,同时也增加了GPU的数据传输能耗。另外,良好的数据管理策略能够减少DRAM额外读写的操作次数,从而降低片上流量,进一步达成降低功耗的目的,因此对DRAM进行数据传输量的检测也十分必要。实验得到的L1缓存未命中率和DRAM数据传输量结果比较如图2和图3所示。
  


  图2显示了DDPM与共享感知数据管理方法的L1缓存未命中率对比。由图可知,DDPM方法的L1缓存未命中率相比于共享感知数据管理方法的L1缓存未命中率下降了7%。其中,在测试程序BFS-rodinia中,DDPM比共享感知数据管理方法的L1缓存未命中率降低了17%,是因为DPPM相比较于共享感知数据管理方法,尽可能地将共享同一个数据块的线程放入相同的SM中,这种集中式的放置不仅延长了这个数据块在L1中的留存时间,还降低了L1缓存未命中率,而共享感知数据管理方法除了将数据放在L1中,还有一部分放到了L2缓存中,这将导致部分线程并不能在L1中访问到数据,从而增加L1缓存未命中率。而在测试程序CP中,共享感知数据管理方法比DDPM下降了15%,除了基准测试程序特征上的差异性外,还存在访存请求上的差异,过于频繁的访存请求可能导致DDPM中的L1缓存数据更新加快,从而加剧缓存丢失,提高其缓存未命中率。但是从整体上而言,DDPM方法对L1缓存命中效果更好。
  图3显示了DDPM与共享感知数据管理方法的DRAM数据传输量对比。由图可知,DDPM比共享感知数据管理方法的DRAM数据传输量下降了8.1%。其中,在测试程序NN中,DDPM比共享感知数据管理方法的DRAM数据传输量下降了21%,这是由于DDPM相比较于共享感知数据管理方法将访问同一个数据块的线程集中放置,而非分散在L2缓存中,使得数据传输操作主要集中于L1缓存,进一步降低了数据传输功耗和DRAM额外读写的操作次数,而后者并没有对数据块的放置做出限制。而在测试程序Lud中,共享感知数据管理方法比DDPM的DRAM数据传输量降低了7%,可能是因为当在DRAM找到数据后,共享感知数据管理方法采用了缓存绕过的策略,将数据存放在缓存中用于数据交换。但是,从整体上而言,DDPM比共享感知数据管理方法对降低DRAM数据传输量的效果更好。
  最后,本文与文献[13]提出的MC-aware-ORI(原始内存争用感知方法)、MC-aware-LoSe(局部敏感性的内存爭用感知方法)以及MC-aware-SiOb(基于信号阻塞方案的内存争用感知方法)3种方法进行能效和性能的比较。这3种方法主要是通过判断内存争用的严重程度来利用SMU对SM的状态进行更改以达成降耗目的。而DDPM的缓存置换策略同样是为了降低缓存抖动,减少缓存争用情况的发生而提出的。实验得到的能效和性能比较如图4和图5所示。
  


  图4显示了DDPM与MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb以及基线的能效对比。由图可知,DDPM提高能效是最高的,达15.4%,而MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb分别提高了12.7%,12.75%,6.73%,其中,在VA,BFS,GE,BP等测试程序中,DDPM比MC系列的3种方法的能效提升都要高,这是因为针对争用问题,DDPM相比较于MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb这3种方法并没有过多牺牲性能来降低系统功耗,前者通过提出的缓存置换策略来降低缓存抖动,减少缓存争用的发生,而后者主要是通过将SM的状态从正常模式改变为睡眠模式,从而达到降低GPU系统功耗的目的,但是这种方式同样也降低了系统的性能,同时这3种方法需要额外的SMU(SM管理单元)协调对SM的操作,这在另一方面增加了GPU的系统功耗。而在API,SQRNG,MUM等测试程序中,DDPM的能效相比于MC系列的3种方法提升效果并不明显,是因为DDPM相比较于MC系列需要进行更多的计算,当遇到计算指令较多的基准测试时,其功耗产出也十分明显,也会降低方法的性能优化效果。但是,从整体上而言,DDPM对GPU能效的优化效果更好。   圖5显示了DDPM方法与MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb以及基线的性能对比。由图可知,与基线相比,MC-aware-ORI的性能损失为2.2%,MC-aware-LoSe的性能损失为2.6%,MC-aware-SiOb的性能损失为0.9%,DDPM方法的性能损失为0.7%,在各个基准测试程序中,DDPM相比较于MC系列的3种方法性能损失是极小的。这是因为DDPM并不需要额外的单元进行计算和监控,同时也并没有因为争用问题,而让元件处于休眠状态,因此DDPM对性能的损失更小。
  总的来说,本文提出的DDPM方法可以达到节能的目的,同时性能损失可以忽略不计。与MC-aware-ORI方法相比,它的能效增加了2.7%,性能损失减少了1.5 %;与MC-aware-LoSe方法相比,它的能效增加了2.65%,性能损失减少了1.9%;与MC-aware-SiOb方法相比,它的能效增加了8.67%,性能损失减少了0.2%。通过以上对实验结果的比较,可以得出DDPM方法是可行的,并对能耗有良好的降低效果。
  4结束语
  在不同SM中的线程可能共享大量数据,当线程要访问数据时,需要跨SM或缓存层次将数据复制到SM的L1缓存中,导致数据移动功耗的增加。针对以上问题,提出了DDPM方法,通过线程调度将访问相同数据块的线程放入同一个SM当中,以减少数据传输功耗;随后通过缓存置换策略来进一步提升降耗效果。实验结果表明,DDPM相比较于共享感知数据管理方法,其L1缓存命中率提高了7%,DRAM数据传输量降低了8.1%;相比MC-aware-ORI,MC-aware-LoSe,MC-aware-SiOb方法能效分别提高了2.7%,2.65%,8.67%,性能损失可忽略不计。
  参考文献
  [1] NAGALAKSHMI K,GOMATHI N.Analysis of Power Management Techniques in Multicore Processors[C]// Artificial Intelligence and Evolutionary Computations in Engineering Systems.Singapore: Springer, 2017: 397-418.
  [2] LI JK,LI MJ,WANG GY,et al. Task Scheduling Approach to Save Energy of Heterogeneous Computing Systems[C]//2019 International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData). Atlanta: IEEE, 2019: 1-10.
  [3] SADROSADATI M,EHSANI S B,FALAHATI H, et al. ITAP: Idle-Time-Aware Power Management for GPU Execution Units [J].ACM Transactions on Architecture and Code Optimization (TACO),2019,16(1):3.
  [4] MEI XX,CHU XW,LIU H, et al. Energy Efficient Real-time Task Scheduling on CPU-GPU Hybrid Clusters[C]//IEEE INFOCOM 2017-IEEE Conference on Computer Communications. Atlanta: IEEE, 2017: 1-9.
  [5] ZHANG C, MENG T, SUN GY. Pm3: Power Modeling and Power Management for Processing-in-Memory[C]//2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). Vienna: IEEE, 2018: 558-570.
  [6] BAKHODA A, YUAN G L, FUNG W W L, et al. Analyzing CUDA Workloads Using A Detailed GPU Simulator[C]//2009 IEEE International Symposium on Performance Analysis of Systems and Software.Boston: IEEE, 2009: 163-174.
  [7] LENG J,HETHERINGTON T,ELTANTAWY A,et al. GPUWattch: Enabling Energy Optimizations in GPGPUs[J]. ACM SIGARCH Computer Architecture News,2013,41(3): 487-498.
  [8] STRATTON J A, RODRIGUES C, SUNG I J, et al. Parboil: A Revised Benchmark Suite for Scientific and Commercial Throughput Computing[J]. Center for Reliable and High-Performance Computing,2012,127:1-7.
  [9] CHE S,BOYER M,MENG JY, et al.Rodinia: A Benchmark Suite for Heterogeneous Computing[C]//2009 IEEE International Symposium on Workload Characterization(IISWC).Austin: IEEE, 2009: 44-54.
  [10] Yu Z , Hai J , Goswami N , et al. Hierarchically characterizing CUDA program behavior. IEEE, 2011.
  [11] TABBAKH A, ANNAVARAM M, QIAN X. Power Efficient Sharing-Aware GPU Data Management[C]// 2017 IEEE International Parallel & Distributed Processing Symposium. Orlando, FL:IEEE, 2017:1-10.
  [12] CHOI H J, SON D O, KIM C H. Memory Contention Aware Power Management for High Performance GPUs[C]// International Conference on Parallel and Distributed Computing: Applications and Technologies.Singapore : Springer,2018: 220-229.
其他文献
伴随万物互联时代的到来,终端应用迎来爆发性增长。数据显示,2020年我国在架移动应用数量超350万,移动用户数高达9.3亿,人均上网时长4 h。从某种意义上说,移动应用市场正迈向一个崭新的阶段。  然而,现实情况中应用崩溃、网络卡顿、加载缓慢及页面白屏等问题时有发生,App应用性能的不稳定,严重影响了用户的使用体验。如何监测设备端用户体验,成为企业共同关注的问题。  App3.0:洞察真实移动用户
Adapdix近日宣布了一项补贴计划,为客户提供接触合格数据科学家的机会,以帮助克服全球实施人工智能(AI)和机器学习(ML)所需的熟练人员短缺问题。  Adapdix正在利用现有的熟练员工群体和先进的AI/ML边缘建模软件来满足客户对人工智能/机器学习项目的强大需求。然后,这一迫切需要的资源以5美元/h的补贴价格提供给Adapdix客户。此计划无需长期承诺,也就意味着参与积极概念验证、试点或生产
在过去20年,数字经济的兴起已经开始全面影响各个行业的发展,每一个企业都要顺应宏观经济市场的变化、应对同行业创新竞争的出现并紧密贴合持续变化的客户需求。因而企业和组织的数字化转型成为行业用户从过去到现在持续取得业务成功的关键,数字化进程正在全球范围内加速。  数字经济的蓬勃发展离不开全球范围内电子商务、移动互联和云服务等新兴业态在过去的起步和繁荣,而背后的关键支撑是数据中心的发展和赋能。  随着云
期刊
摘要:在研究了现代信息系统软件架构模式的基础上,提出了软件工厂模式的项目软件快速开发和构建技术。设计了一个自动模型开发和代码自动生成方法,通过CodeSmith代码模板可以将数据模型转化成为平台无关的可执行程序,并在此基础上研究了基于逆向工程的项目文档自动生成技术。通过在实际项目中的验证,使软件产品的开发时间缩短到1/10,设计文档编写的时间缩短到1/17,并且代码质量极大提高,应用开发和维护成本
当前许多科学领域的研究热点,是如何使人机交互变得更加方便高效、操作简单。在人机交互领域中,手势识别技术是关键性技术之一,随着科技的日益更新,它也跟随着科技的发展而发展,一直在保持着变化。当前,手势识别技术发展非常迅速,
摘要:本文设计了一种软件测试用例库,目的是实现软件测试用例的重复利用性,软件测试复用一方面可以解决测试人员经验不足带来的技术问题,另一方面还避免了设计用例设计过程的重复劳动,提高了测试效率。本文首先介绍软件测试用例的设计思想和具体编写方法,再提出软件测试用例库设计方法,将测试用例汇总起来,提取通用测试用例,通过专家评审,形成标准的软件测试用例库,供软件开发人员及测试人员使用,测试用例库的使用可缩短
近日,富士胶片商业创新(中国)有限公司举办了“全新Apeos旗舰新品发布会”。富士胶片商业创新(中国)董事长/总裁内藤昌继宣布推出全新产品品牌Apeos,并发布了首批富士胶片品牌旗舰智能型彩色数码多功能机———Apeos C7070/ C6570/C5570/C4570/C3570/C3070、Apeos C8180/C7580/ C6580和ApeosPro C810/C750。新品传承了SLE
期刊
在模型训练过程中,训练语料通常包含许多针对特定问题的边信息,而模型往往无法直接利用这些边信息。后验正则化(posterior regularization,PR)由于其框架的灵活性和简单性,在分类任务、自然语言处理以及远程监督系统等领域获得广泛应用。首先系统性地对后验正则化问题进行描述;然后详细介绍了三类后验正则化的通用框架,并指出了各个后验正则化框架被提出的原因以及其模型的具体形式、所具有的优缺
对于现代企业来说,现代威胁环境是一个巨大的挑战。许多企业通过从最新的热门供应商那里购买最新的安全产品来解决"这个问题,并希望能以此为他们提供保护,但越来越多的人慢慢认识到,这并不足以保护他们的组织。  自动化渗透测试和安全人才缺口  工具和扫描器很好用,但只能找到已知的漏洞,许多漏洞只有经过培训的安全专家才能发现。不幸的是,缺乏训练有素、合格的安全专业人员加剧了组织面临的挑战。  安全人才的缺口并
“十四五”规划中提出,建立现代财税金融体制是构建高水平社会主义市场经济体制的重要组成组分,同时明确指出,构建金融有效支持实体经济的体制机制,提升金融科技水平,增强金融普惠性。央行发布的《金融科技(FinTech)发展规划(2019-2021年)》也对我国金融科技提出了总体发展目标,即建立健全我国金融科技发展的“四梁八柱”,进一步增强金融业科技应用能力,实现金融与科技深度融合、协调发展。  数字经济