Memory Prediction Subsystem for Proactive Page Coalescing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer systems face inefficiencies in managing memory allocation due to varying memory requests from programs, leading to delays when programs wait for specific-sized physical pages to become available, as existing methods like coalescing physical pages are inefficient and result in program stalls.

Innovation Solution

A system and method that utilize a prediction subsystem to analyze memory usage patterns, determine anticipated needs, and instruct an allocation subsystem to coalesce freed physical pages into the required subtypes, anticipating and addressing memory deficiencies before they impact program execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If physical pages are coalesced on demand when programs request specific sizes, then memory allocation flexibility is improved, but program execution speed deteriorates due to stalls waiting for coalescing

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoidprogram execution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The prediction subsystem performs preliminary analysis of memory usage patterns and proactively coalesces physical pages into anticipated subtypes before programs actually request them. This transforms the reactive coalescing process into a proactive one, eliminating program stalls while maintaining allocation flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback loop where the prediction subsystem continuously monitors memory usage patterns, predicts future memory needs, and adjusts coalescing operations accordingly. This closed-loop control enables the system to adapt to changing program requirements while minimizing execution delays.

Inventive Principle:
Principle #23Feedback

2Device complexity

If memory is allocated in fixed physical pages, then memory management simplicity is improved, but memory usage efficiency deteriorates due to inability to meet varying program requirements

Engineering Contradiction:
Improvememory management simplicityVSAvoidmemory usage efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory management system is segmented into distinct functional components: the allocation subsystem that handles basic page allocation and the prediction subsystem that performs intelligent analysis and proactive coalescing. This segmentation allows each component to specialize, maintaining simplicity in allocation while adding intelligence for efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The prediction subsystem acts as an intermediary between the allocation subsystem and program requests. It analyzes memory patterns, predicts future needs, and guides the allocation subsystem to perform coalescing operations in advance, thereby improving efficiency without complicating the core allocation mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If coalescing operations are performed frequently to maintain memory availability, then memory availability is improved, but system performance deteriorates due to excessive coalescing overhead

Engineering Contradiction:
Improvememory availabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of performing coalescing operations continuously or on every request, the prediction subsystem applies partial action by coalescing only when and where it predicts future needs. This selective approach maintains sufficient memory availability while avoiding the overhead of excessive coalescing operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically changes the parameters of coalescing operations based on predicted memory patterns. Rather than using fixed coalescing thresholds or frequencies, the prediction subsystem adjusts coalescing behavior according to anticipated program requirements, optimizing the balance between availability and performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9367439B2Physical memory usage prediction
Publication Date: 2016.06.14 ORACLE INT CORP
  • US9367439B2 patent drawing
  • US9367439B2 patent drawing
  • US9367439B2 patent drawing

AI summary

In general, in one aspect, the invention relates to a system that includes memory and a prediction subsystem. The memory includes a first memgroup and a second memgroup, wherein the first memgroup comprises a first physical page and a second physical page, wherein the first physical page is a first subtype, and wherein the second physical page is a second subtype. The prediction subsystem is configured to obtain a status value indicating an amount of freed physical pages on the memory, store the status value in a sample buffer comprising a plurality of previous status values, determine, using the status value and the plurality of previous status values, a deficiency subtype state for the first subtype based on an anticipated need for the first subtype on the memory, and instruct, based on the determination, an allocation subsystem to coalesce the second physical page to the first subtype.