发明名称 Performance bottleneck identification tool
摘要 A computer program product for identifying bottlenecks includes a computer readable storage medium with stored computer readable program instructions. The computer readable program instructions, when executed, provide a data collector module, a mapper module, and an analyzer module that are collectively configured to read mapped data and configuration files, and identify, based upon the mapped data and the configuration files, an undesirable bottleneck condition that causes a computer program to run inefficiently. A method includes reading a configuration file that includes data regarding processor components, and collecting data from hardware activity counters based upon the configuration file. The method also includes mapping the collected data to corresponding sections of code of a computer program, reading the mapped data and the configuration file, and identifying, based upon the reading of the mapped data and the configuration file, an undesirable bottleneck condition that causes the processor to run the computer program inefficiently.
申请公布号 US9032375(B2) 申请公布日期 2015.05.12
申请号 US201113095792 申请日期 2011.04.27
申请人 International Business Machines Corporation 发明人 Kumar Prathiba;Ravindran Rajan;Sadasivam Satish K.;Valluri Madhavi G.
分类号 G06F9/30;G06F11/36;G06F11/34 主分类号 G06F9/30
代理机构 代理人 Josephs Damion
主权项 1. A method comprising: retrieving, by a computing device, a configuration file regarding a processor, including for each component of a plurality of components of the processor: that a total number of stalls due to the component is to be collected, and;that a number of each stall type of a plurality of stall types due to the component is to be collected; first-collecting, by the computing device, data from hardware activity counters of the processor in correspondence with the total number of stalls due to each component identified in the configuration file that is to be collected; mapping, by the computing device, the data collected from the hardware activity counters to corresponding sections of executable code of a computer program being executed by the processor, and mapping the corresponding sections of the executable code to corresponding sections of high-level source code of the computer program; from the mapped data and the configuration file, identifying, by the computing device, a bottleneck condition causing the computer program to run inefficiently and one or more sections of the executable code and of the high-level source code that caused the bottleneck condition; from the mapped data and the configuration file, identifying, by the computing device, a particular component of the processor at which the bottleneck condition occurred; after identifying the particular component, reporting, by the computing device, the total number of stalls due to the particular component of the processor; while the particular component is not identified at a desired level of granularity, second-collecting, by the computing device, additional data from the hardware activity counters in correspondence with the number of each stall type due to the particular component that is to be collected, wherein determining the desired level of granularity comprise determining if there is sufficient data to identify or pinpoint the bottleneck conditions at a lowest granularity based upon data from the configuration file that specifies breakdown possibility of a previous particular component; and after second-collecting the additional data, reporting, by the computing device, the number of each stall type due to the particular component of the processor, wherein the number of each stall type due to each component is not collected during first collecting, and the number of each stall type just due to the particular component at which the bottleneck condition occurred is collected during second collecting, such that the number of each stall type due to each other component at which the bottleneck condition did not occur is not collected during first collecting or during second collecting.
地址 Armonk NY US