(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf_第1页
(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf_第2页
(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf_第3页
(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf_第4页
(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf_第5页
已阅读5页,还剩52页未读, 继续免费阅读

(计算机科学与技术专业论文)同时多线程处理器性能与功耗改进的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

原创性声明 1 i i i 1 111i ii i1 11i ii i i i ii i iiii y 18 8 7 4 6 6 本人郑重声明:所呈交的学位论文,是本人在导师的指导下独立进行研究所取得的成果。 除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的科研 成果。对论文的研究作出过重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。: ,学雠文储鼢盈缎: 日o 强。叫 指导教师签名: 日期:加,z 髟 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权将 一 学位论文的全部内容或部分保留并向国家有关机构、部门送交学位论文的复印件和磁盘,允 许编入有关数据库进行检索,也可以采用影印、缩印或其他复制手段保存、汇编学位论文。 为保护学院和导师的知识产权,作者在学期间取得的研究成果属于内蒙古大学。作者今后使 , 用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若用于 发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 莩位癜储签毫:燃骘指删币躲 日 期:豳岫崖:丛日 期: 内蒙古大学硕士学位论文 同时多线程处理器性能与功耗改进的研究 摘要 同时多线程处理器( s m t ) 允许同时从多个线程取指令执行,可以使线程间 的线程级并行性以及线程内的指令级的并行性得到了充分的挖掘。在减少指令 槽的水平浪费的同时,也减少了垂直浪费,从而同时多线程处理器大大地提高 了处理器的指令吞吐率。 同时多线程的执行产生了较传统单线程处理器更多的功耗,但具体的每个 线程占总体功耗的比例不尽相同。本论文针对s m t 的研究,提出了基于线程级 功耗的评估方法以及相对应的取指调度策略。该策略可以在系统运行的过程中, 动态地统计出各线程对各部件的详细功耗情况,每个周期都对各线程所产生的 功耗进行衡量排序。在下一周期进行取指时,处理器根据各线程的功耗大小进 行动态取指。从而,在兼顾系统性能的基础上,尽可能地减少系统运行中的峰 值功耗,减少系统运行过程中因局部功耗过大而导致“走停现象的产生。与 传统的i c o u n t 取指策略相比较,通过实验结果表明:每周期峰值功耗平均降 低4 8 7 ,每周期均值功耗可以降低约2 3 。在最好的情况下,峰值功耗可以降 低约6 0 ,能够降低系统在运行过程中某一周期功耗过大,或某一段时间功耗过 ,大,导致处理器出现“走停 现象发生的可能性。 , 另外,本文还将d i p 乜玎c a c h e 替换策略思想在s m t 上实现,通过对原有的 c a c h e 结构的改变,运用新的替换算法,验证s m t 的性能变化情况。与传统的 l r u 替换算法相比较,实验结果表明:在单线程情况下,部分线程的性能可以得 。 同时多线程处理器性能与功耗改进的研究 到一定提高,其中a r t 负载程序可以提高近2 5 ,但是随着负载数的不断增加, 由于资源竞争程度的不断增加,该算法造成的c a c h e 失效率会不断增大。同时, 我们也从实验观察得知,采样组是私有还是共享也对系统性能造成一定的影响, 、 当采用私有采样组时,整体采样组数增加,系统性能更接近i c o u n t 的性能。但 整体性能没有在c m p 体系下提高的性能明显。 关键字:s m t ;功耗;取指策略;c a c h e :替换策略;性能 , h d y n a m i c a l l yf i l l e dw i t hu s e f u li n s t r u c t i o n sf r o mo t h e rr u n n i n gt h r e a d s b ya l l o w i n g f e t c h i n gi n s t r u c t i o n sf r o mo t h e rt h r e a d s ,a ns m tp r o c e s s o rc a nh i d eb o t hl o n g l a t e n c yo p e r a t i o n s ,a n dd a t ad e p e n d e n c i e si nat h r e a d t h e s ea d v a n t a g e si n c r e a s eb o t h p r o c e s s o ru t i l i z a t i o na n di n s t r u c t i o n st h r o u g h p u t s m th a dm o r et h a nt h et r a d i t i o n a ls i n g l e - t h r e a d e dp r o c e s s o rp o w e r , b u tt h e s p e c i f i cp o w e rc o n s u m p t i o no fe a c ht h r e a d sc o n t r i b u t i o nt ot h eo v e r a l ld i f f e r e n t t h i s t h e s i sp r o p o s e db a s e do nt h r e a d l e v e l c o n s u m p t i o no fa s s e s s m e n tm e t h o d sa n d c o r r e s p o n d i n gf e t c h s c h e d u l i n g t h es t r a t e g yc a n r u ni nt h es y s t e mi nt h ep r o c e s s ,t h e s t a t i s t i c so fd y n a m i cp a r t so ft h et h r e a d 。o nt h e d e t a i l so ft h e p o w e rs i t u a t i o ni ne a c h y e a ra r eg e n e r a t e df o re a c ht h r e a dt om e a s u r et h ep o w e r c o n s u m p t i o no fs o r t f e t c hi n t h en e x tc y c l e ,t h ep r o c e s s o r sp o w e r c o n s u m p t i o nb a s e do nt h es i z eo fe a c ht h r e a d d y n a m i c a l l yf e t c h t h u s ,i nb o t ht h es y s t e mp e r f o r m a n c eb a s e do nt h eo p e r a t i o no f t h es y s t e ma sm u c ha sp o s s i b l et or e d u c et h ep e a kp o w e r c o n s u m p t i o n ,r e d u c i n g i i i 同时多线程处理器性能与功耗改进的研究 s y s t e mp o w e rc o n s u m p t i o nd u r i n go p e r a t i o ni s t o ol a r g ef o rt h el o c a ll e a dt o s t o p - g o p h e n o m e n o ng e n e r a t e d f e t c h w i t ht h et r a d i t i o n a ls t r a t e g yi c o u n t c o m p a r ee x p e r i m e n t a lr e s u l t ss h o w t h a t :t h ea v e r a g ew e e k l yd e c r e a s eo f4 8 7 p e a k p o w e r , a v e r a g ep o w e rc o n s u m p t i o np e rc y c l ec a nb er e d u c e db ya b o u t2 3 i nt h e b e s tc a s e ,t h ep e a kp o w e rc a nb er e d u c e db ya b o u t6 0 ,c a nr e d u c es y s t e mp o w e r c o n s u m p t i o nd u r i n go p e r a t i o ni st o ol a r g eo f ac y c l e ,o rap o w e ro f ft i m ei st o ol a r g e , c a u s i n gt h ep r o c e s s o ra ”s t o p - g o p h e n o m e n o np r o b a b i l i t yo f o c c u r r e n c e i na d d i t i o n ,t h i st h e s i si m p l e m e n t e dt h ed i pc a c h er e p l a c e m e n tp o l i c yo nt h e s m t ,t h ec a c h eo nt h eo r i g i n a lc h a n g e s i nt h es t r u c t u r e ,t h eu s eo fan e w r e p l a c e m e n ta l g o r i t h m t ov e r i f yt h ep e r f o r m a n c eo fs m tc h a n g e s l r ur e p l a c e m e n t a l g o r i t h mw i t ht h et r a d i t i o n a lc o m p a r i s o nr e s u l t ss h o wt h a t :i nt h es i n g l e t h r e a d e d c a s e ,t h ep a r to ft h et h r e a dc a ng e ts o m ei m p r o v e dp e r f o m a a n c e ,i nw h i c ha r tc a n i n c r e a s et h ep e r f o r m a n c en e a r l y2 5 ,b u tw i t ht h ei n c r e a s i n gn u m b e ro fl o a d ,d u et o c o m p e t i t i o nf o rr e s o u r c e sl e v e lc o n t i n u e st oi n c r e a s e ,c a u s i n gt h e c a c h eo ft h e a l g o r i t h mw i l l c o n t i n u et or e d u c et h ef a i l u r er a t e w ea l s ol e a r n e df r o mt h e e x p e r i m e n t a lo b s e r v a t i o n ,s a m p l i n gg r o u p ,p r i v a t e ,a n dt h e r ea r ea l s oo p e r a t i n ga s c e r t a i ns y s t e m i ce f f e c t so fs a m p l i n gw h e nu s i n gap r i v a t eg r o u p ,t h eo v e r a l li n c r e a s e i nt h es a m p l i n gg r o u p ,t h es y s t e mp e r f o r m a n c ec l o s et oi c o u n tp e r f o r m a n c e b u t t h eo v e r a l lp e r f o r m a n c ed i dn o ti m p r o v ep e r f o r m a n c eu n d e rt h ec m ps y s t e m o b v i o u s k e y w o r d s :s m t ;p o w e r ;f e t c hp o l i c y ;c a c h e ;r e p l a c e m e n tp o l i c y ;p e r f o r m a n c e i v 内蒙古大学硕士学位论文 目录 第一章绪论1 1 1 同时多线程体系结构。2 1 1 1 原理与模拟结构j 2 1 1 2 商业的同时多线程处理器:3 。 1 1 3 同时多线程处理器的关键技术“4 1 2w a t t c h 功耗模型4 1 3 研究目标及内容。_ :6 、 1 4 论文实验方法1 6 1 4 1m s i r e 模拟器。:7 1 4 2b e n c h m a r k 测试程序:8 1 5 本论所作贡献:9 1 6 本论组织结构j :1 0 : 第二章基于线程级功耗取指调度策略m 。1 1 2 1 相关工作1 1 2 1 1i c o u n t 取指策略:小11 2 1 2i p c b f p 取指策略:1 2 2 1 3 其他取指策略:。:1 2 2 1 4 有关功耗问题的研究:一1 3 2 2m s i r e 模拟器中功耗的计算方法:沁1 3 2 3 基于线程级功耗的评估方法j :1 4 2 3 1 统计各线程对各部件的访问次数:j 1 4 2 3 2 各部件各线程的功耗计算方法:1 5 2 3 3 不同取指策略对各线程的影响1 6 2 4 基于线程级功耗的取指调度策略2 0 2 4 1 各线程功耗大小的排序“。:2 0 2 4 2 基于线程级功耗取指策略对系统的影响2 1 v 同时多线程处理器性能与功耗改进的研究 2 4 3 比重参数的调整 2 5 - 小结: 第三章d i p 算法在s m t 中实现 3 1c a c h e 基本结构。: 3 2 相关工作: 3 2 1 常用的c a c h e 替换算法: 3 2 2d i p 替换算法j 3 2 3t a d i p 算法j 3 3 3 3d 口算法在s m t 中实现方法。3 4 3 3 1 私有采样组的分配算法:“3 4 3 3 2 共享采样组的分配算法:3 6 3 3 3p s e l 值的设定j :3 7 3 4 实验方法以及实验结果j 。_ 3 7 第四章总结与展望:。4 0 4 1 论文总结4 0 4 2 后续的研究工作j j 。4 1 参考文献:4 2 j 彗c 谢:j 4 4 。 内蒙古大学硕士学位论文 图表目录 :3 架图:5 ! ; 数6 图1 4 流水线工作示意图8 表1 2 被模拟的工作负载分类_ j j - 8 图1 5 被模拟的工作负载单线程时功耗一9 表1 3 工作负载的组合。,。9 表2 1 模拟环境的配置:1 7 , , 图2 1不同取指策略对负载 p c 性能的影响1 8 图2 2 三个工作负载组合在各取指策略下的功耗比例o 1 8 图2 3 三个工作负载在各取指策略下的功耗18 图2 4m i x l 在不同取指策略下,t o 和t 1 线程各单元的功耗所占比例对比图1 9 图2 5m i x 9 在四种取指策略下,t o ,t 1 和t 2 三线程各单元的功耗比例对比图一2 0 表2 2 四线程负载组合情况。o 2 1 图2 6 两种策略口c 变化比较图j 2 2 图2 7 b a s e d p 引起的i p c 值变化率k _ 2 3 图2 8 两种取指策略下c c l 每周期的峰值功耗比较图2 4 图2 9c c l 每周期峰值功耗变化率2 4 图2 1 0c c 2 每周期峰值功耗变化率2 5 图2 1 1c c 3 每周期峰值功耗对比图_ - :2 5 图2 1 2c c l 每周期均值功耗对比图:2 5 图2 1 3c c l 每周期均值功耗变化率:2 6 图2 1 4c c 2 每周期均值功耗对比图2 6 图2 15c c 2 每周期均值功耗变化率j 。2 7 图2 1 6c c 3 每周期均值功耗对比图2 7 v i i 同时多线程处理器性能与功耗改进的研究 v i i i 内蒙古大学硕士学位论文 第一章绪论 同时多线程( s i m u l t a n e o u sm u l t i t h r e a d i n g ,s m t ) 处理器由于较大地提高了系统的指 令级并行性( i l p ) 和线程级并行性( t l p ) ,成为目前比较流行的处理器设计。当今,工业界 流行的趋势就是将c m p ( 片上多核处理器) 与s m t 两种体系结构相结合,比如i n t e lc o r e 2d u o 、 i b mp o w e r 5 n 钔和p o w e r 6 、以及s u n 公司的t 1 、t 2 、n i a g a r a 1 】等处理器都已经支持了这种结 合的体系结构。因而,针对同时多线程处理器的研究仍然十分重要。 同时,随着晶体管集成度的不断增大,处理器的功耗问题已经成为处理器设计者必须考 虑的重要问题之一。此外,由于同时多线程取指策略对线程的选择,一些恶意线程会对系统 造成如拒绝服务攻击( d o s ) 或热点( h o t s p o t ) 【2 】等问题,严重影响了系统以及其他线程的 性能。因此,研究并了解同时多线程处理器中各线程所产生的功耗以及由功耗转变成的热量 等因素,变得至关重要。但是,目前对于同时多线程功耗问题的研究,基本上只关注在整个 部件级( 如c a c h e 、a l u 、r e g i s t e r 文件等) 功耗的研究,其功耗值是多个同时运行线程对整 个部件的功耗之和,但尚未对单线程独立的功耗进行统计并进行研究。 针对s m t 研究有很多方面,有体系结构本身的研究、也有具体应用方面的研究。在体系 结构方面的研究,有诸如:前端取指策略的研究、分支预测器的研究以及各功能部件的研究。 学术届目前比较侧重对体系结构特别是前端的取指部件、分支预测、片内级c a c h e 等方面 进行研究,因为这些方面的改进,对s m t 整体系统的性能与各线程的性能影响比较大,同时 对同时多线程处理器的芯片功耗和延迟的最大的一部分。本论文的研究也针对这一领域。 本文针对s m t 的性能与功耗的研究主要从两个方面: 一是提出基于线程级功耗评估方法,该方法可以细化每个线程在系统的运行的过程中, 对每个部件访问所产生的功耗,实时对各线程功耗的大小进行排序,提出了基于线程级功耗 的取指调度策略。该策略可以减少系统运行中的峰值功耗,平均减少每周期峰值功耗约4 8 7 , 最好情况下可降低约6 0 ,同时减低了均值功耗; 另一方面对二级c a c h e 的替换算法的进行研究,首先将d i p 替换在s m t 中两种不同方法 实现,分为“共享采样组”和“私有采样组,两种方法。对s m t 中的二级c a c h e 的结构进行 修改,实验结果表明虽然该算法在单核系统和c m p 系统上都有很大性能的提高,但是在同时 多线程处理器中,模拟的结果并不是很理想,特别多线程负载的情况下,造成的二级c a c h e 同时多线程处理器性能与功耗改进的研究 的竞争加大,失效率增大,最终导致系统整体性能整体下降。 作为本论文的绪言,本章将在1 1 节介绍同时多线程的体系结构,介绍了同时多线程处 理器的原理、摸拟结构以及一些商业用机;1 2 节介绍w a t t c h 功耗模型,介绍该功耗模型中 计算的几种功耗;1 3 节本文研究目标;1 4 节介绍本论文的实验方法;1 5 介绍论文的主要 贡献;1 6 介绍本论文组织结构。 1 1 同时多线程体系结构 1 1 1 原理与模拟结构 同时多线程结构是由美国w a s h i n g t o n 大学的d m t u l i s e n 、s j e g g e r s 和h m l e v y 于1 9 9 5 年提出的【3 1 ,其结构是基于a l p h a 2 1 1 6 4 处理器【4 1 。 、 一 同时多线程作为一种处理器体系结构,它具有可以在同一时钟周期内发射多个线程的多 条指令,同时兼顾指令级并行和线程级并行的特点。同时多线程结合了超标量和多线程处理 器的特点,可以同时减少水平和垂直浪费【5 】。 。 s m t 提高处理器的总体性能体现在两个方面: 1 ) 允许在一个时钟周期内执行来自不同线程的多条指令。这样,s m t 能够同时利用 程序的t l p 和i l p 来消除水平浪费,提高处理器发射槽以及功能部件的利用率。在此,水 平浪费是指在一个时钟周期内,因没有足够的可执行指令占用所有的指令发射槽而导致的部 分指令槽浪费现象。 2 ) 从理论上说,s m t 允许任何活动线程的组合来发射指令。当由于长延迟操作或者 资源冲突导致一个线程在一个周期中的指令槽全部空闲时,s m t 可以通过使用其他线程的未 阻塞指令来消除这种垂直浪费现象。 s m t 的体系结构如图l 所示: 2 队列等待发射执行,队列中执行条件满足的指令被乱序发射到功能部件中执行,执行完成的 指令再经过重排序部件顺序将结果写回到体系结构的寄存器中。”。为了实现同时多线程, 即同时多个线程在处理器上执行,同时多线程处理器为每个线程单独设置了一套名为“线程 上下文( c o n t e x t ) ”的硬件,用来保存记录每个线程在处理器中的运行状态。其中包括:程序 计数器、返回地址栈和寄存器文件。系统中的其他部件由多个线程共享。当然可以通过各个 线程i d 来对各个线程进行区分。本文就是在此结构的处理器基础之上,进行研究。 1 1 2 商业的同时多线程处理器 在s m t 处理器设计初期,早在1 9 9 9 年,c o m p a q 公司曾公开过a l p h ae v 82 1 4 6 4 的设计吲。 该款处理器具有四个线程上下文、发射宽度为八、并支持乱序执行的s m t 处理器。随后,i n t e l 公司提i n t e lh y p e r t h r e a d i n g 技术,该技术是将s m t 应用于基于p e n t i 啪4 的x e o n 处理器 8 1 。 h y p e r t h r e a d i n g 技术采用了两个上下文结构的s m t 结构,实现了一个物理外理器,在使用上当 作两个逻辑处理器。x e o n 处理器 h y p e r t h r e a d i n g 技术的实现只增加了5 的芯片面积和功 耗,但却获得了较大的性能改进。在论文【8 1 中对该处理器进行了初步的性能测试,文中阐述: “在一个四路的多处理器系统上,对于高端服务器应用而言,采用具有h y p e r t h r e a d i n g 技术 3 同时多线程处理器性能与功耗改进的研究 的x e o n 处理器与前一代p i i ix e o n 的性能改进了6 5 。” 目前,工业界流行的趋势就是将c m p ( 片上多核处理器) 与s m t 两种体系结构相结合,比如 , i n t e lc o r e 2d u o 、i b mp o w e r 5 和p o w e r 6 、以及s u n 公司的t l 、t 2 、n i a g a r a 等处理器都已经 支持了这种结合的体系结构。在2 0 1 1 年,i n t e l 公司相继推出了,酷睿i 3 、i 5 、i 7 处理器等一 系列处理器,都实现了将两种体系结合的技术。 1 1 3 同时多线程处理器的关键技术 在s m t 的研究中,一般涉及以下几方面的关键技术: 取指策略:主要研究在每周期所取指令的策略,提高指令的执行率。 分支预测器:主要研究如何在同时多线程环境下,提高分支预测的准确性。 作业调度:多线程间的作业调度,兼顾公平性能等方面研究。 功耗问题:如何降低同时多线程的功耗,包含硬件方面的,软件方面的。 存储器层次结构设计:各级存储器的结构、层次的设计,尽可能地提高命中率j 细粒度同步:研究周时多线程各线程间细粒度的同步问题。 本论文主要是针对取指策略的研究,目的是从调度策略研究、缓解功耗问题。本文所解 决的功耗是从系统的线程取指调度来研究,而不是工业的电路设计或硬件上缓解功耗问题; 而另一方面从存储器的结构上进行初步探究,对原有结构进行改变,验证算法的优劣。 1 2w a t t c h 功耗模型 w a t t c h 功耗模型【9 1 是普林斯顿大学的d a v i db r 6 0 k s 、m a r 晶r e tm a r t o n o s i 以及i n t e l 公司的v i v e kt i w a r i 于2 0 0 0 年提出的一种体系结构级的功耗模型。它可以快速有效地通过 每个周期系统资源的使用情况来评估c p u 各单元的功耗。在c m o s 微处理器中,动态功耗( 只) 是资源功耗的主要部分。动态功耗计算公式为: p i = a 木c 木:木f 其中,c 是电容,v 尉是电压,f 为时钟频率,a 为0 1 之间的活动因子。w a t t c h 功耗模 型是基于上述的公式基础之上,提出了各部件的功耗计算公式。w a t t c h 功耗模型的其他参数 参考自0 3 5 u m 的处理器工艺。 : 一 w a t t c h 模型总体的框架结构如下图所示【9 】: 4 内蒙古大学硕士学位论文 硬件配置 l _ 功毵槿擞器怫功毵评估 周期级性麓 短曰目釉; 璩椭醵一 嚣试程瘳 摸撅器 t j 鲁捕司捌毗i 期删 访阎次数 一_ 性能评估 图1 2w a t t c h 功耗模型的总体框架图 , f i g u r e1 2t h es t r u c t u r eo f w a t t c hp o w e rm o d e l 从模型上可以看出,功耗因素有两大部分影响,- 个是硬件配置参数,另一个是负载通 过模拟器所模拟出程序各周期对系统硬源的使用情况0 在该模型中系统的配置,会通过字线 ( w o r d l i n e ) 和位线( b i t l i n e ) 组织结构桌计算出相应的硬件功耗,以及系统的静杰功耗。 硬件通过字线和位线的结构如图阳1 1 3 所示: 槲 褂 西 图1 3 字线和位线阵列结构示意图 f i g u r e1 3a r r a yo f w o r d l i n ea n db i t l i n e 而负载在运行的过程中产生的动态功耗基本上取决于各线程对各系统资源的访问次数, 模拟器会分别统计在系统运行过程中,对各部件的访问次数,通过各部件访问次数以及相关 数学功式计算出相对应的功耗值。 : 在w a t t c h 功耗模型中共计算如下n c c ,c c l ,c c 2 ,c c 3 等四种功耗值。各值详细解释见表 5 同时多线程处理器性能与功耗改进的研究 表1 1w a t t c h 功耗评估的几种参数 t a b l e1 1p a r a m e t e r so fw a t t c h p o w e rm o d e le s t i m a t e d n c c无条件时钟记为系统静态功耗 0 访问,则0 功耗。只有 e e l 简单条件时钟 静态功耗。 条件时钟功耗按与访问次数线性 c e 2 ( 理想状态)公式计算。 条件时钟( 非在0 访问时,也存在1 5 c c 3 理想状态)的功耗。 本文计算功耗是基于上述的后三种功耗,在实验的过程中会详细比较上述功耗的情况。 静态功耗不在我们研究范围之内。 _ 1 3 研究目标及内容 本论文主要是研究对象是s m t 的取指阶段,以及s m t 的二级c a c h e 结构的改变以及新 的替换算法在s m t 中的性能验证。 具体的研究内容包括: 1 )提出新的取指策略,即基于线程级功耗的取指策略。该策略是以功耗问题为衡量, 着重解决峰值功耗过大,或局部时间内功耗过大等问题。以牺牲少量性能为代价 获取减少更多的功耗。 , 2 ) 修改原有的二级c a c h e 结构,使新的替换算法在s m t 中得以实现,并加以验证 其在s m t 环境中性能情况。 本论文的研究目标是希望能有在不太损失性能的前提下,尽可能的降低系统的峰值功 耗,以及均值功耗。具体的目标是能在减少百分之一的性能,可以减少百分之- - n 五的峰值 , 功耗。 1 4 论文实验方法 本论文的研究是基于模拟的方法。所有的实验结果都有是在模拟器中产生,研究思路在 6 iljillljlilllllllilll 、 内蒙古大学硕士学位论文 摸拟环境中得以实现。 1 4 1m s im 模拟器 m s i m t l 0 1 模拟器是一款基于同时多线程技术的摸拟器,它具有各结构详细的周期计算模 型。m s i r e 是基于s i m p l e s c a l a r3 o d 模拟器修改而成。该模拟器可以从网址 h t t p :w w w c s b i n g h a m t o n e d u j s h a r k e m s i r e 下载得到。目前只支持a l p h aa x p 的二进制文件。 运行模拟器时,主程序m a i n ( ) 做所有的初始化工作,并将二进制目标码载入内存,然后调用 s i m , 在每个模拟器中单独说明,预先译码整个正文段,加快模拟。然后开m a i n o s i mm a i n o 始目标程序的模拟【1 1 】。 模拟器实现乱序执行策略,具体乱序执行过程如下: 取指段:根据配置参数,从指令一级c a c h e 里预取指令,然后加入到指令队列里。如果 一级c a c h e 里找不到相关指令,如果配置了二级c a c h e ,就继续从二级c a c h e 里再找,m s i m 模拟器只设置了两级c a c h e ,所以如果还没找到指令,则到存储器中寻找。 首先,根据分支预测器、两级c a c h e 大小参数以及取指大小的设定,确定预取多少指令。 然后,在地址有效的条件下,取出指令,系统会根据一级c a c h e 的延时和指令t l b 的延时计 算出其取指延时的大小。如果分支指令,则根据相配置的分支策略进行预测下一条指令地址; 否则,指令地址自动加一:接着,系统将所取到的指令加入取指队列里,更新取指队列: 调度段:从取指队列调度指令。指令首先被译码,然后为其分配相应资源。接着判断是 否存在数据相关。如果不存在,则发射出去,否则等待发射;如果是访存指令,则分配l s q 资源,最后更新输入输出的相关链。 发射执行段:首先检查从调度段发射来的指令是否存在结构相关,如果所需要的硬件资 源都到位,指令则被进行执行。 写回段:完成把功能部件的输出数据,即结果操作数写入寄存器更新单元的任务。m s i m 模拟器根据正在完成的指令的输出数据,确定取指队列中的后续指令存在输入数据与其相关, 如果存在,则把戏这条指令从取指队列中调度出来进行发射。 提交段:把已经完成的结果从寄存器更新单元和- c s q 提交到寄存器文件中,并且l s q 中 的s t o r e 指令将把其存储数据提交到数据c a c h e 中。 m s i r e 模拟器则是基于上述五段流水,顺序取指乱序执行,来实现程序整体的乱序执行。 如图所示: 7 同时多线程处理器性能与功耗改进的研究 一取指h 调度h 发射执行h i 了h 丑 、 流水线工作示j宝图: l n s t 勰。f 玩锯: 呱可萋建= 霉 l 劳 ;一 爷 i n s t1 i :墨 巍 行 i n s t2 | 。恕。f 姆琵兰徘:溺 沈 躇 l n s t3 l | 崩燃 勰燃 rinsi 4 卜i 蠢:纛l 正 h : 。 1 4 2b e n c h m a r k ;9 |j 试程序。 本论文的实验i e丁所采用盼程序负载:i 们选择2 3 个负载程 序作为我们实现的2叫试程序。 首先,先对工l 负载做一个分类,;工作负载划分成三 类:高功耗( h ) ,中等功耗( m ) ,低功莉以功耗7 5 瓦、6 5 瓦为分界。各工作豸l 载分类情况详见表虱1 5 。同时方便实 验的整理,我们对!旱验各负载进行了分;:文实验数据中的组 合与此表相对应,不再特殊说明。 表1 2 被模拟的工作负载分类 t a b l e1 2 c a t e g o r i e so fb e n c h m a r k s 功耗类别工作负载 g a l g d ,m e s a ,a p s i ,e q u a k e ,g c c ,c o n , 高( h ) f a c e r e c ,s i x t r a e e ,w u p w i s e a p p l u ,v o r t e x ,f m a 3 d ,g z i p ,m g r i d , 中( m ) b z i p 2 ,s w i m ,p e r l b m k ,v p r 8 内蒙古大学硕士学位论文 低( l ) a r t ,a m m p ,p a r s e r , l u c a s ,t w o l f 1 0 0 毳 =8 0 器6 0 搦 蕊:i 卜匿震匿霞 囫 鬻露霍:下霞 。睡暖 霞 毒 雾ll胃蕾震露1 鋈震 & 4 0 笋 。梦窭隶毒零毋萝矿挚j 薅簿矿爹矿梦毒爹 i 图1 5 被模拟的工作负载单线程时功耗 f i g u r e1 5t h ep o w e ro fs i n g l eb e n c h m a r k 表1 3 工作负载的组合 table1 3c o m b i n a t i o no f b e n c h m a r k s 类别工作负载组合名称 h h g a l g e l ,w u p w i s e m 1 m m a p p l u ,v o r t e x m 2 l l l u c a s ,t w o l f m 3 g z i p ,t w o l f m 4m l m h g z i p ,g a l g e l m 5 h l g a l g e l ,t w o l f m 6 , h h h g a l g e l ,g c c ,w u p w i s e m 7 h h l m e s a , e q u a k e ,a r t m 8 h m h s i x t r a c k ,v p r , a m m p m 9 i ,l l p a r s e r , l u c a s ,t w o l f m 1 0 h l l e o n ,a m m p ,l u c a s m 1 1 m m l f i n a 3 d ,m g r i d ,t w o l f m 1 2 1 5 本论所作贡献 本文从两个方面对同时多线程处理器的性能和功耗进行了研究,首先提出了一种基于线 程级功耗的评估方法,在准确评估每个线程的功耗的基础上,进而提出了一种基于线程级功 9 同时多线程处理器性 耗的取指调度策略,通过实验表明该策略可以 停 现象的发生,从而使性能得到一定的提高;其次,将d i p 算法在s m t 中实现,并对原 有的算法稍作修改,通过实验表明jd i p 算法在同时多线程处理器中,在单线程情况下,部 分线程的性能有所提高,a n 线程的性能可以提高近2 5 。但随着负载程序的不断增加,系统 的c a c h e 的失效率不断增大,而我们实现也发现当采样组数增多的时候,性能的整体性能有 一定的提高,但与i c o u n t 替换策略相比,整体性能并没有很好的提高,所以c m p 的体系 结构下d i p 算法可以使系统的性能有较大改善,但是在s m t 下,并没有明显提高。 1 6 本论组织结构 本文的组织结构如下所示: 第一章绪论。主要介绍同时多线程体系结构,w a t t c h 功耗模型,以及本论文实验所 使用的模拟器m s i m ,和负载程序及其分类情况。 第二章基于线程级功耗的取指调度策略。主要介绍如何基于线程级功耗的评估方法, 该方法可以每周期对系统的各线程的功耗进行评估。然后根据该方法提出相对 应的取指策略,结尾比较几种取指策略对线程性能以及功耗的影响。 第三章d i p 算法在s m t 中实现。本章首先介绍一下c a c h e 结构,简单地分析了操成 c a c h e 结构失效的原因,以及相对应的降低失效的方法。然后介绍了几种常见 的替换策略。在详细介绍d i p 策略的思想以及在同时多线程处理器上的实现方 法之后,我们对几种替换策略对实验数据进行比较分析。 第四章总结与展望。对本文进行总结,并对研究的下一步工作,进行一下展望。 ” l o 内蒙古大学硕士学位论文 基于线程级功耗取指调度策略 指策略,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论