[发明专利]通过对指令序列的近似监控的运行时代码并行化在审
申请号: | 201580076290.0 | 申请日: | 2015-12-09 |
公开(公告)号: | CN107250977A | 公开(公告)日: | 2017-10-13 |
发明(设计)人: | 诺姆·米兹拉希;阿尔贝托·曼德勒;莎伊·科伦;乔纳森·弗里德曼 | 申请(专利权)人: | 森蒂彼得塞米有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 凌齐文,郑霞 |
地址: | 以色列*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 指令 序列 近似 监控 运行 时代 并行 | ||
发明领域
本发明总体上涉及处理器设计,并具体地涉及用于运行时代码并行化的方法和系统。
发明背景
已经提出了用于在运行时动态地并行化软件代码的各种技术。例如,Akkary和Driscoll在1998年12月的第31届微体系结构年度国际研讨会的论文集“A Dynamic Multithreading Processor”中描述了实现单个程序的动态多线程执行的处理器架构,该文章通过引用并入本文。
Marcuellu等人在1998年的第12届国际超级计算会议的论文集“Speculative Multithreaded Processors”中描述了一种处理器微架构,该微架构通过不需要编译器或用户支持的控制推测技术来同时执行从单个程序获得的多个控制线程,该文章通过引用并入本文。
Marcuello和Gonzales在1999年的13届国际超级计算会议的论文集“Clustered Speculative Multithreaded Processors”中提出了在运行时从单线程应用中产生推测性线程的微架构,该文章通过引用并入本文。
在2000年的第14届并行与分布式处理国际研讨会的论文集“A Quantitative Assessment of Thread-Level Speculation Techniques”(其通过引用并入本文)中,Marcuello和Gonzales分析了不同线程推测技术的益处以及线程单元中的值预测、分支预测、线程初始化开销和连接的影响。
Ortiz-Arroyo和Lee在2003年的第16届并行与分布式计算系统的国际会议(PDCS'03)的论文集“Dynamic Simultaneous Multithreaded Architecture”中描述了被称为动态同时多线程(DSMT)的多线程架构,该多线程架构在同时多线程处理器核上执行来自单个程序的多个线程,该文章通过引用并入本文。
美国专利申请公开2014/0282601(其公开内容通过引用并入本文)描述了用于通过块组织的源视图数据结构的依赖性广播的方法。该方法包括使用全局前端来接收输入指令序列,并将指令分组以形成指令块。多个寄存器模板被用于通过用对应于指令块的块号填充寄存器模板来跟踪指令目的地和指令源,其中,对应于指令块的块号指示指令块之间的相互依赖关系。填充块组织的源视图数据结构,其中,源视图数据结构存储如由多个寄存器模板所记录的与指令块相对应的源。在分派指令块的一个块时,属于一个块的数字被广播到源视图数据结构中的与该块相关的列,并相应地标记该列。根据广播来更新剩余指令块的依赖性信息。
发明概述
本文描述的本发明的实施例提供了一种方法,其包括在执行程序代码的指令的处理器中,识别包含至少部分重复的一个或更多个指令段的代码区域。监控该区域中的指令,并为该区域构建所监控的指令的寄存器访问的近似规范。使用该规范来将对区域中的段的执行并行化。
在一些实施例中,识别区域包括选择在代码中具有公共起始点和公共结束点中的至少一个的多个段,并且构建近似规范包括构建相同的规范,以指定多个选定段中的寄存器访问。在实施例中,识别区域包括识别程序循环或函数。
在公开的实施例中,近似规范与由段中的指令遍历的流控制轨迹相关联。在另一个实施例中,近似规范与由段中的指令遍历的多个替代流控制轨迹相关联。
在示例实施例中,构建近似规范包括在规范中指示由指令访问的寄存器的标识,但不指示对寄存器的最后写入操作的位置。在另一个实施例中,构建近似规范包括:对于一个或更多个第一寄存器,指定对第一寄存器的相应最后写入操作在代码中的位置;以及对于一个或更多个第二寄存器,指定第二寄存器是否被写入,而不是对第二寄存器的最后写入操作的位置。在实施例中,第一寄存器包括被写入多达预定义的次数的寄存器,并且第二寄存器包括被写入多于预定义的次数的寄存器。
在又一个实施例中,构建近似规范包括基于嵌入在程序代码中的指示来选择至少第一寄存器和至少第二寄存器,对于至少第一寄存器,规范将是近似的,对于至少第二寄存器,规范将是精确的。在又一个实施例中,构建近似规范包括将被监控的段划分为节段,并且对于每个节段,指定在该节段中被写入并且未在随后的节段中写入的寄存器。在实施例中,构建近似规范包括将被监控的段划分为节段,并且使用两个或更多个硬件线程来监控该节段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于森蒂彼得塞米有限公司,未经森蒂彼得塞米有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580076290.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种评估准确的网络视频质量评估系统
- 下一篇:一种发酵罐