Dynamic CPU Allocation via Global Memory Usage Profiles

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in efficiently allocating CPU resources based on the dynamic usage patterns of shared global memory, leading to suboptimal performance and utilization.

Innovation Solution

A method and apparatus for dynamically allocating CPU cores to thread groups based on monitored feature usage profiles of shared global memory, utilizing a global memory monitor to adjust compute resources inversely proportional to memory usage, thereby optimizing resource allocation and reducing memory residency time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU resources are statically allocated to thread groups, then system stability is maintained, but resource utilization efficiency deteriorates under dynamic workload conditions

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoiddynamic allocation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic CPU allocation by continuously monitoring shared global memory usage metrics and adjusting CPU core assignments to thread groups in real-time based on current workload conditions, transforming the static allocation system into a dynamic one that adapts to changing demands

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms where performance metrics and memory usage data are continuously collected, analyzed, and used to adjust CPU allocation decisions, creating a closed-loop control system that optimizes resource distribution based on actual system state

Inventive Principle:
Principle #23Feedback

2Speed

If more CPU cores are allocated to a thread group, then processing speed improves, but shared global memory utilization deteriorates due to increased memory residency time

Engineering Contradiction:
Improveprocessing speedVSAvoidshared global memory utilization
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system changes the parameter of CPU core allocation dynamically based on monitored memory usage patterns, adjusting the number of CPU cores assigned to thread groups according to current workload characteristics and memory residency requirements

Inventive Principle:
Principle #35Parameter changes

3Productivity

If CPU resources are dynamically reallocated based on memory usage, then resource allocation efficiency improves, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidmonitoring and allocation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal resource management mechanism that monitors multiple thread groups and dynamically allocates CPU resources across different workloads based on a unified set of performance metrics and allocation policies

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12314765B2Method and apparatus for dynamic CPU allocation based on feature usage profiles of shared global memory
Publication Date: 2025.05.27 DELL PROD LP
  • US12314765B2 patent drawing
  • US12314765B2 patent drawing
  • US12314765B2 patent drawing

AI summary

Feature usage profiles of shared global memory are monitored and the profiles are used to allocate computational resources (CPU cores) between thread groups. A global memory monitor is used to monitor global memory metadata to determine the amount of space currently being consumed by a particular feature or service, and dynamically adjusts the amount of computational resources allocated to the thread group responsible for processing IO operations related to the feature or service. By exploiting an inversely proportional relationship between allocated computational resources and usage of shared global memory, it is possible to monitor feature usage profiles of shared global memory to dynamically allocate computational resources to thread groups. By looking at anomalies in usage of slots of shared global memory, and in a targeted way speeding up the processes working on such slots, it is possible to improve overall utilization of shared global memory.