数据局部性及其编译优化技术研究

来源 :国防科学技术大学 | 被引量 : 0次 | 上传用户:NoskyFox
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着工艺水平的进步和处理器体系结构的发展,处理器的速度已远远超过了存储器的速度,从而导致了“存储墙”的出现。为了解决“存储墙”问题,减少存储访问延迟,当前的计算机大都采用层次存储系统。层次存储系统中各级存储器的有效利用依赖于程序存储访问的局部性特性,因此针对层次存储系统的局部性优化技术成为了充分发挥计算机系统性能,解决“存储墙”问题的关键技术之一。 本文着重研究了如何通过编译优化来改善程序存储访问的局部性问题。cache局部性优化和内存局部性优化是局部性优化中的关键问题。改善cache局部性可以有效减少cache失效,而改善内存局部性可以有效减少处理器间的数据通信。除了局部性之外,伪共享也对程序的执行性能有着重要的影响。因此,本文主要针对cache局部性优化、内存局部性优化和提高局部性并同时消除伪共享的问题进行了深入的研究。本文所做的创新工作主要体现在以下几点: (1) 在利用数据变换技术来优化cache局部性方面,当前的方法大都仅考虑了对仿射下标的优化,并且优化方法相对来说比较复杂,有的还限制了数据变换的种类,存在着一定的不足之处。针对这些不足之处,本文深入探讨了用数据变换来改善数据访问局部性的本质,创造性地提出了一种新的优化数据访问的投影分层技术及其基于它的数据变换框架。该框架主要利用投影技术来优化数据访问的空间局部性,并同时利用数据分层技术来解决因投影而带来的数据重叠问题。该框架不仅能处理仿射数组下标,而且还能处理许多非仿射的更复杂的数组下标,同时它还能简单直接地确定数组元素的最优存储布局以及优化数组访问的数据变换矩阵,并能使得访问间距尽量小。实验结果表明基于投影分层技术的数据变换框架能有效地提高数据访问的空间局部性。 (2) 在利用非奇异循环变换技术来优化cache局部性方面,当前的方法有的优化时间局部性不够充分,有的优化方法较为复杂,还有些未系统地考虑对程序同时进行时间局部性和空间局部性优化的问题,存在着一些不足之处。针对这些不足之处,本文提出了一种新的基于线性表出的非奇异循环变换局部性优化方法。该方法利用一组最少的线性无关向量组来线性表出数组访问的下标表达式,并据此构造非奇异变换矩阵来优化数组访问的时间局部性和空间局部性。该方法能充分开发嵌套循环中数组访问的时间局部性,能很简便地确定是否能对单个数组访问或同时对多个数组访问进行时间或空间局部性优化,并能对给定嵌套循环同时进行时间局部性和空间局部性优化。实验结果表明基于线性表出的非奇异循环变换局部性优化方法能有效提高数据访问的时间和空间局部性。 (3) 在同时利用循环变换与数据变换技术来优化cache局部性方面,当前的方法都只能对紧耦合嵌套循环进行处理,并且有的方法使用的数据变换种类有限,有的依赖于万一国防科学技术大学研究生院学位论文启发式规则,还有的仅对简单的数据访问模式有效,存在着一些不足之处。针对这些不足之处,本文结合循环变换与数据变换,提出了一种基于树形存储布局图、利用O一1整数规划来求解全局局部性优化问题的方法。在该方法中,我们用树形存储布局图来描述程序的局部性特征,并将求解局部性优化问题转化为求解树形存储布局图中最优路径集的问题,从而使我们可以用0一1整数规划来求解全局局部性优化问题。另外,利用0一1整数规划来求解局部性优化问题可以使该方法不依赖于任何启发式搜索规则。在我们限定的代价模型和循环变换与数据变换空间中,该方法可以求出最优解。该方法既能对紧藕合嵌套循环进行处理又能对一般的松藕合嵌套循环进行处理,且既适合处理数据访问是沿某维进行访问的情况又适合处理数据访问是沿斜对角线进行访问的情况。实验结果说明了该方法能显著改善局部性,并且0一1整数规划的使用并未显著增加编译时间。 (4)在优化内存局部性方面,当前的方法有的对嵌套循环以及数组的访问形式作了一定的限制,有的没有考虑尽量最大化并行度的问题,有的虽然考虑了该问题,但却没有给出数据如何分布的方法,还有的没有考虑数据复制以及偏移常量对准等问题,从而不能使得数据通信量尽量地小。针对上述不足之处,本文深入研究了分布共享存储和分布存储计算环境中内存局部性优化问题,提出了一套关于数据空间融合的理论框架,并基于该框架给出了一种有效的全局计算与数据划分方法。该方法将计算空间划分成数量尽可能多的数据无关集合,以保证能尽量最大限度地开发程序的并行性,并根据对计算空间的划分、利用数据融合技术来组织数据,以使得计算与数据能够有效对准,达到尽可能多地开发并行度和减少通信的目的。该方法能对多个嵌套循环中任意维数组进行计算和数据划分,并且能尽量开发计算划分和数据划分的并行度,该方法还能很自然地与数据复制以及偏移常量的对准结合在一起,从而能使得数据通信量尽可能地小。实验结果表明基于数据空间融合的计算与数据划分方法能有效减少通信,提高程序执行性能。 (5)深入探讨了局部性与伪共享的关系,提出了利用数据变换和调度技术来提高局?
其他文献
由联合国贸易与发展会议所做的统计中,2001年服务业的全球对外直接投资对内流量为4594亿美元,占整个FDI对内流量的63.3%,其中金融业的对内FDI流量为1403亿美元,占整个FDI的19.3%,
长久以来,英语委婉语作为英语中必不可少的组成部分,一直受到语言学家和学者们的关注。关于这一课题的研究涉及许多不同的领域,包括语言学、语用学、社会语言学以及心理学等诸多
在全球网络化、信息数字化形势驱动下,基于互联网的地理信启、系统(GIS)为地理信息的获取、共享和发布提供了新的机遇。然而,现有的WebGIS体系结构难以满足Internet环境下GIS应
语用学和翻译学有着共同的研究对象,即语言理解和语言表达。其中语用学中的关联理论可以为翻译研究提供科学的语用学分析方法。本文旨在探讨关联理论对翻译的解释力并试图以
在一个开放的分布式制造环境中,智能Agent技术被认为是建立敏捷制造调度系统最有前途的方法之一。制造设备是制造系统的基本要素,制造设备Agent作为它的代表,在基于多Agent的
<正> 我们采用油菜子压迫耳穴治疗白癜风227例,收到良好效果。治疗方法先取一宽约7毫米的胶布条,选大、圆而黑的油菜子或芥菜子,一粒粒粘在胶布条上,间隔离距约7毫米。然后用
目的:观察小柴胡汤加味治疗小儿久咳的临床效果。方法:患者随机分为治疗组和对照组,治疗组给予小柴胡汤加味治疗,对照组予常规抗生素治疗,两组疗程均为3周,疗程结束后观察患
本文研究了聚氯乙烯干混料颗粒特性对干混料流动性能、熔融流动性能、塑化行为、力学性能以及搪塑工艺等的影响,发现在本文研究范围内,不同厂家、牌号的悬浮法疏松型聚氯乙烯树
目的:探讨平律汤治疗快速型心律失常的临床疗效。方法:随机选取2010年2月~2012年2月我院收治的快速型心律失常患者106例,采用口服平律汤治疗。1剂/d,30d为1个疗程。用药前后观
<正> 40例均为多次白细胞计数连续2个月以上低于4000,并为单纯白细胞减少者。以无感冒、无炎症情况下所计白细胞数为准。基中男24例,女16例,年龄18~64岁,病程半年以内10例,半