Memory Bullet Magazine Borrowing for Multi-Core Allocation Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory allocation systems face conflicts and inefficiencies when multiple CPU cores simultaneously request memory from a global pool, leading to heavy pressure and potential bottlenecks, resulting in wasted CPU resources and cache line ping-pong.

Innovation Solution

Implement a distributed model where cores can borrow and return magazines with address pointers, maintaining a balance by using a social matrix to manage magazine queues and follow specific borrowing and returning rules to avoid centralization issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a global pool is used for memory allocation among multiple CPU cores, then memory can be shared across cores, but allocation conflicts occur and the system cannot handle requests in parallel

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidallocation throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The global memory pool is segmented into multiple local memory pools, with each CPU core assigned its own local pool. This segmentation eliminates allocation conflicts by allowing each core to independently manage its local pool while maintaining overall system memory sharing capability through controlled borrowing between pools.

Inventive Principle:
Principle #1Segmentation

2Productivity

If each core has its own local memory pool, then allocation conflicts are avoided, but memory resource utilization becomes unbalanced under heavy load

Engineering Contradiction:
Improveallocation parallelismVSAvoidresource balance
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

A magazine borrowing mechanism is introduced as an intermediary between local memory pools. When a core's local pool exhausts its address pointers, it can borrow magazines (containing address pointers) from other cores' local pools. This mediator enables dynamic resource redistribution while maintaining the benefits of localized allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transitions from static local memory pools to dynamic pools that can adaptively borrow and return magazines based on real-time resource availability and demand. This dynamic adjustment allows the system to maintain balanced resource utilization under varying load conditions while preserving allocation parallelism.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If a global pool is used, then memory management is centralized, but this causes heavy pressure and bottlenecks during simultaneous requests

Engineering Contradiction:
Improvememory pool managementVSAvoidallocation system pressure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The centralized global pool management is segmented into distributed local pool management. Each CPU core independently manages its own local memory pool, eliminating the single-point bottleneck. The segmentation reduces system pressure by distributing management responsibilities across multiple independent units while maintaining overall coordination through the magazine borrowing mechanism.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12602315B2Method, device, and program product for collecting or shooting memory bullets
Publication Date: 2026.04.14 DELL PROD LP
  • US12602315B2 patent drawing
  • US12602315B2 patent drawing
  • US12602315B2 patent drawing

AI summary

Techniques collect or shoot memory bullets. Each magazine includes at least one address pointer for at least one memory bullet. Such techniques involve: obtaining memory bullets to be collected or shot; determining whether remaining address pointers in multiple magazines of a first core have a capacity to collect or shoot a memory bullet; and borrowing a magazine as needed from a second core in response to determining that the remaining address pointers in the first core have no capacity to collect or shoot a memory bullet. Such techniques can achieve a balance of magazines among multiple cores, thereby facilitating memory pool allocation.