Program Optimization via Intelligent Space Exploration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing program optimization methods are inefficient as they rely solely on performance goal monitoring, consuming significant resources and often result in optimizations that are optimal for only one characteristic or application, due to the impracticality of brute force searches and lack of precise analytical models.

Innovation Solution

The method involves collecting and utilizing additional information external to the performance result, such as compiler and runtime data, to generate two models that relate optimization parameters to this information and performance results, thereby smoothing the search space and improving the efficiency of finding optimal parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If a brute force space exploration process is used to identify optimal parameters, then the optimization may be thorough, but the process consumes considerable resources (time and costs)

Engineering Contradiction:
Improveoptimization qualityVSAvoidcompilation and execution time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by collecting information during the compilation and execution processes before the space exploration begins. This pre-collected information is then used to guide the space exploration, reducing the need for exhaustive parameter testing and thereby reducing the time and resources consumed while maintaining optimization quality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary information collection mechanism that gathers data during compilation and execution. This intermediary information serves as a mediator between the program characteristics and the space exploration process, enabling more efficient parameter identification without requiring exhaustive brute force search.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If optimization is performed with respect to one performance characteristic, then that characteristic is improved, but other performance characteristics may be compromised

Engineering Contradiction:
Improveexecution speedVSAvoidmulti-characteristic optimization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system implements multi-functionality by collecting diverse information during both compilation and execution phases. This collected information captures multiple performance characteristics simultaneously, enabling the space exploration to optimize for multiple characteristics rather than a single one, thereby achieving universal optimization across different performance metrics.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system transitions from single-dimension optimization to multi-dimensional optimization by incorporating information from both compilation and execution phases. This adds dimensions to the optimization space, allowing simultaneous consideration of multiple performance characteristics such as execution speed, memory usage, and power consumption.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Measurement precision

If comprehensive information collection is performed during compilation and execution, then the optimization guidance is improved, but the resource consumption increases

Engineering Contradiction:
Improveoptimization guidance accuracyVSAvoidcomputational resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by selectively collecting information that is most relevant to optimization during compilation and execution. Rather than collecting all possible data, the system focuses on key characteristics that provide the most guidance for parameter optimization, thereby improving accuracy without proportionally increasing resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11288046B2Methods and systems for program optimization utilizing intelligent space exploration
Publication Date: 2022.03.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11288046B2 patent drawing
  • US11288046B2 patent drawing
  • US11288046B2 patent drawing

AI summary

Embodiments for program optimization are provided. A program is compiled with respect to a performance result utilizing a set of parameters. Information associated with the compiling of the program is collected. The collected information is external to the performance result. The set of parameters is changed based on the collected information.