通过使用分布的令牌有效地重运行和重试冲突的推测线程的制作方法

文档序号:6521385阅读:131来源:国知局
通过使用分布的令牌有效地重运行和重试冲突的推测线程的制作方法
【专利摘要】一种通过使用分布的令牌有效地重运行和重试冲突的推测线程。公开了一种用于在对称多处理SMP环境中重运行推测线程的方法。在一个实施例中,这种方法包括在运行时间检测终止的线程和确定终止的线程是否是最旧的终止的线程。在终止的线程是最旧的终止的线程的情况下,方法对与最旧的终止的线程相关的绝对线程号设定用于分配的高优先级请求。方法还包括检测高优先级请求被设定,并且作为响应,修改最旧的终止的线程的本地分配令牌。修改提示最旧的终止的线程重试与其绝对线程号相关的工作单元。最旧的终止的线程随后通过更新后继线程的本地分配令牌启动后继线程的重试。还公开相应的装置和计算机程序产品。
【专利说明】通过使用分布的令牌有效地重运行和重试冲突的推测线程
【技术领域】
[0001]本发明涉及通过使用分布的令牌在SMP环境中有效地重运行和重试冲突的推测线程的装置和方法。
【背景技术】
[0002]称为线程级推测(speculation) (TLS)的推测执行(SE)需要依次开始以及依次线程提交(commit)。工作负载一般分成称为绝对线程号(ATN)的一系列的工作单元,这些工作单元依次被分配给一组的η个线程。完整回合的分配将工作单元分配给线程…、Tn_2、Tn_lt)通过依次分配线程并依次提交它们,保持程序语义。
[0003]当前SMP系统执行推测执行的方式是低效的并且难以调试。例如,当前SMP系统需要内核以跟踪大量的冲突的事件(例如,使得线程终止的事件)。当大量的冲突的事件达到阈值时,内核修改这里称为“分配令牌”的全局变量,以启动终止的线程的重试。在用户空间中操作的线程还需要更新分配令牌。作为结果,需要锁定以保护分配令牌。实现在内核与SMP运行时间之间共享的锁定使得设计低效且难以调试。例如,以下示出用于启动推
测的一系列的代码。在决定代码中也存在类似的锁定序列。
[0004]
【权利要求】
1.一种用于在对称多处理SMP环境中有效地重运行和重试冲突的推测线程的方法,该方法包括: 在运行时间检测终止的线程; 确定终止的线程是否是最旧的终止的线程; 在终止的线程是最旧的终止的线程的情况下,对分配给最旧的终止的线程的绝对线程号设定用于分配的高优先级请求; 检测高优先级请求被设定;和 响应于检测高优先级请求被设定,修改最旧的终止的线程的本地分配令牌,其中,修改提示最旧的终止的线程重试与其绝对线程号相关的工作单元。
2.根据权利要求1的方法,其中,检测高优先级请求被设定包含通过最旧的终止的线程以外的线程检测。
3.根据权利要求1的方法,其中,修改本地分配令牌包含将本地分配令牌设为与最旧的终止的线程的先前的本地分配令牌不同的值,其中,差异提示最旧的终止的线程重试与其绝对线程号相关的工作单元。
4.根据权利要求1的方法,还包括终止比最旧的终止的线程更新的所有还没有终止的线程。
5.根据权利要求4的方法,其中,终止比最旧的终止的线程更新的所有线程包含使比最旧的终止的线程更新的所有线程的推测标识符无效。
6.根据权利要求1的方法,其中,允许最旧的终止的线程重试包含向最旧的终止的线程分配新的推测标识符。
7.根据权利要求1的方法,其中,确定终止的线程是否是最旧的终止的线程包含确定终止的线程的本地提交令牌是否等于终止的线程的绝对线程号。
8.一种用于在对称多处理SMP环境中有效地重运行和重试冲突的推测线程的装置,该装置包括: 至少一个处理器; 与至少一个处理器耦合并存储使得至少一个处理器完成以下的过程的计算机指令的至少一个存储器装置: 在运行时间检测终止的线程; 确定终止的线程是否是最旧的终止的线程; 在终止的线程是最旧的终止的线程的情况下,对分配给最旧的终止的线程的绝对线程号设定用于分配的高优先级请求; 检测高优先级请求被设定;和 响应检测高优先级请求被设定,修改最旧的终止的线程的本地分配令牌,其中,修改提示最旧的终止的线程重 试与其绝对线程号相关的工作单元。
9.根据权利要求8的装置,其中,检测高优先级请求被设定包含通过最旧的终止的线程以外的线程检测。
10.根据权利要求8的装置,其中,修改本地分配令牌包含将本地分配令牌设为与最旧的终止的线程的先前的本地分配令牌不同的值,其中,差异提示最旧的终止的线程重试与其绝对线程号相关的工作单元。
11.根据权利要求8的装置,还包括使得至少一个处理器终止比最旧的终止的线程更新的所有还没有终止的线程的计算机指令。
12.根据权利要求11的装置,其中,终止比最旧的终止的线程更新的所有线程包含使比最旧的终止的线程更新的所有线程的推测标识符无效。
13.根据权利要求8的装置,其中,允许最旧的终止的线程重试包含向最旧的终止的线程分配新的推测标识符。
14.根据权利要求8的装置,其中,确定终止的线程是否是最旧的终止的线程包含确定终止的线程的本地提交令牌是否等于终止的线程的绝对线程号。
【文档编号】G06F9/46GK103914336SQ201310628253
【公开日】2014年7月9日 申请日期:2013年11月29日 优先权日:2012年12月28日
【发明者】M·欧玛克特, R·E·西尔维拉, M·G·斯图德莱, 王愷婷 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1