运行时间检测报告制造技术

技术编号:11070769 阅读:85 留言:0更新日期:2015-02-25 10:28
本发明专利技术的实施例涉及运行时间检测报告。由处理器执行指令流。由该处理器捕获该执行中的指令流的运行时间检测信息。基于该捕获的运行时间检测信息来创建运行时间检测记录。检测在该处理器上的该执行中指令流的运行时间检测样本点。将报告群组存储在运行时间检测程序缓冲器中。该存储是基于该检测,并且该存储包括:确定该运行时间检测程序缓冲器的当前地址,该确定基于指令可存取的运行时间检测控制;并且基于该运行时间检测程序缓冲器的原始地址和该当前地址而将该报告群组存储至该运行时间检测程序缓冲器中,该报告群组包括该创建的运行时间检测记录。

【技术实现步骤摘要】
【国外来华专利技术】运行时间检测报告
本专利技术大体而言涉及计算环境内的处理,更具体地,涉及运行时间检测(run-timeinstrumentation)报告。
技术介绍
计算机处理器使用日益复杂的分支预测及指令高速缓存逻辑来执行事务(transaction)。这些程序已被引入以增加指令吞吐量,且因此增加处理性能。用于改进性能的逻辑的引入使得难以肯定地预测特定软件应用程序将如何在计算机处理器上执行。在软件开发过程期间,常常存在功能性与性能之间的平衡。软件在基于执行软件的底层硬件的一个或多个抽象层级处执行。当将硬件虚拟化时,额外抽象层被引入。随着性能增强逻辑及各种抽象层(layer)的引入,将难以透彻地理解当程序正在执行时在硬件层级(level)实际发生的事。在不具此信息的情况下,软件开发者将更抽象的方法(诸如,执行持续时间、存储器使用率、线程的数目等)用于最佳化软件应用程序。
技术实现思路
技术问题当硬件特定信息可用时,该信息通常是在事后被提供给开发者,且该信息是以聚集地、在高层级、和/或穿插着其他程序及操作系统的活动的方式提供,从而难以识别可能影响软件应用程序的效率及准确度的问题。对于问题的解决方案实施例包括用于运行时间检测报告的计算机程序产品、方法及系统。由处理器执行指令流。由该处理器捕获该执行中的指令流的运行时间检测信息。基于该捕获的运行时间检测信息来创建运行时间检测记录。检测在该处理器上的该执行中指令流的运行时间检测样本点。将报告群组存储在运行时间检测程序缓冲器中。该存储是基于该检测且该存储包括:确定该运行时间检测程序缓冲器的当前地址,该确定基于指令可存取的运行时间检测控制;并且基于该运行时间检测程序缓冲器的原始地址和该当前地址而将该报告群组存储至该运行时间检测程序缓冲器中,该报告群组包括该创建的运行时间检测记录。额外特征及优点是经由本专利技术的技术来实现。本专利技术的其他实施例及方面将在本文中予以详细描述且被视为所主张专利技术的一部分。为了更好地理解本专利技术的优点及特征,参看描述及附图。附图说明在说明书结尾处的权利要求中特定指出且清楚地主张了被视为本专利技术的主题。将根据结合随附图进行的以下详细描述显而易见本专利技术的前述及其他特征及优点,其中:图1A为描绘实施例中的示例主机计算机系统的图;图1B为描绘实施例中的示例模拟主机计算机系统的图;图1C为描绘实施例中的示例计算机系统的图;图2为描绘实施例中的示例计算机网络的图;图3为描绘实施例中的计算机系统的元件的图;图4A描绘实施例中的计算机系统的详细元件;图4B描绘实施例中的计算机系统的详细元件;图4C描绘实施例中的计算机系统的详细元件;图5描绘根据实施例的用于处理器的运行时间检测的系统的示意图;图6描绘实施例中的包括可由特权状态设置的控制的运行时间检测控制块(RICCB)的一部分。图7描绘实施例中的当半特权位(K)经设置为1时的RICCB控制块的一部分;图8描绘根据实施例的收集缓冲器;图9描绘根据实施例的报告群组;图10描绘报告群组中的开始记录的实施例;图11描绘报告群组中的时间戳记录的实施例;图12描绘报告群组中的发出记录的实施例;图13描绘报告群组中的中止记录的实施例;图14描绘报告群组中的调用记录的实施例;图15描绘报告群组中的填充记录的实施例;图16描绘报告群组中的指令记录的实施例;图17描绘根据实施例的用于运行时间检测报告的处理;以及图18说明根据实施例的计算机程序产品。具体实施方式本专利技术的实施例为用于受管理运行时间的基于硬件的运行时间检测设施。如本文中所使用,术语“受管理运行时间”指代封装状态且管理用以执行程序或应用程序(例如,虚拟机或“JVM”、操作系统、中间件等)的资源的环境。该运行时间检测设施的实施例使程序能够收集关于程序执行的信息,包括中央处理单元(CPU)数据。所收集信息允许该程序获取关于程序的洞察(insights),该信息是收集自该程序。该运行时间检测设施的实施例包括用于将事件(例如,采纳分支、寄存器值等)的序列收集于收集缓冲器中的硬件设施。该收集缓冲器(或含有最近记录的收集缓冲器的子集)的内容是在发生可程序化集合的样本触发事件时在应用程序的地址空间(例如,JVM的地址空间)中复制至程序缓冲器中,这些事件诸如(但不限于):以指令的形式的软件指示词(softwaredirective)被插入至指令流中;所执行指令的间隔完成,从上一样本过期时起的给定经过时间,和/或诸如观察到数据或指令高速缓存未命中的给定硬件事件存储在每一样本点处的数据被存储为相关记录的集合(在本文中也被称为报告群组)。报告群组经存储至程序缓冲器中,程序缓冲器的位置是根据与运行时间检测相关联的控制而确定。因此,作为报告群组存储在程序缓冲器中的检测数据可供程序用于后分析(或甚至用于在运行时间检测期间的积极分析)。动态编译器可利用运行时间信息(诸如,由本文中所描述的基于硬件的运行时间检测设施收集的运行时间信息)来执行在线反馈导向的最佳化(onlinefeedbackdirectedoptimization)。举例而言,关于重要执行路径、设置档值及优选分支方向的信息可由动态编译器使用以执行特殊化版本码、引导内嵌(in-lining)、对执行路径重新排序及将分支拉直的最佳化。本文中所描述的实施例不限于由编译器使用,且可以诸如(但不限于)用于引导其他受管理运行时间设施的多种方式使用。举例而言,数据高速缓存事件可用以帮助废弃项目收集器程序作出关于协同定位多个物件或使多个物件彼此远离的决策以获得优选数据局部性或避免假性共用问题。图1A描绘实施例中的主机计算机系统50的代表性组件。组件的其他配置也可在计算机系统中使用。代表性主机计算机系统50包含与主存储器(计算机存储器)2通信的一个或多个处理器1以及至存储器件11及网络10的用于与其他计算机或SAN等通信的I/O接口。处理器1符合具有架构化指令集及架构化功能性的架构。处理器1可具有用于将程序地址(虚拟地址)变换为存储器中的真实地址的动态地址转译(DAT)3。DAT3通常包括用于高速缓存转译的转译后备缓冲器(TLB)7,使得对计算机存储器2的块的稍后存取不需要延迟地址转译。通常,高速缓冲存储器9是用于计算机存储器2与处理器1之间。高速缓冲存储器9可为阶层式的,其具有可供一个以上CPU使用的大的高速缓冲存储器及介于大的高速缓冲存储器与每一CPU之间的较小、较快速(较低层级)的高速缓冲存储器。在一些实施例中,较低层级高速缓冲存储器经划分以为指令提取及数据存取提供单独的低层级高速缓冲存储器。在实施例中,由指令提取单元4经由高速缓冲存储器9从计算机存储器2提取指令。该指令在指令解码单元6中被解码且(在一些实施例中与其他指令一起)被分派至指令执行单元8。通常,使用若干指令执行单元8,例如算术执行单元、浮点执行单元及分支指令执行单元。该指令是由指令执行单元8执行,从而按需要从指令指定的寄存器或计算机存储器2存取操作数。如果将从计算机存储器2存取(载入或存储)操作数,则载入存储单元5通常在被执行的指令的控制下处置该存取。指令可在硬件电路中或以内部微代码(固件)形式执行或通过两者的组合执行。在图1B中,提供模拟主机计算机系统21,其模拟具有主机架构的主机计算机系统,诸如图本文档来自技高网...
运行时间检测报告

