Dynamic Page Allocator Forking and Merging for Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current page allocation schemes in multi-core environments face scalability issues due to memory fragmentation and overhead in communication between page allocators, with global allocators minimizing fragmentation but deteriorating in scalability, and local allocators ensuring concurrency but experiencing page imbalances and fragmentation.

Innovation Solution

A system and method for dynamically changing page allocators by forking or merging them based on system state, using a coordinator to determine when to fork child allocators during high workload or low free memory conditions and merge when communication overhead or low workload occurs, allowing for adaptive page allocation between global and local schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a global page allocation scheme is used, then memory fragmentation is minimized, but scalability for page allocation requests deteriorates

Engineering Contradiction:
Improvememory fragmentationVSAvoidscalability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the global page allocator into multiple local page allocators, each managing a specific region or subset of pages. This segmentation allows parallel processing of allocation requests across different allocators, improving scalability while maintaining overall memory management coherence through a coordinator that monitors system state and orchestrates operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic page allocation system where the structure can adapt between global and local allocation modes based on system state. The coordinator monitors metrics such as free memory size, allocation request rates, and system load, dynamically switching between centralized global management and distributed local management to optimize both fragmentation control and scalability under different conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If a local page allocation scheme is used, then concurrency for page allocation requests is improved, but page fragmentation occurs among allocators

Engineering Contradiction:
ImproveconcurrencyVSAvoidpage fragmentation
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent introduces a coordinator as an intermediary component between local page allocators and the global memory management system. The coordinator mediates communication and coordination between allocators, monitoring system state and orchestrating operations to prevent fragmentation while maintaining the concurrency benefits of distributed allocation. It acts as a central coordination point that resolves conflicts and balances page distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple page allocators are used, then scalability is improved, but communication overhead between allocators increases

Engineering Contradiction:
ImprovescalabilityVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements self-service mechanisms where local page allocators autonomously manage their own page pools and allocation requests without requiring constant coordination. Each allocator independently processes allocation and deallocation operations within its scope, only communicating with the coordinator when system state changes require rebalancing or when global coordination is necessary, thereby minimizing communication overhead while maintaining scalability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2757475B1Method and system for dynamically changing page allocator
Publication Date: 2019.03.06 SAMSUNG ELECTRONICS CO LTD
  • EP2757475B1 patent drawingFigure 1
  • EP2757475B1 patent drawingFigure 2
  • EP2757475B1 patent drawingFigure 3

AI summary

A method and a system of dynamically changing a page allocator are provided. The method includes determining a state of a page allocation system; and forking a child page allocator from a parent page allocator, or merging a child page allocator into a parent page allocator, based on the determination.