[发明专利]控制前瞻线程颗粒重启优化的结构无效
申请号: | 200910048330.7 | 申请日: | 2009-03-26 |
公开(公告)号: | CN101526894A | 公开(公告)日: | 2009-09-09 |
发明(设计)人: | 杨洪斌;唐立三;吴悦;徐宝宇;徐磊 | 申请(专利权)人: | 上海大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海上大专利事务所(普通合伙) | 代理人: | 陆聪明 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制 前瞻 线程 颗粒 优化 结构 | ||
技术领域
本发明涉及的是计算机领域,提出了一种控制前瞻线程颗粒重启优化的结构。
背景技术
当前,单片多核处理器(Chip Multi-Processors,CMP)技术成为提高处理器性能的关键技术之一。单片多核技术通过在单片芯片上集成多个微处理器核心来提高处理器性能。利用CMP技术提高系统性能的关键是全面发挥多个微处理器核心的并行优势。发挥CMP并行优势的主要技术有并行编程技术和并行编译技术两种。其中,线程级并行(Thread-Level Parallel,TLP)和线程级前瞻(Thread-Level Speculative,TLS)技术属于并行编译技术,它们通过将串行程序划分为若干能够并行执行的线程来实现充分利用CMP多核资源的目的。线程并行层次较高,易于在源码级进行设计和实现,能够利用程序的语法和语义结构特征,处理器利用率由此得到了较大的提高,所以TLP技术并行引起了广泛的关注。
TLS技术通过推测变量值、循环次数等降低线程之间的相关性,提高其并行程度。当某个线程中使用的前瞻参数失效时,必须利用正确的参数重启该线程以确保整个程序执行的正确性。但重启某一线程执行的空间代价和时间代价都非常可观,并且如果重启的线程较多,那么导致并行线程的执行效率非常低,甚至低于其在单片单核处理器的性能。因此有必要进一步细化线程,减小线程粒度。当线程发生前瞻参数失效时,只重启该线程的若干必需部分即可,而不需重启整个线程。
发明内容
本发明要解决的上述技术问题是提供一种控制前瞻线程颗粒重启优化的结构,该结构能根据前瞻线程的输入参数在前瞻线程失效时对前瞻线程颗粒的影响来设计控制前瞻线程颗粒重启优化,进而利用该结构优化前瞻线程失效时的重启操作。
为了达到上述,本发明的控制前瞻线程颗粒重启优化的结构的技术方案:
上述控制前瞻线程颗粒重启优化的结构包括输入参数标识位组、执行部分、结果存储部分;输入参数标识位组用于标识所述前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储所述前瞻线程颗粒执行的结果。
上述的输入参数标识位组由N+1个依次排列的二进制位构成,该输入参数标识位组用于判断输入参数前瞻失效是否影响前瞻线程颗粒。
上述输入参数标识位组的第1个二进制位用于判断前瞻线程颗粒包含的输入参数是否是失效的前瞻线程的输入参数,如果输入参数标识位组的第1个二进制位为1,则前瞻线程颗粒的输入参数是失效的前瞻线程的输入参数,否则前瞻线程颗粒的输入参数不是前瞻线程的输入参数;其特征在于所述的输入参数标识位组剩余的二进制位依次对应于一个输入参数,如果输入参数标识位组从其中一个二进制位起为1,则前瞻线程颗粒使用了所述的二进制位对应的输入参数,且输入参数是前瞻线程的输入参数。
上述的输入参数标识位组从其中一个二进制位为1,并且二进制位对应的输入参数前瞻失效,则前瞻线程颗粒需要重启;否则前瞻线程颗粒不需要重启。
本发明的控制前瞻线程颗粒重启优化的结构与已有技术相比较,具有如下显而易见的突出实质性特点和显著优点:该结构能够用于失效的前瞻线程的重启,重启时能尽可能减少前瞻失效时的不必要的程序语句的执行,降低前瞻线程重启操作的时间开销和资源开销,降低失效的前瞻线程重启的代价。
附图说明
图1是本发明的用于重启优化的前瞻线程颗粒的结构示意图。
具体实施方式
本发明的一个优选实施例结合附图详述如下:本实施例所述方案的应用环境是面向多核处理器的线程级并行执行环境,本实施例不限定所述技术方案应用环境中多核处理器架构和线程划分方式。
下面结合说明书附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明有控制前瞻线程颗粒重启优化的结构包括输入参数标识位组、执行部分、结果存储部分;输入参数标识位组用于标识所述前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储所述前瞻线程颗粒执行的结果。
参照图1,标识101、标识102至标识103所示的输入参数标识位组,该输入参数标识位组由n+1个依次排列的二进制位构成,其中n表示输入参数的数目。
标识101所示,上述输入参数标识位组的第1个二进制位用于判断前瞻线程颗粒的输入参数是否是前瞻线程的输入参数,如果第1个二进制为1,则前瞻线程颗粒包含的输入参数是前瞻的;否则前瞻线程颗粒包含的输入参数不是前瞻的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910048330.7/2.html,转载请声明来源钻瓜专利网。