Method and apparatus to trace and visualize data movement
AssigneeHuawei Technologies Co., Ltd.
InventorsArthur Chun-Yin Leung, Ahmed E. Hassan, Boyuan Chen, Kenneth Chong Yin Tan
Life of this patent
Estimating the term…
Abstract
Methods and apparatus are provided for identifying performance bottlenecks in computer programs by tracking data accesses. In embodiments of the present disclosure, trace points are inserted at accessor functions of a computer program to record accesses to data structures of the computer program. The accesses are analyzed to determine patterns of access and to prioritize data structures for refactoring. In embodiments, the analysis is visualized using a hailstone plot wherein the data structures are ranked by priority. In some embodiments, transformation strategies may be generated based on the analysis to improve the performance of the computer program.
Claims20
A method implemented by a computing device including a processor coupled to a non-transitory processor-readable memory, comprising:
- receiving a computer program having a plurality of data structures having associated thereto one or more accessor functions each configured to interact with a respective data structure of the plurality of data structures, wherein the computer program further has a plurality of components calling the one or more accessor functions when the computer program is executed;
- inserting, at each of a set of the one or more accessor functions, a respective trace point, wherein each trace point is configured to, when the respective accessor function of the one or more accessor functions is called, report an access of the respective data structure of the plurality of data structures associated with the respective accessor function of the one or more accessor functions;
- executing the computer program to call the one or more accessor functions;
- recording, for each access of the respective data structure of the plurality of data structures reported by each trace point, a respective trace including a plurality of access metrics;
- analyzing, for each data structure of the plurality of data structures, the plurality of access metrics of traces corresponding to the respective data structure of the plurality of data structures to obtain a respective rank indicating a priority for refactoring the respective data structure of the plurality of data structures;
- and
- displaying, for each data structure of the plurality of data structures, the respective rank of the respective data structure of the plurality of data structures.
Dependencies are inferred from the claim text.