多核结构上的线程级推测关键技术研究
发布时间:2020-04-23 10:04
【摘要】: 进入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)线程级推测的性能很大程度依赖于编译技术,优化的线程划分方案与适当的同步通信机制是影响线程级推测性能的两个关键因素。
【图文】:
第l章绪论并行代码。这其中,在二进制代码级通过二次编译产生并行二进制代码的方法,对于加速大量历史遗留的二进制代码尤为意义重大。最后,推测技术的引入,使得一些过去为了容忍通信延迟而被迫放弃利用的线程级并行性重新得以有效利用,从而为进一步提高性能提供了可能。在传统的SMP结构中,由于受限于芯片互连带宽与芯片封装技术,线程级推测所带来的性能提升被其所需通的信代价所抵消甚至超过,线程级推测也是不现实的。Pm优SS0r3Proeessor4ProcessoTIPmCOSSOrZ
ultisca!ar技术提出了一种新颖的处理器微体系结构,图2.1显示了一ultiscalar微体系结构(Multiscalar的微体系结构可以有很多的变种,典型的一种)。概括地说,Multiscalar处理器由若干紧藕合的“处理单调度器(sequencer)”以及片上“高速数据Cache/缓存(DataBank)”成。处理单元在整个系统结构中处于中心位置,每个处理单元都可一个控制流。处理单元与任务调度器直接相连,并通过互连网络与ache/缓存部件相连。处理单元之间的紧祸合是指各个处理器可以通的数据通路实现寄存器级的数据通信。任务调度器负责将线程按照分配给各个处理单元。片上高速数据Cache/缓存部件由若干数据体组成,每个数据体由数据Cache与地址解析缓存(ARB,,Addressresol组成。数据Cache负责开发程序的数据局部性、平衡处理器与存储度差异;而地址解析缓存则负责缓存推测读写操作,以维持内存操致性。
【学位授予单位】:中国科学技术大学
【学位级别】:博士
【学位授予年份】:2008
【分类号】:TP332
本文编号:2637616
【图文】:
第l章绪论并行代码。这其中,在二进制代码级通过二次编译产生并行二进制代码的方法,对于加速大量历史遗留的二进制代码尤为意义重大。最后,推测技术的引入,使得一些过去为了容忍通信延迟而被迫放弃利用的线程级并行性重新得以有效利用,从而为进一步提高性能提供了可能。在传统的SMP结构中,由于受限于芯片互连带宽与芯片封装技术,线程级推测所带来的性能提升被其所需通的信代价所抵消甚至超过,线程级推测也是不现实的。Pm优SS0r3Proeessor4ProcessoTIPmCOSSOrZ
ultisca!ar技术提出了一种新颖的处理器微体系结构,图2.1显示了一ultiscalar微体系结构(Multiscalar的微体系结构可以有很多的变种,典型的一种)。概括地说,Multiscalar处理器由若干紧藕合的“处理单调度器(sequencer)”以及片上“高速数据Cache/缓存(DataBank)”成。处理单元在整个系统结构中处于中心位置,每个处理单元都可一个控制流。处理单元与任务调度器直接相连,并通过互连网络与ache/缓存部件相连。处理单元之间的紧祸合是指各个处理器可以通的数据通路实现寄存器级的数据通信。任务调度器负责将线程按照分配给各个处理单元。片上高速数据Cache/缓存部件由若干数据体组成,每个数据体由数据Cache与地址解析缓存(ARB,,Addressresol组成。数据Cache负责开发程序的数据局部性、平衡处理器与存储度差异;而地址解析缓存则负责缓存推测读写操作,以维持内存操致性。
【学位授予单位】:中国科学技术大学
【学位级别】:博士
【学位授予年份】:2008
【分类号】:TP332
【引证文献】
相关博士学位论文 前1条
1 王耀彬;多核平台上支持推测并行化的事务存储体系结构性能优化[D];中国科学技术大学;2010年
本文编号:2637616
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2637616.html