Dynamic Memory Threshold Allocation for Thread Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High concurrency of execution threads in shared memory systems often leads to memory pool shortages, causing performance degradation and job failures due to inefficient memory allocation and long memory locks, especially during peak usage hours.

Innovation Solution

A dynamically changing memory threshold is calculated using a trained machine learning model, allowing for proactive redistribution of shared memory among threads, with the model predicting optimal threshold values based on historical data and workload attributes to manage memory allocation effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared memory is allocated to multiple execution threads simultaneously, then system productivity increases, but memory pool shortage occurs causing performance degradation and job failures

Engineering Contradiction:
Improvesystem productivityVSAvoidjob failure rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic memory threshold adjustment based on system conditions. The memory threshold is not fixed but changes dynamically according to workload characteristics, allowing the system to adapt memory allocation to current demands. This resolves the contradiction by enabling high productivity when resources are available while preventing job failures when memory is constrained.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the memory allocation parameter (threshold) based on system state. By adjusting the memory threshold parameter dynamically, the system can accommodate more threads when memory is abundant while maintaining stability when memory is constrained, thus resolving the contradiction between productivity and reliability.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If memory threshold is increased to allow more threads, then concurrency improves, but memory exhaustion occurs leading to system instability

Engineering Contradiction:
Improvethread concurrencyVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent employs feedback mechanisms where the system monitors memory usage and thread behavior, then adjusts the memory threshold accordingly. This feedback loop allows the system to maintain high concurrency when conditions permit while preventing memory exhaustion, thus resolving the contradiction between adaptability and stability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The memory threshold is made dynamic rather than static, allowing the system to adjust concurrency limits based on real-time conditions. This dynamic adjustment enables the system to be adaptable to varying workloads while maintaining stability through controlled resource allocation.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If fixed memory allocation is used, then system simplicity is maintained, but performance degradation occurs during peak usage hours

Engineering Contradiction:
Improvememory management complexityVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent transitions from fixed to dynamic memory allocation, where the memory threshold adjusts based on system conditions. This dynamic approach improves productivity during peak usage by allocating more memory when available, while maintaining relatively simple management through automated threshold adjustment based on observable system parameters.

Inventive Principle:
Principle #15Dynamics

4Speed

If memory is allocated aggressively to new threads, then responsiveness improves, but existing threads experience memory locks and performance degradation

Engineering Contradiction:
Improvethread creation speedVSAvoidmemory lock duration
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent uses dynamic threshold adjustment to balance new thread allocation with existing thread performance. By adjusting the memory threshold based on current usage patterns, the system can quickly allocate memory to new threads when resources are available while preventing memory locks when the system is under heavy load, thus resolving the contradiction between responsiveness and time loss.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250004837A1Dynamic allocation of shared memory among multiple threads via use of a dynamically changing memory threshold
Publication Date: 2025.01.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250004837A1 patent drawing
  • US20250004837A1 patent drawing
  • US20250004837A1 patent drawing

AI summary

A method, computer program product, and computer system for dynamically allocating shared memory among multiple execution threads via use of a dynamically changing memory threshold. A trained machine learning model (MLM) is executed to calculate the memory threshold (MTH) using values of one or more input parameters as input to the MLM. After executing the MLM, a request is received from a requesting execution thread for a requested amount (MR) of the shared memory. In response to the request, the shared memory is distributed among one or more current execution threads currently using the shared memory and the requesting execution thread. The redistributing is performed as a function MTH, MR, MU, and MC, wherein MU is a total amount of the shared memory currently being used by the one or more current execution threads, and wherein MC is a memory capacity of the shared memory.