论文摘要
进入21世纪以来,随着半导体工艺技术的发展,微处理器芯片体系结构由于受到功耗与设计复杂度等问题的限制开始进入多核时代,但是传统的串行程序模型与串行地址空间模型并没有发生实质性变化,并行的多核结构模型与串行的计算理论模型之间发生了矛盾。线程级推测技术的提出为缓解这一矛盾,使用多核结构加速串行程序提供了可能。目前,有关该技术的研究仍然停留在学术研究阶段,距离应用还有较大的距离,仍有许多关键技术有待深入研究。因此“多核结构上的线程级推测关键技术研究”对于探索在多核微处理器芯片上加速传统串行应用的有效方法具有重要的学术意义和实际应用价值。本文围绕线程级推测的若干关键技术问题开展了深入系统的研究,主要涉及线程级推测并行性的定位与分析、线程级推测程序的表示与变换、支持线程级推测的单芯片多处理器(Chip Multi-processor,CMP)结构模型三个方面。(1)在线程级推测并行性的定位与分析的研究中,本文提出了判定“特定应用程序是否适合推测执行”的准则,以及分析、定位应用程序中线程级推测并行性的理论与方法,并设计实现了针对线程级推测的剖析工具。(2)在线程级推测程序的表示与变换的研究中,本文为实现循环结构和子程序结构的线程级推测执行,设计实现了基本的运行时系统,完成了循环结构和子程序结构的线程化执行,简化了线程级推测程序的设计,并通过扩充系统调用的方法避免了对编译器的大幅度改动。(3)在支持线程级推测的CMP结构模型的研究中,本文考察了在CMP结构上实现线程级推测所需的硬件支持,提出了一种线程级推测硬件体系结构模型。(4)搭建了多核芯片结构的行为级模拟实验平台,开展了软硬件协同的性能分析与优化工作。通过大量的实验,完成了对多核芯片基本设计空间的搜索,获得了对线程级推测技术中的若干关键问题的新认识。本文选取SPEC CPU 2000中的程序作为研究对象。通过对应用程序中固有的线程级推测并行性的研究,我们发现:(1)程序中存在着大量的返回值可预测的子程序结构,这些子程序结构平均占据了超过50%的运行时间,简单的Last-value函数返回值预测方案已经足以取得令人满意的预测成功率。(2)程序中粒度较小的循环结构较粒度较大的循环结构多,循环展开合并技术对于控制推测线程的粒度是必要的。(3)无论是循环结构还是子程序结构,访存数据依赖都是普遍存在的,在推测执行的过程中适当地插入同步与通信对于提高线程级推测的性能具有重要意义。(4)由于受到应用本身并行特性的限制,基于4发射超标量内核的线程级推测技术所能有效利用的处理器内核数目小于4。通过搭建具体的行为级模拟平台、开展软硬件协同的性能分析与优化,我们还发现:(1)单一总线互连网络很难承担线程级推测执行过程中的数据通信负载,按照功能分裂总线的多总线互连方案可以在一定程度上缓解该问题,但是当处理器数目大于4时,多总线互连方案将成为系统性能瓶颈。(2)使用复杂的宽发射处理器内核(发射宽度大于2)构造线程级推测系统是不必要的,但是乱序发射技术是必须的。(3)线程级推测的性能很大程度依赖于编译技术,优化的线程划分方案与适当的同步通信机制是影响线程级推测性能的两个关键因素。
论文目录
相关论文文献
- [1].线程同步及在C系列语言中的实现方式[J]. 电脑编程技巧与维护 2015(20)
- [2].一种面向非干扰的线程程序逻辑[J]. 软件学报 2014(06)
- [3].基于程序特征的线程划分方法的研究[J]. 计算机科学与探索 2018(06)
- [4].趣谈托管程序的辅助调试线程[J]. 程序员 2009(06)
- [5].基于三线程保护和软件哨兵的防篡改技术[J]. 计算机应用 2013(01)
- [6].浅析线程和进程关系[J]. 现代企业教育 2009(14)
- [7].线程独立对象实现方法[J]. 计算机时代 2009(09)
- [8].通用线程库的设计与实现[J]. 计算机系统应用 2012(10)
- [9].用线程级推测技术在多核体系结构上并行化科学计算应用[J]. 小型微型计算机系统 2010(02)
- [10].基于Java Executor的并发技术研究[J]. 计算机时代 2009(02)
- [11].信号实时采集系统的最佳并行线程数的研究[J]. 计算机应用 2011(10)
- [12].基于.NET线程间通讯技术的应用[J]. 微计算机信息 2012(05)
- [13].Java线程同步原理探析[J]. 高等函授学报(自然科学版) 2012(04)
- [14].线程注入木马原理与防范[J]. 农业网络信息 2011(03)
- [15].了解线程协议的七大关键要素 低功率网状联网能够可靠地提供无缝连接[J]. 今日电子 2016(08)
- [16].多核平台上的线程级猜测执行综述[J]. 计算机科学 2014(01)
- [17].面向众核系统的线程分组映射方法[J]. 西安交通大学学报 2016(10)
- [18].利用Windows API函数创建远程线程[J]. 电子制作 2013(04)
- [19].一种数据结构制导的线程划分方法与执行模型[J]. 软件学报 2013(10)
- [20].多处理器片上系统的线程迁移方法[J]. 计算机应用研究 2015(12)
- [21].双核配置下的线程并行数值计算[J]. 长春工程学院学报(自然科学版) 2009(04)
- [22].通用线程模型研究[J]. 价值工程 2014(26)
- [23].基于事务存储的事务级线程切换[J]. 计算机工程 2009(08)
- [24].线程安全在数据结构设计中的局限性[J]. 电脑知识与技术 2008(36)
- [25].基于线程负载的嵌入式多核低功耗优化方法研究[J]. 高技术通讯 2013(09)
- [26].缓解同时多线程结构中线程对关键资源的竞争[J]. 计算机科学 2010(03)
- [27].动态任务分配CUDA线程束步进体绘制[J]. 计算机辅助设计与图形学学报 2016(10)
- [28].线程在Android开发中的应用[J]. 软件 2013(08)
- [29].支持线程级猜测的存储体系结构设计[J]. 计算机工程 2012(24)
- [30].Java同步线程模型分析与改进[J]. 电子科技大学学报 2010(03)
标签:多处理器芯片体系结构论文; 线程级推测论文; 多线程程序设计论文; 程序剖析论文; 编译优化论文; 性能评价论文;