Removal of asynchronous events in complex application performance analysis
    1.
    发明授权
    Removal of asynchronous events in complex application performance analysis 有权
    在复杂的应用程序性能分析中删除异步事件

    公开(公告)号:US08843898B2

    公开(公告)日:2014-09-23

    申请号:US13585320

    申请日:2012-08-14

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/443

    摘要: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.

    摘要翻译: 提供了一种用于从多个呼叫树数据结构中识别最小呼叫树数据结构的方法和装置。 利用该装置和方法,生成用于构建计算机程序的两个或多个执行的调用树数据结构。 该装置和方法执行“树最小化”操作,其中在计算机程序运行期间生成的两个或更多个调用树被移动,并且仅存在于每个树数据结构中的那些节点保持在最小化的树数据中 结构体。 此外,这些公共节点的最小值保持在最小化的树数据结构中。 以这种方式,从最小树数据结构中去除异步事件,并且分析可以集中在计算机程序的运行之间一致的计算机程序的那些区域。

    Autonomic test case feedback using hardware assistance for data coverage
    2.
    发明授权
    Autonomic test case feedback using hardware assistance for data coverage 有权
    使用硬件辅助进行数据覆盖的自动测试用例反馈

    公开(公告)号:US08171457B2

    公开(公告)日:2012-05-01

    申请号:US12185254

    申请日:2008-08-04

    IPC分类号: G06F9/44 G06F12/00

    摘要: Illustrative embodiments disclose presenting coverage data relating to data access occurring during execution of code. The coverage data containing data access indicators associated with memory locations is obtained. The data access indicators that have been set by a processor in the data processing system in response to access of the memory locations during execution of the code by the processor are identified to form set data access indicators. Each set instruction access indicator is associated with a portion of the memory locations allocated for the code. A presentation for coverage data is generated, wherein the set data access indicators are identified in the presentation.

    摘要翻译: 说明性实施例公开了呈现与执行代码期间发生的数据访问有关的覆盖数据。 获得包含与存储器位置相关联的数据访问指示符的覆盖数据。 由数据处理系统中的处理器响应于处理器执行代码期间的存储器位置的访问而设置的数据访问指示符被识别以形成设置数据访问指示符。 每个设置的指令访问指示符与为代码分配的存储器位置的一部分相关联。 生成用于覆盖数据的呈现,其中在呈现中识别所设置的数据访问指示符。

    Method and system for autonomic monitoring of semaphore operations in an application
    3.
    发明授权
    Method and system for autonomic monitoring of semaphore operations in an application 有权
    应用程序中信号量操作的自主监控方法和系统

    公开(公告)号:US08042102B2

    公开(公告)日:2011-10-18

    申请号:US12137430

    申请日:2008-06-11

    IPC分类号: G06F9/44

    摘要: A method, an apparatus, and a computer program product in a data processing system are presented for using hardware assistance for gathering performance information that significantly reduces the overhead in gathering such information. Performance indicators are associated with instructions or memory locations, and processing of the performance indicators enables counting of events associated with execution of those instructions or events associated with accesses to those memory locations. The performance information that has been dynamically gathered from the assisting hardware is available to the software application during runtime in order to autonomically affect the behavior of the software application, particularly to enhance its performance. For example, the counted events may be used to autonomically collecting statistical information about the ability of a software application to successfully acquire a semaphore.

    摘要翻译: 提出了一种数据处理系统中的方法,装置和计算机程序产品,用于使用硬件辅助来收集性能信息,这显着地减少了收集这些信息的开销。 性能指标与指令或存储器位置相关联,并且性能指示符的处理使得能够对与执行与那些存储器位置的访问相关联的那些指令或事件相关联的事件进行计数。 在运行期间,从辅助硬件动态收集的性能信息可用于软件应用程序,以便自主地影响软件应用程序的行为,特别是增强其性能。 例如,计数事件可用于自动收集有关软件应用程序成功获取信号量的能力的统计信息。

    Autonomic hardware assist for patching code
    4.
    发明授权
    Autonomic hardware assist for patching code 失效
    自动硬件辅助补丁代码

    公开(公告)号:US08782664B2

    公开(公告)日:2014-07-15

    申请号:US13347876

    申请日:2012-01-11

    IPC分类号: G06F3/00 G06F13/00

    摘要: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.

    摘要翻译: 硬件辅助自动修补代码。 本发明向新类型的元数据提供硬件微代码,以选择性地识别要修补的特定性能优化功能的指令。 本发明还提供了机器状态寄存器(MSR)中的新标志,以启用或禁用性能监视应用程序或进程来执行代码补丁功能。 如果启用代码补丁功能,应用程序或进程可以通过将元数据与所选指令相关联来在运行时修补代码。 元数据包括指向补丁代码块代码的指针。 程序代码可以自动修补而不修改原始代码。

    Determining and compensating for temporal overhead in trace record generation and processing
    5.
    发明授权
    Determining and compensating for temporal overhead in trace record generation and processing 失效
    确定和补偿跟踪记录生成和处理中的时间开销

    公开(公告)号:US06732357B1

    公开(公告)日:2004-05-04

    申请号:US09414345

    申请日:1999-10-07

    IPC分类号: G06F945

    摘要: A program is profiled with enablement of trace record generation during a first period of time and with disablement of trace record generation during a second period of time. The number of trace records output during the first period of time is determined, and a trace overhead calibration value is computed as an average time for writing the number of trace records output during the first period of time. The trace overhead calibration value may be stored for subsequent use in a profiling-related process in the data processing system. The trace overhead compensation value represents the amount of time required to generate a trace record, and the trace times retrieved from the trace records are adjusted to compensate for the amount of time required to generate those trace records.

    摘要翻译: 在第一个时间段内对一个程序进行分析,以实现跟踪记录生成,并在第二个时间段内禁用跟踪记录生成。 确定在第一时间段期间输出的跟踪记录的数量,并且计算跟踪开销校准值作为写入在第一时间段期间输出的跟踪记录数的平均时间。 可以存储跟踪开销校准值以用于随后在数据处理系统中的分析相关过程中使用。 跟踪开销补偿值表示生成跟踪记录所需的时间量,并且调整从跟踪记录检索的跟踪时间以补偿生成这些跟踪记录所需的时间量。

    Method and system for allocation of a persistence indicator for an object in an object-oriented environment
    6.
    发明授权
    Method and system for allocation of a persistence indicator for an object in an object-oriented environment 有权
    在面向对象环境中为对象分配持久性指示符的方法和系统

    公开(公告)号:US06457111B1

    公开(公告)日:2002-09-24

    申请号:US09460774

    申请日:1999-12-14

    IPC分类号: G06F1200

    摘要: A method and system are disclosed for operating an object-oriented environment within a computer system. The execution of the object-oriented environment is initiated. A first memory location is allocated in a memory area within the object-oriented environment for storing an object. A second memory location is allocated in the memory area with the allocation of the first memory location for storing a persistence indicator. The persistence indicator indicates a point during the execution of the object-oriented environment at which the allocation of the first memory location occurred. A total number of bytes of the memory area which had been allocated during the execution of the object-oriented environment when the allocation of the first memory location occurred is stored as the persistence indicator.

    摘要翻译: 公开了用于在计算机系统内操作面向对象的环境的方法和系统。 启动面向对象环境的执行。 第一存储器位置被分配在用于存储对象的面向对象环境内的存储器区域中。 第二存储器位置被分配在存储区域中,分配用于存储持久性指示符的第一存储器位置。 持久性指示符指示在执行第一存储器位置的分配的面向对象环境的执行期间的点。 当发生第一存储器位置的分配时,在执行面向对象环境期间已经分配的存储器区域的总字节数被存储为持久性指示符。

    System and method for tracing instructions in an information handling
