Dynamic CPU and Memory Allocation Profiles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face inefficiencies in resource allocation, particularly in dynamic and unpredictable workloads, where resources are not utilized optimally due to fragmentation and the need for dedicated reservations, leading to reduced capacity for concurrent tasks.

Innovation Solution

A method and system for allocating CPU cores and memory resources by determining multiple allocation profiles and selecting the most efficient one based on calculated efficiency measures, such as memory and CPU usage, to optimize resource utilization without permanent reservations, allowing for flexible allocation and release of resources according to changing demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are permanently reserved for particular tasks, then task reliability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvetask reliabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation where the manager continuously monitors resource availability and task requirements, adjusting allocations in real-time rather than using static permanent reservations. This allows resources to be dynamically reassigned based on current system state, resolving the contradiction between reliability and utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where agents report resource usage and availability status to the manager, which then adjusts allocations accordingly. This closed-loop control ensures tasks receive necessary resources while maximizing overall utilization, addressing both reliability and efficiency concerns.

Inventive Principle:
Principle #23Feedback

2Productivity

If resources are dynamically allocated without permanent reservations, then resource utilization efficiency is improved, but task reliability deteriorates

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidtask reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The manager performs preliminary assessments of resource requirements and availability before allocating resources to tasks. By planning allocations in advance based on predicted needs and current state, the system ensures task reliability is maintained while still achieving high utilization efficiency through optimized resource distribution.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple allocation profiles are determined and evaluated, then resource allocation optimization is improved, but computational overhead increases

Engineering Contradiction:
Improveresource allocation optimizationVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system generates multiple allocation profiles but evaluates only the most promising ones based on preliminary criteria, rather than exhaustively analyzing all possible profiles. This partial evaluation approach achieves sufficient optimization while minimizing computational overhead and time loss.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10268513B2Computing resource allocation optimization
Publication Date: 2019.04.23 NICE LTD
  • US10268513B2 patent drawing
  • US10268513B2 patent drawing
  • US10268513B2 patent drawing

AI summary

A computing system may be configured to implement a plurality of agents each associated with a predetermined number of CPU cores and a predetermined amount of memory and to receive requests to perform tasks. A request may specify the number of CPU cores and amount of memory for performing the task. Allocation of resources may include determining multiple allocation profiles, each describing a possible allocation of cores and memory to the task from currently available CPU cores and memory associated with the agents. For each agent and for each of said allocation profiles, respective efficiency measures for memory usage and CPU usage may be calculated. An allocation profile may be selected using said calculated memory usage and CPU usage efficiency measures.