Data Access Tracing for Software Bottleneck Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing tools for identifying performance bottlenecks in computer programs are inadequate, failing to provide insights into data structure performance and software engineering aspects, and are often hardware-specific, lacking comprehensive analysis of data movements.

Innovation Solution

Insert trace points at accessor functions of computer programs to record data structure accesses, analyze access metrics, and generate transformation strategies for refactoring based on priority rankings, using hailstone plots to visualize data structure performance and cache hit rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing tools dynamically analyze a program to profile performance at runtime, then execution duration and functional call stacks can be reported, but representation of inefficient repeated accesses to certain data structure classes is lacking and analysis pertinent to data movements is not provided

Engineering Contradiction:
Improvedata structure access analysis precisionVSAvoidtool complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the analysis by inserting trace points at specific accessor functions of data structures. Each trace point independently records access metrics for its associated data structure, allowing precise tracking of repeated accesses and data movements without requiring a monolithic complex tool architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces trace points as intermediary elements between the accessor functions and the analysis system. These trace points act as mediators that capture access metrics and pass them to the analysis component, enabling detailed data structure access analysis without directly modifying the core program logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If tools simulate hardware at various cache levels to report hit and miss rates, then cache performance can be measured, but the scope and size of data movements are not well represented

Engineering Contradiction:
Improvecache hit rate measurement precisionVSAvoiddata movement information loss
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent merges cache hit rate measurement with data movement tracking by having trace points record both cache performance metrics and data access patterns. This combination provides a comprehensive view that includes both cache efficiency and the scope/size of data movements, eliminating the information loss present in separate measurement approaches.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If trace points are inserted at accessor functions to record data structure accesses, then detailed access metrics and data movement patterns can be obtained, but program execution overhead increases

Engineering Contradiction:
Improvedata structure access tracking precisionVSAvoidprogram execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by inserting trace points only at specific accessor functions of data structures that are candidates for refactoring, rather than instrumenting every function in the program. This selective approach provides sufficient data for identifying performance bottlenecks while minimizing the overhead introduced by trace points.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If tools require special kernel permissions to access performance counters, then processor performance data can be collected, but ease of operation is reduced and portability across different hardware configurations is limited

Engineering Contradiction:
Improveprocessor performance measurement precisionVSAvoidtool accessibility and portability
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent enables the program to self-monitor its own performance by inserting trace points directly into the source code. This self-service approach eliminates the need for external tools to access performance counters through the operating system kernel, removing the requirement for special permissions and improving portability across different hardware configurations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12541446B2Method and apparatus to trace and visualize data movement
Publication Date: 2026.02.03 HUAWEI TECH CO LTD
  • US12541446B2 patent drawing
  • US12541446B2 patent drawing
  • US12541446B2 patent drawing

AI summary

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.