[发明专利]同步硬件事件收集有效
申请号: | 201711292833.X | 申请日: | 2017-12-08 |
公开(公告)号: | CN108694109B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 托马斯·诺里;纳温·库马 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/36 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 周亚荣;安翔 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 同步 硬件 事件 收集 | ||
1.一种计算机实现的方法,该方法包括:
监视由第一处理器组件进行的程序代码的执行,所述第一处理器组件被配置成执行所述程序代码的至少第一部分;
监视由第二处理器组件进行的所述程序代码的执行,所述第二处理器组件被配置成执行所述程序代码的至少第二部分;
由计算系统基于以下来检测满足触发条件:
识别在至少所述程序代码的所述第一部分或者所述程序代码的所述第二部分中出现操作数,其中所述程序代码的每个部分包括表示计算步骤的多个代码序列并且所述操作数包括第一参数值,所述第一参数值指示所述多个代码序列中的用于发起同步跟踪事件的特定代码序列;
响应于检测到满足所述触发条件,由所述计算系统发起至少第一跟踪事件,所述至少第一跟踪事件生成跟踪数据,所述跟踪数据识别跨分布式处理器单元发生的相应硬件事件,所述分布式处理器单元至少包括所述第一处理器组件和所述第二处理器组件,并且对于所述相应硬件事件中的每个硬件事件,所述跟踪数据包括至少一个硬件事件时间戳;以及
由所述计算系统使用所述跟踪数据来生成关联的跟踪数据集,所述关联的跟踪数据集指示当满足所述触发条件时生成的所述相应硬件事件的至少按时间排序的序列。
2.根据权利要求1所述的方法,其中,所述第一跟踪事件是同步的跟踪事件,所述同步的跟踪事件生成识别跨所述分布式处理器单元发生的硬件事件的跟踪数据,所述跟踪数据还识别用于相应硬件事件的唯一跟踪标识符,以及其中,所述硬件事件包括多个同步的硬件事件,并且当两个硬件事件共享全局硬件事件时间戳时,所述两个硬件事件被同步化。
3.根据权利要求1所述的方法,其中,检测满足所述触发条件包括:
由所述计算系统检测:
i)所述操作数的所述第一参数值超过寄存器的第一界限值,或者
ii)由所述计算系统的时钟指示的当前时间超过寄存器的第一界限值;以及
响应于检测到满足所述触发条件,由所述计算系统发起生成跟踪数据的第二跟踪事件,其中,所述跟踪数据识别在跨所述分布式处理器单元发生的所述相应硬件事件之间共享的至少一个属性。
4.根据权利要求3所述的方法,进一步包括:
由所述计算系统进一步检测:
所述操作数的第二参数值超过所述寄存器的第二界限值,或者
由计算系统的所述时钟指示的所述当前时间超过所述寄存器的第二界限值;以及
响应于所述进一步检测,当所述操作数的所述第二参数值超过所述第二界限值时、或者当所述当前时间超过所述第二界限值时,由所述计算系统停止所述第二跟踪事件。
5.根据权利要求3所述的方法,其中:
所述操作数进一步包括:
指示所述分布式处理器单元的特定性能状态的全局控制参数;以及
所述寄存器的所述第一界限值包括以下至少一个:
由所述分布式处理器单元的全局时钟指示的特定时间值;以及
与所述全局时钟相关联的预定义时间窗口的特定时间值。
6.根据权利要求3所述的方法,其中:
所述操作数具有第一二进制数据结构,并且所述操作数的所述第一参数值对应于跟踪标记,
所述寄存器的所述第一界限值具有第二二进制数据结构,并且所述当前时间由全局时钟来指示,
以及其中,所述全局时钟由所述分布式处理器单元用于生成一个或多个硬件事件时间戳。
7.根据权利要求3所述的方法,进一步包括:
由所述计算系统的编译器将所述触发条件的所述操作数插入到由所述第一处理器组件执行的所述程序代码的至少所述第一部分中;以及
由所述计算系统的所述编译器将所述触发条件的至少一个预定义时间值插入到由所述第二处理器组件执行的所述程序代码的至少所述第二部分中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711292833.X/1.html,转载请声明来源钻瓜专利网。