Memory Pooling for Dynamic CPU Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management solutions lead to inefficient CPU and memory utilization due to fixed ratios between CPU processor capability and memory size, resulting in over-capacity and resource waste, with software-based solutions causing delays and inefficiencies through encapsulation protocols.

Innovation Solution

A method and apparatus for memory management that pools memories and CPUs, allowing for unconstrained configurations by creating a memory pool and CPU pool, with memory spaces allocated in a one-to-one correspondence, enabling dynamic adjustment based on usage thresholds to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If servers are added to increase memory size or CPU processing capability, then the overall capability of the system is improved, but the utilization of the overall available CPU processing capability or memory usage decreases due to over-capacity

Engineering Contradiction:
Improvememory sizeVSAvoidmemory utilization
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent creates a shared memory pool that serves multiple CPUs simultaneously, allowing the same memory resources to be accessed and utilized by different processing units. This multi-functional approach enables memory to serve universal purposes across the system rather than being dedicated to single CPU instances, thereby improving overall utilization while maintaining increased memory capacity

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

Solution Approach 2:

The patent merges individual memory spaces of multiple CPUs into a unified shared memory pool. By combining previously separate memory resources into a single pooled structure, the system achieves better resource consolidation and utilization, allowing any CPU to access any portion of the pooled memory based on demand rather than being constrained by fixed allocations

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If software-based solutions are used to manage and dispatch memory, then memory management capability is improved, but the CPU utilizes a relatively large amount of memory to process encapsulation protocols, causing delay and decrease in processing efficiency

Engineering Contradiction:
Improvememory management capabilityVSAvoidprocessing delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces software-based memory management mechanisms with hardware-level implementations. By utilizing memory management units (MMUs) and hardware descriptors, the system eliminates the need for software protocols to handle basic memory allocation and access operations, thereby reducing CPU overhead and processing delays while maintaining flexible memory management capabilities

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces hardware descriptors as intermediary structures that facilitate efficient memory access between CPUs and the shared memory pool. These descriptors act as hardware-level mediators that contain pre-computed address translation information, eliminating the need for software protocol processing and reducing the time required for memory access operations

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a fixed ratio between memory size and CPU processor capability is maintained, then system configuration simplicity is preserved, but the system cannot dynamically adjust to changing usage needs, resulting in resource waste

Engineering Contradiction:
Improveconfiguration simplicityVSAvoiddynamic adjustment capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory allocation within the shared memory pool, allowing memory assignments to change based on real-time CPU needs. The system monitors memory usage patterns and automatically reallocates memory spaces from underutilized CPUs to CPUs requiring additional capacity, enabling the configuration to adapt dynamically without requiring complex manual reconfiguration procedures

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables changes in memory allocation parameters through hardware-controlled mechanisms rather than fixed configurations. By utilizing programmable MMUs and descriptor tables, the system can modify memory mapping parameters, allocation ratios, and access permissions dynamically, allowing adaptation to changing workloads while maintaining relatively simple overall system architecture

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3224726B1Method and apparatus for memory management
Publication Date: 2021.05.05 ALIBABA GROUP HOLDING LTD
  • EP3224726B1 patent drawingFigure 1A
  • EP3224726B1 patent drawingFigure 1B
  • EP3224726B1 patent drawingFigure 2

AI summary

A method and apparatus of memory management are disclosed. Pooling of at least one memory to generate a memory pool, dividing the memory pool to generate at least one memory space, and allocating a respective memory space to a respective CPU in a one-to-one correspondence manner are performed. Further, the respective memory space allocated to the respective CPU is set as a pinned memory of the respective CPU. Additionally, setting unallocated memory space as a shared memory pool, obtaining a memory value that represents usage of the respective memory space by the respective CPU during operation, and determining if the memory value exceeds a preset threshold range are performed. Selecting, if the memory value exceeds the preset threshold range, additional memory space from the memory pool to allocate to the respective CPU or reallocating at least a portion of the respective memory space allocated to the CPU are performed.