Genetic Algorithm Run Parameter Optimization for HPC Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for optimizing run time on high performance computing platforms require extensive human intervention and manual parameter setting, which is time-consuming and often beyond the expertise of users, especially as these systems grow in complexity and scale towards exascale computing.

Innovation Solution

Implementing a 'black box' mechanism using a genetic optimization algorithm that iteratively optimizes run parameters by selecting, recombining, and randomly mutating parameter sets, allowing for automated optimization with minimal human intervention and adapting to the stochastic nature of high performance applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual parameter setting is used, then optimization accuracy can be achieved, but human intervention time and complexity increase significantly

Engineering Contradiction:
Improveoptimization accuracyVSAvoidhuman intervention time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs self-optimization by automatically selecting and adjusting run parameters based on historical execution data and genetic algorithms, eliminating the need for manual human intervention while maintaining optimization accuracy

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system stores associations between parameter sets and run times to create a history, using this feedback loop to iteratively improve parameter selection and achieve optimal performance automatically

Inventive Principle:
Principle #23Feedback

2Productivity

If extensive parameter optimization is performed, then run time performance improves, but the complexity of parameter setting increases

Engineering Contradiction:
Improverun time performanceVSAvoidparameter setting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The genetic algorithm automatically explores the parameter space and selects optimal configurations without requiring user expertise or manual intervention, simplifying the interface while maintaining high performance

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts run parameters through genetic algorithms and iterative optimization, automatically navigating complex parameter spaces to find optimal configurations for different workloads

Inventive Principle:
Principle #35Parameter changes

3Extent of automation

If automated optimization is implemented, then human intervention is reduced, but the system requires deep understanding of application behavior

Engineering Contradiction:
Improveautomation levelVSAvoidsystem complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system uses feedback from historical execution data to automatically learn and adapt to application behavior patterns, reducing the need for pre-programmed knowledge while maintaining high automation levels

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system collects and stores execution history data in advance, building a knowledge base that enables automated optimization without requiring deep pre-configured understanding of specific applications

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12008479B2Automatic determination of the run parameters for a software application on an information processing platform by genetic algorithm and enhanced noise management
Publication Date: 2024.06.11 BULL SA
  • US12008479B2 patent drawing

AI summary

A method for optimizing the run parameters of a software application on an information processing platform, consisting of iteratively optimizing said parameters on each execution of said application, wherein, for each execution of said application (11),a set of said parameters is determined and a run time of said application with said parameters is determined, and an association between said set and said run time is stored in order to create a history (25); and whereinsaid set is determined by implementing a genetic optimization algorithm comprising a step (21) consisting of selecting two sets of parameters from said history; a step (22) consisting of creating a new set of parameters by recombining said two sets of parameters; and a step (23) of random mutation of said new set of parameters.