数据局部性及其编译优化技术研究
发布时间:2021-02-02 15:08
随着工艺水平的进步和处理器体系结构的发展,处理器的速度已远远超过了存储器的速度,从而导致了“存储墙”的出现。为了解决“存储墙”问题,减少存储访问延迟,当前的计算机大都采用层次存储系统。层次存储系统中各级存储器的有效利用依赖于程序存储访问的局部性特性,因此针对层次存储系统的局部性优化技术成为了充分发挥计算机系统性能,解决“存储墙”问题的关键技术之一。 本文着重研究了如何通过编译优化来改善程序存储访问的局部性问题。cache局部性优化和内存局部性优化是局部性优化中的关键问题。改善cache局部性可以有效减少cache失效,而改善内存局部性可以有效减少处理器间的数据通信。除了局部性之外,伪共享也对程序的执行性能有着重要的影响。因此,本文主要针对cache局部性优化、内存局部性优化和提高局部性并同时消除伪共享的问题进行了深入的研究。本文所做的创新工作主要体现在以下几点: (1) 在利用数据变换技术来优化cache局部性方面,当前的方法大都仅考虑了对仿射下标的优化,并且优化方法相对来说比较复杂,有的还限制了数据变换的种类,存在着一定的不足之处。针对这些不足之处,本文深入探讨了用数据变...
【文章来源】:国防科技大学湖南省 211工程院校 985工程院校
【文章页数】:207 页
【学位级别】:博士
【部分图文】:
不同数据存储方式的执行时间比较
(e)mytest图7.4原程序和优化后的程序的执行时间比较【图7.4中横坐标为处理器数目,纵坐标为执行时间,且执行时间的单位是秒。测试程序的问题规模如下:matmult使用1o24x1024的数组;s”Zk使用lo24xlo24的数组;adi使用200ox2000x3的数组;卿nta使用92ox92ox3的三维数组以及92ox92o的二维数组;mytest的L,=256,LZ=256,L3=225。上述数组中每个数组元素的大小都是8个字节]。第169页
本文编号:3014902
【文章来源】:国防科技大学湖南省 211工程院校 985工程院校
【文章页数】:207 页
【学位级别】:博士
【部分图文】:
不同数据存储方式的执行时间比较
(e)mytest图7.4原程序和优化后的程序的执行时间比较【图7.4中横坐标为处理器数目,纵坐标为执行时间,且执行时间的单位是秒。测试程序的问题规模如下:matmult使用1o24x1024的数组;s”Zk使用lo24xlo24的数组;adi使用200ox2000x3的数组;卿nta使用92ox92ox3的三维数组以及92ox92o的二维数组;mytest的L,=256,LZ=256,L3=225。上述数组中每个数组元素的大小都是8个字节]。第169页
本文编号:3014902
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3014902.html