Software Parameter Optimization via Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for optimizing software application executions on high-performance computing platforms require manual parameterization by skilled users, which is inefficient and not scalable for future exascale computers due to the complexity and heterogeneity of application behaviors.

Innovation Solution

A black-box mechanism that iteratively optimizes execution parameters by making performance measurements and using regression mechanisms to infer optimal values for input/output interfaces and configuration parameters, minimizing human intervention and enabling automation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual parameterization is used by skilled users, then optimization accuracy can be achieved, but human intervention complexity and time consumption increase significantly

Engineering Contradiction:
Improveparameter optimization accuracyVSAvoidhuman intervention time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-optimization by automatically analyzing application behavior patterns and determining optimal parameters without human intervention. The platform monitors execution metrics, identifies performance bottlenecks, and adjusts parameters autonomously, enabling the system to serve itself rather than requiring skilled users to manually tune each parameter.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where execution measurements are collected, analyzed, and used to adjust parameters iteratively. Performance metrics from previous executions feed into the optimization engine, which refines parameter settings based on observed outcomes, creating a closed-loop system that continuously improves without human input.

Inventive Principle:
Principle #23Feedback

2Extent of automation

If comprehensive understanding of application behavior is required for automation, then automation capability improves, but system complexity and knowledge requirements increase

Engineering Contradiction:
Improveparameter optimization automationVSAvoidsystem complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The optimization system is divided into modular components: behavior monitoring modules that collect execution data, analysis modules that process metrics, and parameter adjustment modules that apply optimizations. Each component handles specific aspects of the optimization process independently, reducing overall system complexity while maintaining high automation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The platform implements a universal optimization engine that can handle multiple application types and parameter categories through a single integrated system. Rather than requiring separate understanding mechanisms for different applications, the system uses generalizable behavior patterns and transfer learning to optimize diverse workloads with one unified approach.

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

3Manufacturing precision

If manual parameterization is used, then parameter accuracy can be maintained, but productivity and scalability decrease for large-scale systems

Engineering Contradiction:
Improveparameter configuration accuracyVSAvoidexecution optimization throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs preliminary analysis of application behavior during initial executions and pre-determines optimal parameter settings before actual workloads are processed. By preparing optimization configurations in advance based on behavioral patterns, the system maintains high parameter accuracy while enabling rapid execution without time-consuming manual tuning during production runs.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12051009B2Automatic and self-optimized determination of execution parameters of a software application on an information processing platform
Publication Date: 2024.07.30 BULL SA
  • US12051009B2 patent drawing
  • US12051009B2 patent drawing
  • US12051009B2 patent drawing

AI summary

The invention relates to a method for optimizing the execution parameters of a software application on an information processing platform, consisting in iteratively optimizing said parameters at each execution of said application, in which:for each execution (1) of said application, performance measurements are made (2) and stored (3), in association with the parameters used for said execution;at the start of each execution of said application, values are determined (4, 6) for a first subset of said parameters by inference (6) from the stored measurements corresponding to a subset of the executions corresponding to a second subset of said parameters.