类数据流驱动的分片式处理器上一种超块优化技术

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:kwzheng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
分片式处理器体系结构(TPA)将计算、存储和互连资源组织成片式的基本结构单元,并将大量的片式单元由高效能、可扩展的片上网络连接起来。为了有效利用TPA丰富的片上资源,高度暴露程序并行性,指令集体系结构(ISA)的设计是首要问题,与ISA配合的编译技术也至关重要。数据流模型和超块技术的结合为二者的协同的设计提供了一个较理想的解决方案。编译器根据一定的选择标准将某些执行路径上的基本块集合成规模更大的多指令块,有利于接下来的全局优化和指令调度,同时提高块内的指令级并行性。但是,如果编译器一味保守的按照程序的串行顺序组织超块,使得超块间和超块内部受限于数据依赖,就会削弱整个程序运行时的潜在数据级并行性和线程级并行性,不利于发挥分片式多核结构的优势。本文,提出了一种称为“超块内多任务”的超块分裂重组技术来模拟TPA结构上多线程运行的效果,进一步挖掘运行串行单线程程序时的指令级并行性。本文的主要研究工作和成果包括:   (1)提出了一种“超块内多任务”的方法,并给出其对串行程序性能提升的理论依据。这种方法通过从多个任务中分别抽取任务片段来组织超块,从而提高超块内部指令级并行性。本文验证了这种方法的可行性和有效性,实验选用的三个程序获得了平均超过两倍的性能提升。   (2)提出了一种“跨层循环展开”的编译优化技术。这种技术是“超块内多任务”在编译器前端的一种实现方法。基本思想是,在保证程序正确性的前提下,将循环的最外层的各次迭代在其内层循环中的某一层中展开指定次数,从而使原本放置在不同超块中属于不同外层迭代的指令合并到同一个超块中,达到了“超块内多任务”的目的。此外,本文还采用了一种保守的依赖性检测方法来使编译器自动判断程序中可以进行跨层循环展开的循环。实验结果表明,数十个应用程序经结合了“跨层循环展开”技术的编译器编译后,运行在TRIPS和TFlex处理器上均能获得接近两倍的平均性能提升。
其他文献
近几十年来,无线传感器网络以低廉的价格、独特的性能和灵活性带来了广阔的应用前景,当前,一种特殊的无线传感器网络——移动传感器网络正以它移动灵活、快速部署的优势迅速
随着通信和互联网技术的不断发展,无线传感器网络(WSN)早已可以解决大规模数据的采集和传输问题,但是已有的接入网技术仍制约着无线传感器网络与互联网等主干网络的互连。无源光
近年来,随着信息技术的飞速发展及多媒体应用的广泛普及,信息资源呈爆炸式增长。如何对数据信息进行安全高效存储,成为学术界和工业界的研究热点。分布式存储系统利用网络连接将
深度万维网蕴藏着海量的信息,由于其隐藏性,现有的搜索引擎很难搜索到其中的内容。目前还没有研究出很好的方法和模型来捕获其内容,很大程度上制约了人们获取更多、更有价值
机器学习的方法在生产和科研中都有着广泛的应用,而集成学习则是机器学习领域中一门重要的研究分支。集成学习是把一系列基学习器结合在一起再做预测的一种方法。在理论和实践
图像分割是图像处理、分析与理解、图像识别和计算机视觉研究领域的一个重要组成部分,也是一个经典难题,特别是对于普遍存在的复杂图像(如医学、自然)分割问题,目前并没有统
随着Twitter、新浪微博、腾讯微博等的普及和流行,微博已经逐渐融入人们的日常生活中,成为人们日常生活交流的工具之一。微博的广泛使用产生了大量的数据。这些数据既包含了有
随着互联网的快速发展,隐藏在Web后台数据库中的信息资源因为其数据量大、结构完整而受到了广泛关注,这些信息通常需要用户提交查询请求才能访问而且不能被传统搜索引擎所索引,
动态优化问题(Dynamic Optimization Problem,简称DOP)是现实社会中普遍存在的一类实际优化问题。相对于静态优化问题而言,DOP的目标函数或者约束条件会随着时间而变化。近年来,利
在我国目前的医学教育过程中,特别是在普外科教育、解剖教育和微创手术教育过程中,由于缺乏真实的人体器官资源,学生掌握知识的途径主要是通过教师的讲授和从教材中获取相关知识