[发明专利]一种基于GPU的Cache模拟器及其空间并行加速模拟方法有效
| 申请号: | 201010105094.0 | 申请日: | 2010-02-02 | 
| 公开(公告)号: | CN101814039A | 公开(公告)日: | 2010-08-25 | 
| 发明(设计)人: | 高小鹏;万寒;王志强;李毅;龙翔 | 申请(专利权)人: | 北京航空航天大学 | 
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F12/08;G06T1/20;G06T1/60 | 
| 代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 周长琪 | 
| 地址: | 100191*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 gpu cache 模拟器 及其 空间 并行 加速 模拟 方法 | ||
技术领域
本发明涉及一种Cache模拟器及其加速方法,尤其涉及一种基于GPU的Trace-drivenCache模拟器及其空间并行加速方法,属于计算机体系结构与并行计算领域。
背景技术
Cache(高速缓冲存储器)技术无疑是20世纪计算机领域最伟大的发明之一,它的出现,有效的缩小了处理器和存储器之间的速度差距,极大的提升了计算机系统的性能。因此在现代处理器设计中,Cache设计已经成为计算机系统体系结构设计中的重要部分。Cache模拟器为Cache设计提供了可靠的实验数据,为Cache性能的提升提供更具有指导意义的改进方案,并有效缩短了Cache的设计周期。
模拟器根据是否有辅助的硬件部分分为硬件模拟器和软件模拟器。硬件模拟器由于其开发周期长,不易调试,代价昂贵等种种弊端,已经渐渐为广大业内人士所摒弃。而软件模拟器因其开发周期短,代价小,风险低,易于调试等诸多优点逐渐受到人们的青睐。
软件的Cache模拟器按驱动方式不同可以分为两种:执行驱动的Cache模拟器(Execution-driven Cache Simulator)和踪迹驱动的Cache模拟器(Trace-drivenCache Simulator)。前者需要模拟整个程序的执行过程,包括取址、译码、执行、写回等动作,动态的产生内存访问序列,虽然可以获得较全面的统计结果,但其模拟时间长,开发成本高。而后者则是以Trace文件(内存访问记录文件)作为输入,模拟处理器的访存动作,输出性能分析结果,其模拟效率高,可移植性好。但随着被模拟系统日益复杂,需要模拟的设计空间不断加大,Trace文件长度不断加长,导致Trace-driven Cache模拟器运行时间越来越长,滞后了研究和产品开发的周期,所以加速Trace-driven模拟器的模拟速度对研究Cache体系结构具有重要意义。
基于Trace驱动的模拟加速方法主要有三种:Trace Reduction(Trace消减)、OneSingle Pass(单趟),以及并行模拟。
Trace Reduction方法是通过减少Trace长度来缩短Cache模拟时间。Trace消减技术可以分为无损消减和有损消减。无损消减是指整个Trace数据在消减后可以被还原为消减前的Trace,而不损失Trace数据,无损消减可以通过传统的数据压缩技术结合Cache访存空间局部性来实现Trace消减,也可以先对一系列特定的Cache配置进行模拟,在每次模拟完一种Cache配置后抽掉多余的Trace,以实现Cache消减,以上两种方法虽然能实现trace的无损消减,但引入了额外的开销,影响了模拟的效率,而且灵活度不高;有损消减则不能保证消减后的Trace保留原Trace数据的所有信息,有多种方法可以实现Trace的有损消减,如Trace删除方法,基于时间采样和组采样的Trace消减方法,但有损消减终因不能保证模拟结果的精确性而被业界抛弃。
One Single Pass方法则是利用不同Cache配置参数运行结果的相关性,一趟计算出所有Cache配置的模拟结果统计信息。如森林算法和基于二叉树的算法。虽然该方法可以达到很好的效率,但其存在一定的局限性,因为要跟踪所有被模拟的Cache块的状态,每一个记录必须非常简单,否则基本无异于串行模拟所有的Cache配置。
并行模拟又分为空间并行模拟和时间并行模拟。基于时间的并行模拟是把Trace划分为若干个子序列,对于这些子序列进行并行模拟以加快模拟速度,由于Trace-driven Cache模拟器对于Trace访存序列存在偏序关系,即ti+1,其中t为时间段,ti+1表示第i+1段的trace,Trace段模拟的开始状态应该为ti Trace段模拟结束的状态,故需要在所有子Trace段模拟结束后,增加一个修正操作。基于空间的并行模拟是对Cache模拟算法进行空间划分,比如采用机群进行Cache分组模拟,前人曾做过基于GPU的Cache分组模拟的并行加速,但仅限于开发单层的Cache模拟,对于当前处理器两层甚至三层的Cache体系结构已经无法满足要求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010105094.0/2.html,转载请声明来源钻瓜专利网。





