首页> 中国专利> 重启优化的前瞻线程颗粒及其重启优化方法

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

摘要

本发明公开一种重启优化的前瞻线程颗粒及其重启优化方法,该前瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N+1个依次排列的二进制位构成,它用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。该重启优化方法操作步骤如下:A.检测失效的前瞻线程输入参数;B.查找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒;C.将步骤B查找到的前瞻线程颗粒重启。本发明具有显著优点:它能够迅速判断前瞻失效时必须重启的前瞻线程颗粒,降低线程重启代价。

著录项

  • 公开/公告号CN101520724A

    专利类型发明专利

  • 公开/公告日2009-09-02

    原文格式PDF

  • 申请/专利权人 上海大学;

    申请/专利号CN200910048313.3

  • 申请日2009-03-26

  • 分类号

  • 代理机构上海上大专利事务所(普通合伙);

  • 代理人陆聪明

  • 地址 200444 上海市宝山区上大路99号

  • 入库时间 2023-12-17 22:31:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-11

    未缴年费专利权终止 IPC(主分类):G06F9/38 授权公告日:20120502 终止日期:20150326 申请日:20090326

    专利权的终止

  • 2012-05-02

    授权

    授权

  • 2009-10-28

    实质审查的生效

    实质审查的生效

  • 2009-09-02

    公开

    公开

说明书

技术领域

本发明涉及的是计算机领域,提出了一种重启优化的前瞻线程颗粒及其重启优化方法。

背景技术

计算机技术的不断发展和应用领域的广泛深入都对处理器性能有了更高的要求。但是传统的提高处理器性能的手段,例如提高处理器晶体管的集成度、提高处理器时钟频率等受到了极大地限制。这些限制包括处理器工艺和时钟频率已接近极限,其提升变得越来越困难;随着时钟频率的增加,处理器功耗越来越大,并且散热问题也成为影响处理器性能稳定发挥的关键问题。

目前,高性能处理器问题上日益重要的线延迟、功耗以及设计和验证的复杂度等问题共同促进了片上多核处理器(Chip Multi-Processors,CMP)时代的来临。当前主流的商用多核处理器主要针对多线程应用,单个串行程序的加速很难受益于多核结构。如何充分利用高性能计算机的软、硬件资源,加速计算任务的快速完成;面对多年来积累的已验证正确且十分有效的串行应用程序,如何将其移植到超级计算机上高效运行,这些问题长期一直是高性能计算领域最为关心和头痛的问题。基于线程级前瞻(Thread-Level Speculative,TLS)的并行技术是解决这些问题的主要途径之一.前瞻技术推断得出的结果并不一定总是正确的,当前瞻技术推断失效时,必须重启失效的线程,但重启线程的时间开销和资源开销极大,甚至抵消了串行程序并行带来的收益,因此,优化线程重启称为串行程序并行化的关键技术之一,有必要进一步细化线程,减小线程粒度,当线程发生前瞻失效时,只要重启该线程的若干必需部分即可,而不需重启整个线程。

发明内容

本发明要解决的技术问题是提供一种重启优化的前瞻线程颗粒及其重启优化方法,该前瞻线程结构能根据前瞻线程的输入参数在前瞻线程失效时对前瞻线程颗粒的影响来设计控制前瞻线程颗粒重启优化,进而利用该结构优化前瞻线程失效时的重启操作。

该方法能根据前瞻线程的输入参数对前瞻线程颗粒的影响来设计前瞻线程颗粒重启优化控制结构,尽可能减少前瞻失效时的不必要的程序语句的执行,降低前瞻线程重启操作的时间开销和资源开销。

为了达到上述目的,本发明的重启优化的前瞻线程颗粒的技术方案是:

该前瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N+1个依次排列的二进制位构成,它用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。

根据上述的发明构思,本发明的重启优化的前瞻线程颗粒及其重启优化方法采用下述技术方案:

它是根据前瞻线程中各条程序语句对输入参数的使用情况,实现失效线程的重启优化,其具体操作步骤如下:

A、检测失效的前瞻线程输入参数;

B、查找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒;

C、将步骤B查找到的前瞻线程颗粒重启。

上述步骤B查找依赖于步骤A中失效的前瞻线程输入参数的前瞻线程颗粒的操作步骤如下:

B1、判断前瞻线程颗粒是否查找完毕,如果是,则本步骤结束,否则转步骤B2;

B2、判断所述的前瞻线程颗粒的输入参数标识部分的第1个二进制位是否为0,如果是,则转步骤B1,否则转步骤B3;

B3、判断失效的前瞻线程输入参数对应的前瞻线程颗粒的输入参数标识部分中的二进制位是否为1,如果是,则标识前瞻线程颗粒为必需重启,否则转步骤B1。

本发明与已有技术相比较,具有如下面显而易见的突出实质性特点和显著优点:本发明能够迅速判断前瞻失效时必须重启的前瞻线程颗粒,降低线程重启代价。

附图说明

图1是本发明的重启优化的前瞻线程颗粒的结构示意图;

图2是本发明中的查找必需重启的前瞻线程颗粒操作的流程图。

具体实施方式

本发明的一个优选实施例结合附图详述如下:本实施例所述方案的应用环境是面向多核处理器的前瞻线程并行执行环境,本实施例不限定所述技术方案应用环境中多核处理器架构和线程调度方式。

下面结合说明书附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,上述重启优化的前瞻线程颗粒由输入参数标识部分、执行部分、结果存储部分组成,输入参数标识部分由N+1个依次排列的二进制位构成,它用于标识前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分由前瞻线程中的若干程序语句构成,用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储前瞻线程颗粒的执行结果。

参照图2,示出了本发明中的直接查找必需重启的前瞻线程颗粒操作的流程图。

步骤101、判断前瞻线程颗粒是否查找完毕。

步骤102、判断所述的前瞻线程颗粒的输入参数标识部分的第1个二进制位是否为0。

如果第1个二进制位为0,则表明该前瞻线程颗粒没有使用前瞻的输入参数;如果为1,则表明该前瞻线程颗粒使用了前瞻的输入参数,但该前瞻的输入参数的位置由下一步确定。

步骤103、判断失效的前瞻线程输入参数对应的前瞻线程颗粒输入参数标识部分中的进制位是否为1。

如果二进制为1,则表明该前瞻线程颗粒使用了前瞻失效的输入参数,且该前瞻线程颗粒必需重启。

步骤104、标识上述前瞻线程颗粒为必需重启。

以上对本一种前瞻线程颗粒重启优化方法,进行了详细的介绍。本文结合说明书附图和具体实施例进行阐述只是用于帮助理解本发明的方法和核心思想;同时,对于本领域的一般技术人员,依据本发明的方法和思想,在具体实施方式和应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号