Program Analysis Memory Reduction via Selective Debug Data Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As application programs scale, the memory requirements for profiling tools increase, leading to insufficient memory and failed executions, particularly in high-performance computing environments like supercomputers where memory per node decreases relative to the number of cores.

Innovation Solution

A non-transitory computer-readable medium storing an analysis program that samples instruction addresses, identifies functions, rewrites mark information, and stores associated performance information in memory efficiently, reducing memory usage by selectively storing only necessary debug information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all debug information is stored in memory for performance analysis, then measurement precision is improved, but memory usage increases excessively

Engineering Contradiction:
Improveperformance analysis accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary debug information (first information and second information related to sampled instruction addresses) from the complete set of debug information and stores only these extracted portions in memory. This selective extraction maintains measurement precision for analyzed functions while reducing overall memory usage by excluding unrelated debug information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by differentiating between necessary and unnecessary debug information based on their relationship to sampled instruction addresses. Only debug information locally relevant to the sampled addresses (i.e., information that can explain the sampled instructions) is stored in memory, while other debug information remains unloaded, optimizing memory allocation based on local relevance.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If complete debug information is loaded into memory, then analysis accuracy is improved, but processing time increases

Engineering Contradiction:
Improveperformance analysis accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential debug information needed for performance analysis from the complete debug information set. By loading only this extracted subset into memory, the system reduces the time required for data loading and processing while maintaining sufficient accuracy for performance measurement through the selective inclusion of relevant first and second information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by loading a subset of debug information that is sufficient for performance analysis rather than loading all available debug information. This partial loading approach reduces processing time and memory usage while maintaining the necessary measurement precision through targeted selection of relevant information.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If detailed function information is stored for all functions, then measurement precision is improved, but memory usage increases

Engineering Contradiction:
Improvefunction performance measurement accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts detailed function information only for functions that contain sampled instruction addresses. By storing this extracted information in a structured format with mark information that links functions to sampled addresses, the system maintains measurement precision for analyzed functions while avoiding the memory overhead of storing detailed information for all functions in the program.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary identification of which functions contain sampled instruction addresses before storing detailed function information. This preliminary action allows the system to pre-select and store only the necessary function information in memory, maintaining measurement precision for relevant functions while reducing overall memory usage by excluding information for functions that do not contain sampled addresses.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11714650B2Non-transitory computer-readable medium, analysis device, and analysis method
Publication Date: 2023.08.01 FUJITSU LTD
  • US11714650B2 patent drawing
  • US11714650B2 patent drawing
  • US11714650B2 patent drawing

AI summary

The present disclosure relates to a non-transitory computer-readable recording medium storing an analysis program that causes a computer to execute a process. The process includes sampling an instruction address of one of instructions included in a program during execution of the program, identifying a first function that includes the sampled instruction address in an address range, rewriting mark information associated with the identified first function, identifying first information corresponding to the instruction address of the first function among a plurality of first information based on the rewritten mark information, identifying second information corresponding to the instruction address of the first function among a plurality of second information based on the rewritten mark information, storing the first information and the second information in a memory, and analyzing performance of the program based on the first information and the second information stored in the memory.