Dynamic CPU Allocation via Global Memory Usage Profiles
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
3Productivity
If CPU resources are dynamically reallocated based on memory usage, then resource allocation efficiency improves, but system complexity increases
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
Data Source
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.


