访存复杂度与访存部件优化研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:lijws
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的发展和进步,应用程序所使用的内存空间越来越大。程序所使用的数据不可避免地要存放在速度较慢的大容量存储设备中,而大容量存储设备的访问速度与处理器的执行速度之间有很大差距。程序的访存时间无法被计算时间所完全掩盖,程序的运行速度难免会受到处理器访存性能的影响,因此难以简单地使用时间复杂度或空间复杂度来分析程序的性能。  本文结合应用程序,通过建立访存复杂度模型,分析访存通路的设计对大规模科学计算程序的影响。在此基础上,本文提出一系列访存部件优化方案,降低了程序的访存复杂度,并在国产龙芯3号处理器平台上进行了实验。主要贡献和创新点如下:  通过分析应用程序的执行过程,结合访存通路上各级存储层次之间的关系,提出了程序的访存复杂度模型,并以大规模稠密矩阵乘法程序为例进行了深入研究。访存复杂度模型根据程序进行访存的规律,结合参数化的访存延迟、片上高速缓存容量、TLB容量等信息,定量地计算程序在处理器上运行时所需时间。该模型可以用于分析访存部件的行为,并指导处理器的访存通路优化工作。在龙芯3A1000处理器上的验证结果显示,该模型的平均误差小于10%。  针对访存指令发生Cache失效时延迟较大的问题,基于程序的访存复杂度模型,提出了一套软硬件结合的多层次预取机制。该机制通过预取指令和硬件自动预取的方式,将数据提前搬运至处理器核或片上末级Cache中,使得程序所需数据在被使用时可以位于更快的存储层次中。在龙芯3A2000处理器上的实测结果显示,该机制可以提升矩阵乘法约8.4%的性能。  针对大规模程序中的TLB失效问题,基于程序的访存复杂度模型,提出了降低TLB失效开销的解决方案。该方案提供了软硬件结合重填TLB的机制,并实现一个大容量的二级TLB,大幅降低TLB失效对程序性能的影响。在龙芯3A2000处理器上的实测结果表示,该方案可以提升矩阵乘法约8.2%的性能。  针对程序中常见的数据拷贝操作耗时较多的问题,基于程序的访存复杂度模型,提出一个用户态可以使用的后台数据搬运机制,使得数据拷贝工作可以与计算并行地进行。该机制提供了DMA引擎到二级TLB的查询通路,使得DMA引擎可以直接使用虚拟地址作为操作参数。在龙芯3A2000处理器RTL模拟平台上的实验显示,DMA的配置开销可以降低71.6%。  上述访存优化方法已成功应用于龙芯3A2000处理器中。该处理器与龙芯3A1000处理器相比,实测性能有明显提升:流式访问性能提升约20倍,SPECCPU2000性能提升2-3倍,Linpack效率提高1倍,其中本文提出的方法起到了极为重要的作用。
其他文献
近年来,流媒体在互联网上大量应用。然而,媒体的质量并不让人满意。主要是由于传统C/S模式过分依赖媒体服务器的性能和带宽。于是,研究人员想出了很多的解决办法。其中比较有代
学位
土地评价是土地利用与规划的关键步骤,是土壤科学研究的主要内容之一。土地评价一直是一个较为复杂的问题,不同地区对农业生产具有不同的影响因子,各影响因子对不同的生产目标又
互联网作为一种交互式媒体,被越来越多的人用来表达自己的观点和态度。这些带有倾向性的主观性语言集中在Blog、论坛和留言之中,包含有大量信息,自动挖掘其中的观点和态度,具有十
科学数据网格是在中国科学院科学数据库海量数据资源的基础上,利用先进的数据网格技术,连接分布在全国四十多个研究所而建设的一个面向大规模分布式异构数据资源的共享平台和应
学位
随着计算机网络性能的不断改进以及虚拟现实技术的广泛应用,越来越多的工程协作编辑以及军事仿真演练系统都开始依赖于虚拟仿真平台。如何构建一个能够适应在目前网络条件下实
近年来,随着大数据时代的到来,构建面向开放网络的知识库已成为国内外工业界和学术界研究的一个热点。虽然目前国内外多个研究机构建立了很多知识库,但是这些知识库对开放网络的
网络技术的高速发展与普及使其成为信息交互的主要手段。随着网络规模的渐大,接入网络中设备的数量和种类也随之越多,然而,这些资源并没有得到充分的利用。如果能有效地利用这些
信息检索系统使用日益复杂的模型及技术寻求改进检索结果的质量,在所有查询上取得了更好的平均检索性能的同时,某些查询可能会得到远远差于基准结果的检索结果,这些难以预期的检
随着信息网络时代的演进,信息数据量呈爆炸式增长,每年的增量率在60﹪以上,并且这个速度还在不断增长.数据的爆炸性增长导致存储环境的复杂,管理难度越来越大.与此同时,数据的
学位