发明名称 Autonomic hotspot profiling using paired performance sampling
摘要 A processor performance profiler is enabled to for identify specific instructions causing performance issues within a program being executed by a microprocessor through random sampling to find the worst-case offenders of a particular event type such as a cache miss or a branch mis-prediction. Tracking all instructions causing a particular event generates large data logs, creates performance penalties, and makes code analysis more difficult. However, by identifying and tracking the worst offenders within a random sample of events without having to hash all events results in smaller memory requirements for the performance profiler, lower performance impact while profiling, and decreased complexity to analyze the program to identify major performance issues, which, in turn, enables better optimization of the program in shorter developer time.
申请公布号 US9280438(B2) 申请公布日期 2016.03.08
申请号 US201314067212 申请日期 2013.10.30
申请人 International Business Machines Corporation 发明人 Indukuru Venkat Rajeev;Owen Daniel;Mericas Alexander Erik;Spannaus John Fred
分类号 G06F9/44;G06F9/45;G06F11/34;G06F9/38 主分类号 G06F9/44
代理机构 代理人 Frantz Robert H.;Kalaitzis Parashos
主权项 1. An automated method for identifying specific instructions causing performance degradation within a processing element while running a program using paired performance sampling comprising: pairing in microprocessor hardware a first performance counter and a second performance counter by configuring the first performance counter to count all events of a selected type or source, and configuring the second counter to count a subset of events within the selected type or source of events; upon a first detection of an event of the selected type or source, capturing by a processor an address value representing a storage location of an instruction instance causing the first detection; upon subsequent occurrences of events of the selected type or source: counting with a first performance counter in a microprocessor all events of the selected type or source;counting with a second performance counter in a microprocessor only events which are caused by instructions having addresses matching the captured address value; and responsive to the second performance counter reaching a second terminal value prior to or concurrently with the first performance counter reaching a first terminal value, posting an interrupt to an interrupt handler to notify a program that a significant source of the event has been found as represented by the currently captured address.
地址 Armonk NY US