Dynamic CPU Resource Allocation for Multi-Processor Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-performance servers with multiple CPUs, existing CPU resource allocation methods lead to imbalanced usage, resulting in some CPUs being overloaded while others are underutilized, causing performance degradation due to the inability to efficiently isolate and allocate resources among process groups.

Innovation Solution

A method and apparatus for dynamically allocating CPU resources by obtaining the demanded resources for each process group and idle resources for each CPU during a pre-configured time period, allowing for balanced allocation based on real-time demands and availability, thereby optimizing CPU usage across multiple process groups.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CPU resources are pinned to process groups for isolation, then CPU resource isolation is achieved, but CPU usage balance deteriorates causing some CPUs to be overloaded while others are underutilized

Engineering Contradiction:
ImproveCPU resource isolationVSAvoidCPU usage balance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic CPU resource allocation by continuously monitoring CPU usage metrics and adjusting process group to CPU bindings in real-time. The system transitions from static pinning to dynamic allocation, where the binding relationships are adjusted based on current workload conditions, thereby maintaining both isolation and balanced utilization across multiple CPUs

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback mechanism that collects CPU usage data from process groups, analyzes the distribution patterns, and automatically adjusts CPU allocations to achieve better balance. This closed-loop control ensures that isolation requirements are maintained while preventing overload conditions on specific CPUs

Inventive Principle:
Principle #23Feedback

2Productivity

If CPU resources are over-provisioned to increase usage rate, then CPU resource usage efficiency improves, but performance variance increases due to imbalanced workload distribution

Engineering Contradiction:
ImproveCPU usage rateVSAvoidperformance stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically adjusts CPU allocation parameters based on monitored workload characteristics and usage patterns. By changing allocation parameters in response to system state, the system maintains high CPU utilization while ensuring performance stability through balanced distribution of computational loads across available processors

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10089150B2Apparatus, device and method for allocating CPU resources
Publication Date: 2018.10.02 ALIBABA GROUP HOLDING LTD
  • US10089150B2 patent drawing
  • US10089150B2 patent drawing
  • US10089150B2 patent drawing

AI summary

A method of central processor unit (CPU) resource allocation for a multi-processor device includes the step of obtaining the amounts of demanded CPU resources for the process groups executing on the multi-processor device during a pre-configured time period. The method also includes the step of obtaining the amounts of idle CPU resources for the CPUs of the multi-processor device during the pre-configured time period. The method further includes the step of allocating the CPUs to the process groups based upon the obtained amounts of demanded CPU resources for the process groups and the obtained amounts of idle CPU resources for the CPUs.