重启优化的前瞻线程颗粒及其重启优化方法

文档序号:6482442阅读:240来源:国知局
专利名称:重启优化的前瞻线程颗粒及其重启优化方法
技术领域
本发明涉及的是计算机领域,提出了一种重启优化的前瞻线程颗粒及其重启优化方法。
技术背景计算机技术的不断发展和应用领域的广泛深入都对处理器性能有了更高的要求。但是传 统的提高处理器性能的手段,例如提高处理器晶体管的集成度、提高处理器时钟频率等受到 了极大地限制。这些限制包括处理器工艺和时钟频率已接近极限,其提升变得越来越困难; 随着时钟频率的增加,处理器功耗越来越大,并且散热问题也成为影响处理器性能稳定发挥 的关键问题。目甜,高性能处理器问题上日益重要的线延迟、功耗以及设计和验证的复杂度等问题共 同促进了片上多核处理器(Chip Multi-Processors, CMP)时代的来临。当前主流的商用多 核处理器主要针对多线程应用,单个串行程序的加速很难受益于多核结构。如何充分利用高 性能计算机的软、硬件资源,加速计算任务的快速完成;面对多年来积累的已验证正确且十 分有效的串行应用程序,如何将其移植到超级计算机上高效运行,这些问题长期一直是高性 能计算领域最为关心和头痛的问题。基于线程级前瞻(Thread-Level Speculative, TLS)的 并行技术是解决这些问题的主要途径之一.前瞻技术推断得出的结果并不一定总是正确的,当 前瞻技术推断失效时,必须重启失效的线程,但重启线程的时间开销和资源开销极大,甚至 抵消了串行程序并行带来的收益,因此,优化线程重启称为串行程序并行化的关键技术之一, 有必要进一步细化线程,减小线程粒度,当线程发生前瞻失效时,只要重启该线程的若干必 需部分即可,而不需重启整个线程。 发明内容本发明要解决的技术问题是提供一种重启优化的前瞻线程颗粒及其重启优化方法,该前 瞻线程结构能根据前瞻线程的输入参数在前瞻线程失效时对前瞻线程颗粒的影响来设计控制 前瞻线程颗粒重启优化,进而利用该结构优化前瞻线程失效时的重启操作。该方法能根据前瞻线程的输入参数对前瞻线程颗粒的影响来设计前瞻线程颗粒重启优化 控制结构,尽可能减少前瞻失效时的不必要的程序语句的执行,降低前瞻线程重启操作的时 间开销和资源开销。为了达到上述目的,本发明的重启优化的前瞻线程颗粒的技术方案是-该甜瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部 分由N + 1个依次排列的二进制位构成,它用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻 线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。根据上述的发明构思,本发明的重启优化的前瞻线程颗粒及其重启优化方法采用下述技 术方案它是根据甜瞻线程屮各条程序语句对输入参数的使用情况,实现失效线程的重启优化, 其具体操作步骤如下A、 检测失效的前瞻线程输入参数;B、 査找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒;C、 将步骤B查找到的前瞻线程颗粒重启。上述步骤B査找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒的操作步骤如下Bl、判断前瞻线程颗粒是否查找完毕,如果是,则本步骤结束,否则转步骤B2;B2、判断所述的前瞻线程颗粒的输入参数标识部分的第1个二进制位是否为0,如果是, 则转步骤Bl,否则转步骤B3;B3、判断失效的前瞻线程输入参数对应的前瞻线程颗粒的输入参数标识部分中的二进制 位是否为l,如果是,则标识前瞻线程颗粒为必需重启,否则转步骤B1。本发明与已有技术相比较,具有如下面显而易见的突出实质性特点和显著优点本发明 能够迅速判断前瞻失效时必须重启的前瞻线程颗粒,降低线程重启代价。


图1是本发明的重启优化的前瞻线程颗粒的结构示意图; 图2是本发明中的查找必需重启的前瞻线程颗粒操作的流程图。
具体实施方式
本发明的一个优选实施例结合附图详述如下本实施例所述方案的应用环境是面向多核处理器的前瞻线程并行执行环境,本实施例不限定所述技术方案应用环境中多核处理器架构 和线程调度方式。下面结合说明书附图和具体实施方式
对本发明作进一步详细的说明。如图1所示,上述重启优化的前瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N + 1个依次排列的二进制位构成,它用于标识前瞻线程颗 粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语 句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。参照图2,示出了本发明中的直接查找必需重启的前瞻线程颗粒操作的流程图。 步骤IOI、判断前瞻线程颗粒是否査找完毕。步骤102、判断所述的前瞻线程颗粒的输入参数标识部分的第1个二进制位是否为0。 如果第1个二进制位为0,则表明该前瞻线程颗粒没有使用前瞻的输入参数;如果为l,则表明该前瞻线程颗粒使用了前瞻的输入参数,但该前瞻的输入参数的位置由下一步确定。 步骤103、判断失效的前瞻线程输入参数对应的前瞻线程颗粒输入参数标识部分中的二进制位是否为1。如果二进制为1,则表明该前瞻线程颗粒使用了前瞻失效的输入参数,且该前瞻线程颗 粒必需重启。步骤104、标识上述前瞻线程颗粒为必需重启。以上对本一种前瞻线程颗粒重启优化方法,进行了详细的介绍。本文结合说明书附图和具体实施例进行阐述只是用于帮助理解本发明的方法和核心思想;同时,对于本领域的一般 技术人员,依据本发明的方法和思想,在具体实施方式
和应用范围上均会有改变之处,综上 所述,本说明书内容不应理解为对本发明的限制。
权利要求
1. 一种重启优化的前瞻线程颗粒,它由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N+1个依次排列的二进制位构成,输入参数标识部分用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。
2. —种根据权利要求1所述的重启优化的前瞻线程颗粒的重启优化方法,其具体操作步骤如 下A、 检测失效的前瞻线程输入参数;B、 査找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒;C、 将步骤B查找到的前瞻线程颗粒重启。上述步骤B査找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒的操作步骤如下Bl、判断前瞻线程颗粒是否査找完毕,如果是,则本步骤结束,否则转步骤B2;B2、判断所述的前瞻线程颗粒的输入参数标识部分的第1个二进制位是否为0,如果是, 则转步骤B1,否则转步骤B3;B3、判断失效的前瞻线程输入参数对应的前瞻线程颗粒的输入参数标识部分中的二进制 位是否为l,如果是,则标识前瞻线程颗粒为必需重启,否则转步骤B1。
全文摘要
本发明公开一种重启优化的前瞻线程颗粒及其重启优化方法,该前瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N+1个依次排列的二进制位构成,它用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。该重启优化方法操作步骤如下A.检测失效的前瞻线程输入参数;B.查找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒;C.将步骤B查找到的前瞻线程颗粒重启。本发明具有显著优点它能够迅速判断前瞻失效时必须重启的前瞻线程颗粒,降低线程重启代价。
文档编号G06F9/38GK101520724SQ20091004831
公开日2009年9月2日 申请日期2009年3月26日 优先权日2009年3月26日
发明者悦 吴, 唐立三, 磊 徐, 杨洪斌, 伟 陈, 雷超付 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1