Dynamic Memory Pool Tuning via Time-Series Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems face challenges in dynamically optimizing memory pool allocation sizes, leading to inefficiencies and increased costs due to improper memory provisioning and manual tuning efforts.

Innovation Solution

A system and method that utilize machine learned models to predict memory allocation requests and cell sizes based on historical time-series data, allowing for dynamic and adaptive provisioning of memory pool cell sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual memory pool tuning is performed, then memory allocation performance can be optimized for specific applications, but significant manual effort and time are required

Engineering Contradiction:
Improvememory allocation performanceVSAvoidmanual tuning effort
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables memory pool tuning to perform itself automatically by monitoring application memory usage patterns and self-adjusting pool parameters without human intervention. The memory management system serves itself by collecting performance data, analyzing usage patterns, and dynamically reconfiguring memory pools based on observed behavior

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops where memory usage data is collected from applications, analyzed to identify patterns and optimization opportunities, and used to adjust memory pool configurations. This closed-loop approach ensures that tuning decisions are based on actual performance data and usage patterns

Inventive Principle:
Principle #23Feedback

2Ease of operation

If a fixed memory pool cell size is provisioned, then memory management is simplified, but the system cannot adapt to varying execution requirements of the same application

Engineering Contradiction:
Improvememory management simplicityVSAvoidadaptation to execution variations
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system transitions from static fixed-size memory pools to dynamic memory pool configurations that can change during runtime. Memory pool cell sizes and allocation parameters are adjusted based on observed application behavior and usage patterns, allowing the system to adapt to varying execution requirements while maintaining ease of operation through automated management

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary monitoring and analysis of application memory usage patterns before making optimization adjustments. By collecting and analyzing usage data in advance, the system can proactively configure memory pools to match anticipated execution requirements rather than reacting to performance problems

Inventive Principle:
Principle #10Preliminary action

3Reliability

If memory pool size is increased to handle all possible allocation requests, then allocation requests can be satisfied, but wasted memory allocation increases

Engineering Contradiction:
Improveallocation request satisfactionVSAvoidwasted memory
Core Design Contradiction:
ReliabilityVSLoss of substance

Solution Approach 1:

The system dynamically changes memory pool parameters including cell size, total pool size, and allocation thresholds based on observed application behavior. By adjusting these parameters to match actual usage patterns rather than using fixed conservative estimates, the system ensures allocation requests are satisfied while minimizing wasted memory

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250028558A1Dynamically tuning memory pool using time series data
Publication Date: 2025.01.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250028558A1 patent drawing
  • US20250028558A1 patent drawing
  • US20250028558A1 patent drawing

AI summary

A system and method for improving the performance and reducing costs of a program by automatically provisioning and managing proper memory pool cell size adaptive to each executing application. By collecting time series of historical data on the memory pool usage of applications over a period of time, respective time-series prediction models are used to process the data to predict the allocation size for applications and in particular, a predicted number of allocations and a respective predicted allocation cell size. A clustering-based method is further applied to predict the allocation size for applications, using real time execution to do scaling, complement and interpolation. A method runs a further time-series prediction model trained to predict, based on the predicted memory cell size and one or more application profile features associated with the requesting application, a tuning parameter to refine the memory pool storage area size used for handling memory allocation requests.