Resource Manager for Multi-CPU Systems with Global Pool

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-CPU environments, existing resource management systems face inefficiencies due to varying CPU resource loads, leading to resource isolation and increased overheads, as local resource pools either lack resources or have excesses, affecting system performance and availability.

Innovation Solution

A resource manager that dynamically adjusts the global resource pool mode based on system load pressures, reallocating resources between global and local pools using a resource balancing algorithm to ensure optimal allocation and utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If resources are divided into local resource pools for each CPU, then locking overhead is reduced and allocation speed is improved, but resource utilization efficiency deteriorates due to resource isolation

Engineering Contradiction:
Improveresource allocation speedVSAvoidresource utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system divides resources into local resource pools (associated with individual CPUs) and a global resource pool. Local pools handle frequent allocations without locking overhead, while the global pool provides backup resources to resolve resource isolation and improve overall utilization efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The global resource pool acts as an intermediary between local resource pools and applications. When local pools exhaust their resources, the global pool provides additional resources, preventing resource isolation and improving system-wide utilization while maintaining the speed benefits of local pools.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a fixed quantity of resources is allocated to local resource pools, then allocation simplicity is improved, but adaptability to varying CPU load deteriorates

Engineering Contradiction:
Improveallocation simplicityVSAvoidadaptability to load variation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic resource allocation where the global resource pool can allocate resources to local pools based on varying CPU load conditions. This maintains simple fixed allocation for local pools while adding dynamic adaptability through the global pool's ability to respond to load changes.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The global resource pool serves multiple functions: it acts as a backup for local pools, provides resources during high load, and enables flexible redistribution. This multi-functionality allows the system to maintain simple local allocation while adapting to varying load conditions through the versatile global pool.

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

3Productivity

If resources are frequently reallocated between global and local pools, then resource utilization is improved, but system overhead increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system uses feedback mechanisms to monitor local pool resource status and CPU load conditions. Resources are reallocated between global and local pools based on this feedback, improving utilization while minimizing unnecessary reallocations that would increase system overhead.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3483730B1Resource allocation method and resource manager
Publication Date: 2021.07.28 HUAWEI TECH CO LTD
  • EP3483730B1 patent drawingFigure 1~2A
  • EP3483730B1 patent drawingFigure 2B~3
  • EP3483730B1 patent drawing

AI summary

A resource allocation method and a resource manager in a multi-CPU system are provided. The resource manager divides resources in the system into one global resource pool and at least two local resource pools, where the local resource pools are in a one-to-one correspondence with CPUs. The resource manager receives a resource application request sent by a first CPU; determines a current mode of the global resource pool; and when the global resource pool is in a centralized mode, allocates a resource to the first CPU from the global resource pool, where when the global resource pool is in the centralized mode, allocatable resources are in the global resource pool. When there is a shortage of resources, the resource manager gathers, in the global resource pool, allocatable resources in the system. In this way, when CPUs request resources, the resource manager can allocate resources all from the global resource pool, so as to improve system resource utilization efficiency.