IT System Parameter Auto-Tuning via Bayesian Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern IT systems with multiple layers and hundreds of adjustable parameters face challenges in optimizing performance due to the complexity of predicting nonlinear effects and high interdependence between parameters, leading to inefficient manual tuning and missed performance or cost improvements.

Innovation Solution

A method and apparatus leveraging machine learning techniques and automatic performance analysis to automatically suggest optimal configurations for IT systems, using Bayesian Optimization with Gaussian Processes to select and evaluate parameter configurations, while ensuring safety and efficiency by avoiding degraded performance and noise.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual tuning of parameters is performed, then performance optimization may be achieved, but the complexity and time required becomes prohibitive due to hundreds of parameters across multiple layers

Engineering Contradiction:
Improveperformance optimizationVSAvoidtuning time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs self-tuning by automatically selecting and adjusting parameters based on workload characteristics and performance feedback, eliminating the need for manual intervention. The auto-tuner continuously monitors system performance and autonomously optimizes parameters across multiple layers including JVM, OS, and application settings.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes parameters based on detected workload patterns and performance metrics. The auto-tuner modifies configuration parameters such as memory allocation, thread pool sizes, and caching strategies in response to changing system conditions and workload characteristics.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If all parameters are tuned to achieve optimal performance, then system performance improves, but the complexity of managing and predicting parameter interactions increases significantly

Engineering Contradiction:
Improvesystem performanceVSAvoidparameter management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments parameters into distinct layers (JVM layer, OS layer, application layer) and handles them separately. The auto-tuner focuses on tuning parameters at each layer independently based on their specific impact on performance, reducing the complexity of managing all parameters simultaneously while maintaining overall system optimization.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If default settings are used for all parameters, then system deployment becomes simple and fast, but significant performance improvements are left on the table

Engineering Contradiction:
Improvesystem deployment simplicityVSAvoidsystem performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary analysis of workload characteristics before tuning parameters. The auto-tuner pre-configures optimal parameter settings based on detected workload patterns, allowing the system to achieve near-optimal performance automatically without requiring manual preconfiguration or complex deployment procedures.

Inventive Principle:
Principle #10Preliminary action

4Manufacturing precision

If extensive parameter tuning is performed to achieve optimal configuration, then performance improves, but the resources and time required for tuning increase

Engineering Contradiction:
Improveconfiguration optimizationVSAvoidtuning resource consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial tuning by focusing only on the most impactful parameters for each specific workload type. The auto-tuner identifies and tunes only the critical parameters that have the greatest influence on performance for the detected workload, rather than exhaustively tuning all parameters, thereby reducing resource consumption while maintaining effective optimization.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11755451B2Method and apparatus for tuning adjustable parameters in computing environment
Publication Date: 2023.09.12 AKAMAS SPA
  • US11755451B2 patent drawing
  • US11755451B2 patent drawing
  • US11755451B2 patent drawing

AI summary

A computer-implemented method is carried out on an IT framework and a relative apparatus including: an orchestrator module; an optimizer module; a configurator module; a load generator module; and a telemetry module. The method includes: identifying tunable parameters representing a candidate configuration for a System Under Test (SUT), and applying the candidate configuration to the SUT using the configurator module; performance testing the SUT to determine a performance indicator; supplying performance metrics to the optimizer module's machine learning model to generate an optimized candidate configuration. The model provides as output, in correspondence of a candidate set of parameters, an expected value of the performance indicator and a prediction uncertainty thereof, used by the optimizer module to build an Acquisition Function used to derive a candidate configuration and by the load generator module to build the test workload. The test workload is computed through the machine learning model.