system without changing the system source code
    7.
    发明授权
    System and method for tracing instructions in an information handling system without changing the system source code 失效
    在不改变系统源代码的情况下,在信息处理系统中跟踪指令的系统和方法

    公开(公告)号:US5938778A

    公开(公告)日:1999-08-17

    申请号:US967651

    申请日:1997-11-10

    IPC分类号: G06F11/34 G06F11/00

    CPC分类号: G06F11/3466

    摘要: The present invention is directed to a system and method for tracing operations in an information handling system without changing the operating system code. Certain machine registers are shadowed during critical machine state transitions (e.g., taking and returning from interrupts), so that the tracing program does not lose control of the system. The system is interrupted before each instruction is executed, and a tracing program determines if a change in program flow has occurred. If a change in program flow has occured, a record is written to a trace log. The record contains the number of consecutive instructions executed before the program flow change, along with a displacement field indicating the number of bytes from the end of the record to the beginning of the next record. Executed instructions are also embedded in the trace log, allowing for high compression ratios and less complex post-processing of the trace data.

    摘要翻译: 本发明涉及一种用于在不改变操作系统代码的情况下在信息处理系统中跟踪操作的系统和方法。 某些机器寄存器在关键的机器状态转换期间(例如从中断接收和返回)被遮蔽,使得跟踪程序不会失去对系统的控制。 系统在执行每条指令之前中断,跟踪程序确定程序流程是否发生变化。 如果程序流程发生变化,则会将记录写入跟踪日志。 该记录包含在程序流程更改之前执行的连续指令的数量,以及指示从记录结尾到下一记录开头的字节数的位移字段。 执行的指令也嵌入到跟踪日志中,允许高压缩率和较不复杂的后处理跟踪数据。

    Method and system for tracing profiling information using per thread metric variables with reused kernel threads
    8.
    发明授权
    Method and system for tracing profiling information using per thread metric variables with reused kernel threads 失效
    使用具有重用内核线程的每线程度量变量跟踪分析信息的方法和系统

    公开(公告)号:US07389497B1

    公开(公告)日:2008-06-17

    申请号:US09612350

    申请日:2000-07-06

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F11/3612

    摘要: A method and system for tracing profiling information using per thread metric variables with reused kernel threads is disclosed. In one embodiment kernel thread level metrics are stored by the operating system kernel. A profiler request metric information for the operating system kernel in response to an event. After the kernel thread level metrics are read by the operating system for a profiler, their values are reset to zero by the operating system kernel. The profiler then applies the metric values to base metric values to appropriate Java threads that are stored in nodes in a tree structure base on the type of event and whether or not the kernel thread has been reused. In another embodiment non-zero values of thread level metrics are entered on a liked list. In response to a request from a profiler, the operating system kernel reads each kernel thread's entry in the linked list and zeros each entry. The profiler can then update the intermediate full tree snapshots of profiling information with the collection of non-zero metric variables.

    摘要翻译: 公开了一种使用具有重用内核线程的每线程度量变量跟踪分析信息的方法和系统。 在一个实施例中,内核线程级度量由操作系统内核存储。 用于响应于事件的操作系统内核的分析器请求度量信息。 在操作系统为分析器读取内核线程级别度量之后,操作系统内核将其值重置为零。 分析器然后将度量值应用于基于度量值的适当的Java线程,这些Java线程存储在基于事件类型的树结构中的节点中,以及内核线程是否已被重用。 在另一个实施例中,在喜好的列表上输入非零值的线程级度量。 响应于分析器的请求,操作系统内核读取链接列表中的每个内核线程的条目,并将每个条目都为零。 然后,分析器可以使用非零度量变量的集合来更新分析信息的中间全树快照。

    Method and system for detecting and recovering from in trace data
    10.
    发明授权
    Method and system for detecting and recovering from in trace data 有权
    跟踪数据错误检测和恢复的方法和系统

    公开(公告)号:US06604210B1

    公开(公告)日:2003-08-05

    申请号:US09393083

    申请日:1999-09-09

    IPC分类号: G06F1100

    CPC分类号: G06F11/3636

    摘要: A method and system for detecting and recovering from errors in trace data is provided. The trace data records selected events for executing routines, and the routines corresponding to the events are represented as one or more nodes in a tree structure. The events may be entries and exits to executing methods. A trace record identifying a routine is read, and an error condition is detected in which the identified routine does not match a routine corresponding to a current node in the tree structure. The tree structure is searched for a node that corresponds to the identified routine. Performance statistics, such as execution time, are attributed to nodes in the tree structure. In response to a determination that the current node is a root node of the tree structure, then a new node for the identified routine is added to the tree structure as a child node of the root node and spliced into the tree at the root node.

    摘要翻译: 提供了一种用于检测和追踪跟踪数据错误的方法和系统。 跟踪数据记录用于执行例程的所选事件,并且与事件相对应的例程被表示为树结构中的一个或多个节点。 事件可能是执行方法的条目和出口。 读取识别例程的跟踪记录,并且检测到识别的例程与树结构中的当前节点相对应的例程不匹配的错误条件。 搜索树结构对应于所识别的例程的节点。 性能统计信息(如执行时间)归因于树结构中的节点。 响应于当前节点是树结构的根节点的确定,则将用于所识别的例程的新节点作为根节点的子节点添加到树结构中,并将其剪接到根节点处的树中。