文档介绍:中国科学技术大学
硕士学位论文
支持推测并行化的可扩展事务存储体系结构设计与性能评价
姓名:郭锐
申请学位级别:硕士
专业:计算机系统结构
指导教师:安虹
20090501
摘要片上多核作为当今处理器设计的主流技术,依赖多线程应用来充分发挥性能优势。但是传统的并行编程在编程效率与正确性方面却存在问题,严重制约了对多核平台上大量计算资源的利用。事务存储与线程级推测技术分别从显式并行编程的同步与串行程序的并行化两个方面入手解决传统多线程编程的困难。它们均通过激进地并行执行来充分挖掘程序中更多的并行性,并利用硬件进行动态数据依赖检测以保证结果的正确性、简化编程。现有的研究往往仅专注于其中一种技术,通过复杂的硬件结构来获取有限的性能提升。尤其是现有的线程级推测方案,大都使用了紧耦合的结构设计与复杂的缓存机制。本文通过从这两种技术的语义模型中抽取出共同特征,尝试设计一种具有较好可扩放性并易于实现的硬件支持方案,在其上可以高效地支持推测并行与手工并行,为程序员提供丰富的语义支持以简化并行编程的复杂度。本文在事务存储与线程级推测技术的统一硬件支持方面展开了深入系统的研究,主要的研究成果包括:岢隽酥С滞撇獠⑿谢目衫┱故挛翊娲⒊橄笥件结构模型,并为该抽象模型提供了一个易于硬件实现的方案及其配套软件环境。在这套推测系统上并行化程序执行需要调整的代码很少,达到了简化并行编程的目的。∪∪舾筛鼍哂胁煌么嫘形DJ降牡湫陀τ贸绦颍影响实现方案性能的关键因素进行了详细的评估,分析了一些设计选择对实现复杂度与性能的影响。攵匀砑D馄魉俣然郝究工作带来的限制,本文最后基于布D饪蚣埽杓屏薒挠件模拟环境。与一般的硬件原型系统的仿真验证环境设计不同,这里的硬件模拟环境是一个高度可配置的研究型模拟器,具有良好的可观测性。。在设计评测结构模型与配套支持系统的过程中,我们得到了一些关于如何有效利用线程级推测技术的认识。首先,为了提升推测执行性能,我们认为更多的努力应当投入到软件优化方面,而不是激进地调整硬件结构和执行机制。利用编译器识别应用的依赖特征、访存模式与迭代粒度等特性,对代码变换的优化应可以起到较好的效果。其次,线程级推测只在部分应用程序上获得最佳的效果,因而并不能让自动并行完全取代手工并行,但可以作为手工并行的辅助工具来使用。可扩展片上多处理器事务存储推测并行化基于的硬件模拟关键词:摘要~
”、琣甈,.,/琣·.,.,·琣瑆,.篎,..,瓻瓼,—。。
.,,.。甋琲琱,
图目录线程级推测示例.............................喑棠P停挛裰葱兄芷冢逑到峁雇迹栽杏布峁沟男薷模逋患觳庥虢饩觯抽象结构模型........................结构模型..........................线程级推测模型:线程静态划分与动态执行.......循环迭代划分..............................循环变换示例..............................动态优先级................................完整的优先级仲裁逻辑.........................渭扑闶萘饔胂叱袒郑四线程推测最佳加速比.........................粒度对推测并行加速比的影响.....................增加线程数对加速比的影响捍妫吠仄.......‘...懒重启与激进重启的性能对比.....................测试程序在不同链路延迟下带有误差条的回退率曲线........软件令牌传递方式下階的访存次数............链路延迟为三周期时平均每个事务进行的额外访存.........推测并行版本导致的缓存缺失变化率.................⑿邪姹局卸痘捍嫒笔У睦嘈头纸猓布钆苹吩诓煌绰费映傧碌闹葱惺奔洌诓磕?楣叵凳疽馔迹事务存储子系统与流水线间的通信界面................一致性协议状态转换图...................到挠成浞绞剑
方案的处理器事件,总线消息与条件...........表目录方案私有刺变量声明调整方式............................模拟器配置................................伪依赖对性能的影响....................一....事务存储与线程级推测并行同一应用的性能对比..........事务子系统内部结构图.........................
作者签名:』辑签字日期:旦£盥作者签名:蛊笼基签字日期:≥面。£。趁中国科学技术大学学位论文原创性声明中国科学技术大学学位论文授权使