【技术保护点】
一种用于运行时间检测报告的计算机程序产品,该计算机程序产品包含:有形存储介质,其可由处理电路读取,并且存储供该处理电路执行以用于执行包含以下操作的方法的指令:由处理器执行指令流;由该处理器捕获该执行中的指令流的运行时间检测信息;基于该捕获的运行时间检测信息,创建运行时间检测记录;检测在该处理器上的该执行中指令流的运行时间检测样本点;以及将报告群组存储在运行时间检测程序缓冲器中,该存储基于检测运行时间检测样本点,该存储包含:确定该运行时间检测程序缓冲器的当前地址,该确定基于指令可存取的运行时间检测控制;以及基于该运行时间检测程序缓冲器的原始地址和该当前地址而将该报告群组存储至该运行时间检测程序缓冲器中,该报告群组包含该创建的运行时间检测记录。

【技术特征摘要】
【国外来华专利技术】2012.03.16 US 13/422,5521.一种用于运行时间检测报告的计算机实施方法,其特征在于,该方法包含:由处理器执行指令流;由该处理器捕获该执行中的指令流的运行时间检测信息;基于该捕获的运行时间检测信息,创建运行时间检测记录;检测在该处理器上的该执行中指令流的运行时间检测样本点;以及将报告群组存储在运行时间检测程序缓冲器中,该存储基于检测运行时间检测样本点,该存储包含:确定该运行时间检测程序缓冲器的当前地址,该确定基于指令可存取的运行时间检测控制;以及基于该运行时间检测程序缓冲器的原始地址和该当前地址而将该报告群组存储至该运行时间检测程序缓冲器中,该报告群组包含该创建的运行时间检测记录。2.如权利要求1的方法,其中该报告群组包括由该运行时间检测控制指定的预定数目个运行时间检测记录。3.如权利要求1的方法,其进一步包含在监督状态中执行程序以在该运行时间检测控制中设置该运行时间检测程序缓冲器的该原始地址或该运行时间检测程序缓冲器的该当前地址中的任一个。4.如权利要求3的方法,其中该程序包括载入运行时间检测控制(LRIC)指令及修改运行时间检测控制(MRIC)指令中的一个。5.如权利要求1的方法,其进一步包含在问题状态中执行程序以在该运行时间检测控制中设置该运行时间检测程序缓冲器的该原始地址,其中该程序包括修改运行时间检测控制(MRIC)指令。6.如权利要求1的方法,其中该运行时间检测控制指定该运行时间检测程序缓冲器中的每一报告群组中的记录的数目。7.如权利要求1的方法...

【专利技术属性】
技术研发人员:MS法雷尔小查尔斯W盖尼MM米特兰岑中龙BL史密斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1