Application Phase Differentiation for Performance Data Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing applications face challenges in efficiently processing large volumes of performance data, which can overwhelm systems and negatively impact performance due to the overhead of traditional profiling methods, making it difficult for developers to extract valuable insights for optimization.

Innovation Solution

The system employs application phase differentiation using deterministic algorithms and machine learning techniques to identify and analyze performance phases, such as CPU-bound, memory-latency bound, and I/O bandwidth bound phases, aggregating and weighting data to provide relative performance insights, enabling better resource allocation and prediction across different computing environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional performance profiling tools are used to collect comprehensive performance data, then measurement precision is improved, but device complexity increases and productivity decreases due to overwhelming data volume and processing overhead

Engineering Contradiction:
Improveperformance data collection completenessVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the application execution into distinct phases (startup, steady-state, shutdown) and collects performance data specific to each phase separately. This segmentation allows the system to focus on collecting meaningful performance data during critical phases while reducing overall data volume and processing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and removes unnecessary performance data points that do not contribute to meaningful insights. By filtering out redundant data and focusing only on critical performance metrics during key execution phases, the system reduces data overhead while maintaining measurement precision.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If performance monitoring is conducted at high frequency with multiple counters, then measurement precision is improved, but productivity decreases due to significant performance overhead

Engineering Contradiction:
Improveperformance data granularityVSAvoidapplication execution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements periodic performance monitoring that adapts the sampling frequency based on the application execution phase. During startup and shutdown phases, monitoring occurs at specific intervals, while during steady-state execution, monitoring frequency is adjusted to balance precision requirements with performance overhead constraints.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies partial monitoring by selecting only the most critical performance counters and phases for detailed analysis. Rather than monitoring all possible metrics continuously, the system focuses on essential performance indicators during key execution phases, reducing overhead while maintaining sufficient measurement precision.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If comprehensive performance data is collected across all application phases, then information completeness is improved, but loss of time increases due to difficulty in sorting and analyzing large data volumes

Engineering Contradiction:
Improveperformance insight completenessVSAvoiddata analysis time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent segments performance data collection by application phase (startup, steady-state, shutdown), organizing data in a structured manner that facilitates efficient analysis. This segmentation allows developers to quickly locate and analyze performance issues in specific phases without sifting through unrelated data from other phases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and retains only the most relevant performance data points from each phase, filtering out redundant information. This extraction process maintains comprehensive coverage of critical performance aspects while reducing the total data volume that requires analysis, thereby minimizing time loss.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If performance monitoring overhead is reduced by increasing sampling interval, then productivity is improved, but measurement precision decreases due to insufficient data points

Engineering Contradiction:
Improveperformance monitoring efficiencyVSAvoidstatistical significance
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements adaptive periodic sampling that adjusts the monitoring interval based on the application execution phase and performance characteristics. During phases requiring higher precision (such as startup where performance characteristics are being established), sampling frequency increases. During stable phases, the interval increases to reduce overhead, maintaining productivity while preserving measurement precision when needed.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11714739B2Job performance breakdown
Publication Date: 2023.08.01 ADVANCED MICRO DEVICES INC
  • US11714739B2 patent drawing
  • US11714739B2 patent drawing
  • US11714739B2 patent drawing

AI summary

A system and method for processing application performance using application phase differentiation and detection is disclosed. Phase detection may be accomplished in a number of different ways, including by using a deterministic algorithm that looks for changes in the computing resource utilization patterns (as detected in the performance data collected). Machine learning (ML) and neural networks (e.g. sparse auto encoder SAE) may also be used. Performance data is aggregated according to phase and stored in a database along with additional application and computing system information. This database may then be used to find similar applications for performance prediction.