控制前瞻线程颗粒重启优化的结构的制作方法

文档序号:6482444阅读:144来源:国知局
专利名称:控制前瞻线程颗粒重启优化的结构的制作方法
技术领域
本发明涉及的是计算机领域,提出了一种控制前瞻线程颗粒重启优化的结构。
背景技术
当前,单片多核处理器(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+l个依次排列的二进制位构成,其中n表示输入参数的数目。
标识101所示,上述输入参数标识位组的第1个二进制位用于判断前瞻线程颗粒的输入 参数是否是前瞻线程的输入参数,如果第1个二进制为1,则前瞻线程颗粒包含的输入参数 是前瞻的;否则前瞻线程颗粒包含的输入参数不是前瞻的。
标识102所示,上述输入参数标识位组的第2个二进制位,标识前瞻线程颗粒是否使用 了第2个二进制位对应的输入参数及该输入参数是否是前瞻线程的输入参数。如果上述第2 个二进制位为1,则表明前瞻线程颗粒使用了该输入参数,且该输入参数是前瞻线程的输入参数;否则表明前瞻线程颗粒没有使用该输入参数或者该输入参数不是前瞻线程的输入参数。 如果第2个二进制位为1,且该二进制位对应的输入参数的前瞻线程失效,则前瞻线程颗粒 需要重启;否则前瞻线程颗粒不需要重启。
标识103所示,上述输入参数标识位组的第n个二进制位,标识前瞻线程颗粒是否使用 了第n个二进制位对应的输入参数及该输入参数是否是前瞻线程的输入参数。如果上述第n 个二进制位为1,则表明前瞻线程颗粒使用了该输入参数,且该输入参数是前瞻线程的输入 参数;否则表明前瞻线程颗粒没有使用该输入参数或者该输入参数不是前瞻线程的输入参数。 如果第n个二进制位为1,且该二进制位对应的输入参数的前瞻线程失效,则前瞻线程颗粒 需要重启;否则前瞻线程颗粒不需要重启。
标识104所示,上述执行部分是存储上述前瞻线程颗粒的执行语句,即是按照前瞻线程 细化方法得出的前瞻线程颗粒所包含的前瞻线程的程序语句;
标识105所示,上述结果存储部分是用于存储前瞻线程颗粒的执行结果;如果前瞻线程 因为输入参数前瞻失效而重启,并且该前瞻线程颗粒不需重启,可以直接利用控制前瞻线程 颗粒重启优化的结构的前瞻线程颗粒结果存储部分的数据。
以上对本控制前瞻线程颗粒重启优化的结构,进行了详细的介绍。本文结合说明书附图和具 体实施例进行阐述只是用于帮助理解本发明的方法和核心思想;同时,对于本领域的一般技 术人员,依据本发明的方法和思想,在具体实施方式
和应用范围上均会有改变之处,综上所 述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种控制前瞻线程颗粒重启优化的结构,它包括输入参数标识位组、执行部分、结果存储部分;输入参数标识位组用于标识所述前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储所述前瞻线程颗粒执行的结果。
2. 根据权利要求1所述的控制前瞻线程颗粒重启优化的结构,其特征是上述的输入参数标 识位组由N + 1个依次排列的二进制位构成,该输入参数标识位组用于判断输入参数前瞻 失效是否影响前瞻线程颗粒。
全文摘要
本发明公开一种控制前瞻线程颗粒重启优化的结构,它包括输入参数标识位组、执行部分、结果存储部分,输入参数标识位组用于标识所述前瞻线程颗粒是否使用了所述输入参数标识位组对应的输入参数;执行部分用于存储所述前瞻线程颗粒的执行语句;结果存储部分用于存储所述前瞻线程颗粒执行的结果。上述的输入参数标识位组由N+1个依次排列的二进制位构成,该结构能够用于失效的前瞻线程的重启,重启时能尽可能减少前瞻失效时的不必要的程序语句的执行,降低前瞻线程重启操作的时间开销和资源开销,降低失效的前瞻线程重启的代价。
文档编号G06F9/38GK101526894SQ200910048330
公开日2009年9月9日 申请日期2009年3月26日 优先权日2009年3月26日
发明者悦 吴, 唐立三, 磊 徐, 徐宝宇, 杨洪斌 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1