Phase-Aware Application Profiling for Runtime Code Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current optimization techniques for applications with multiple phases result in suboptimal performance due to the use of a single profile, failing to account for phase-specific optimizations.

Innovation Solution

A computer-implemented method that monitors application execution, collects current profile information upon detecting phase changes, and patches the application to use specialized bodies optimized for previously collected profiles, ensuring phase-specific optimizations are applied.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single profile is used for optimizing applications with multiple phases, then the device complexity is reduced, but the execution time increases due to suboptimal performance

Engineering Contradiction:
Improveoptimization system complexityVSAvoidexecution time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the application execution into multiple distinct phases and creates separate profile information for each phase. The system divides the monolithic optimization approach into phase-specific optimizations, allowing each phase to be optimized independently with its own specialized body, thereby reducing execution time without requiring complete system redesign

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically detects phase changes during application execution and switches between different specialized bodies based on the current phase. This dynamic adaptation allows the system to maintain optimal performance across varying execution phases while managing complexity through runtime phase detection and specialization

Inventive Principle:
Principle #15Dynamics

2Loss of time

If phase-specific optimizations are implemented, then the execution time decreases, but the device complexity increases due to multiple profiles and specialized bodies

Engineering Contradiction:
Improveexecution timeVSAvoidoptimization system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-compiling specialized bodies for each detected phase before they are needed during execution. When a phase is detected, the corresponding specialized body is already prepared and can be immediately applied, reducing execution time while managing complexity through advance preparation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by creating distinct profile information for each phase, capturing phase-specific characteristics such as hot methods, field accesses, and invocation patterns. These parameter changes enable tailored optimizations for each phase without requiring complete system restructuring

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If profile information is collected for each phase change, then the manufacturing precision of optimizations is improved, but the use of energy increases due to continuous monitoring and collection

Engineering Contradiction:
Improveoptimization precisionVSAvoidprocessor energy consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system implements feedback by continuously monitoring application execution and collecting profile information when phase changes are detected. This feedback loop enables the system to adapt optimizations based on actual runtime behavior, improving optimization precision while managing energy consumption through event-driven collection triggered by phase changes

Inventive Principle:
Principle #23Feedback

4Productivity

If specialized bodies are created for each phase, then the productivity increases through optimized execution, but the loss of substance occurs due to increased memory usage for storing multiple specialized bodies

Engineering Contradiction:
Improveapplication throughputVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The system applies discarding and recovering by managing the lifecycle of specialized bodies based on phase detection. When phases are no longer active or when memory pressure occurs, less frequently used specialized bodies can be discarded or unloaded, freeing memory while maintaining productivity by keeping active phase optimizations readily available

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS20250383858A1Multi-Phase Application Profiling and Compilation
Publication Date: 2025.12.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250383858A1 patent drawing
  • US20250383858A1 patent drawing
  • US20250383858A1 patent drawing

AI summary

A computer implemented method manages application execution. A processor set monitors an execution of an application. The processor set collects current profile information for the application in response to detecting a phase change in the execution of the application. The processor set compares the current profile information with previously collected profile information for a number of existing profiles. The processor set patches the application to use an existing specialized body that is an optimized version of a general body that has been optimized for the previously collected profile information for an existing profile in the number of existing profiles in response to the current profile information matching the previously collected profile information for the existing profile.