[发明专利]空闲转换采样有效
申请号: | 201180023759.6 | 申请日: | 2011-05-11 |
公开(公告)号: | CN102893261A | 公开(公告)日: | 2013-01-23 |
发明(设计)人: | F·E·莱维恩;K·库珀尔;E·M·皮内达 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 张亚非;于静 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 空闲 转换 采样 | ||
技术领域
本发明一般涉及计算环境。更具体地,本公开涉及采样技术。
背景技术
在应用特征分析(profiling)工具中典型地使用基于时间的或基于硬件事件的采样技术来确定资源的特定使用。当前的方法是周期性地产生中断以获取样本。当采取中断时,收集并记录样本数据。样本数据的例子是中断的进程/线程、正执行的指令或可选地在样本时间正被访问的数据地址。此后聚集收集的数据,并生成按照地址、符号、进程等显示样本分布的报告。多种工具是基于该技术的。样本的完整执行上下文典型地没有被记录,且不在报告中提供。
已做出尝试,通过在样本时间获得调用栈而改进该技术。现有的工具集可试图直接遍历(walk)调用栈或调用单独的(采样器)线程上的函数来获得被中断线程的调用栈。试图在中断级遍历调用栈不理想,因为一些应用可具有已被页调出(page out)的栈。此外,栈遍历代码典型地执行存储器分配,这在中断级是不允许的。结果,当被请求时,可利用用户模式的采样线程来遍历调用栈。在多处理器系统上,请求单独的线程收集被中断线程的调用栈可允许被中断线程迁移到不同的处理器并向前进展,即,继续执行,同时收集调用栈。收集的调用栈不会反应线程在其被中断时的状态。
发明内容
在本发明的一个方面,提供了一种计算机程序产品。该计算机程序产品包括具有计算机可读程序的计算机可用介质。当在计算机上执行时,该计算机可读程序使得计算机基于事件生成样本。而且,当在计算机上执行时,该计算机可读程序使得计算机使用调度监视器识别在当前处理器上被调度的下一个调度的被监视线程。此外,当在计算机上执行时,该计算机可读程序使得计算机设置下一个调度的被监视线程的处理器亲合性(affinity),使得下一个调度的被监视线程仅在当前处理器上运行,而不能迁移到不同的处理器上。当在计算机上运行时,该计算机可读程序也使得计算机在下一个调度的被监视线程的处理器亲合性已被设置到当前处理器上后,使用在当前处理器上运行的采样器线程获取下一个调度的被监视线程调用栈。此外,当在计算机上执行时,该计算机可读程序使得计算机在已获得下一个调度的被监视线程调用栈后,恢复下一个调度的被监视线程的处理器亲合性。当在计算机上执行时,计算机可读程序使得计算机记录用于下一个调度的被监视线程的调用栈。
在本发明的另一方面,提供了一种过程。该过程基于事件产生样本。而且,该过程使用调度监视器识别被当前处理器调度的下一个调度的被监视线程。此外,该过程设置下一个调度的被监视线程的处理器亲合性,使得下一个调度的被监视线程仅在当前处理器上运行,而不能迁移到不同的处理器。该过程也在下一个调度的被监视线程的处理器亲合性已被设置到当前处理器上后,使用在当前处理器上运行的采样器线程获取下一个调度的被监视线程调用栈。此外,该过程在已获得下一个调度的被监视线程调用栈后,恢复下一个调度的被监视线程的处理器亲合性。该程也记录用于下一个调度的被监视线程的调用栈。
在本发明的又一方面,提供了一种系统。该系统包括基于事件生成样本的当前处理器。而且,该系统包括操作系统,其(ⅰ)使用调度监视器,识别由当前处理器调度的下一个调度的被监视线程,以及(ⅱ)设置下一个调度的被监视线程的处理器亲合性,使得下一个调度的被监视线程仅在当前处理器上运行,而不能迁移到不同的处理器。此外,该系统包括特征分析器,其(ⅰ)在下一个调度的被监视线程的处理器亲合性已被设置到当前处理器上后,使用被配置为仅在当前处理器上运行的采样器线程,获取下一个调度的被监视线程,(ⅱ)在已获得下一个调度的被监视线程调用栈后,恢复下一个调度的被监视线程的处理器亲合性,以及(Ⅲ)记录用于下一个调度的被监视线程的调用栈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180023759.6/2.html,转载请声明来源钻瓜专利网。