Large Page Activity Detection for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face performance degradation due to inefficient management of large pages in virtual machines, leading to memory wastage and performance issues when physical memory is scarce, as they indiscriminately demote large pages without considering their activity levels.

Innovation Solution

A method to identify and classify the activity levels of large pages by tracking accesses to small pages within them, allowing for intelligent selection and decomposition of inactive large pages into small pages for memory reclamation, thereby optimizing memory usage and improving system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If large pages are used to cache mappings in TLB, then TLB miss rate decreases and performance increases, but physical memory waste increases when memory becomes scarce

Engineering Contradiction:
ImproveperformanceVSAvoidmemory waste
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The system dynamically changes the page size parameter from large to small based on activity level detection. When a large page is identified as inactive, its size parameter is changed to small page size, allowing the TLB to maintain large page performance for active pages while freeing memory from inactive pages.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic page size adjustment by monitoring access patterns and converting large pages to small pages when they become inactive. This dynamic adaptation allows the system to optimize between TLB performance and memory utilization based on real-time workload conditions.

Inventive Principle:
Principle #15Dynamics

2Loss of substance

If large pages are randomly selected for demotion to small pages, then memory pressure is reduced, but application performance may deteriorate due to unnecessary page splits

Engineering Contradiction:
Improvememory reclamationVSAvoidapplication performance
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The system uses access bit feedback from page table entries to determine whether to demote large pages. By continuously monitoring access patterns and using this feedback to guide demotion decisions, the system avoids splitting pages that are actively being accessed, thus preventing performance degradation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary activity level assessment by checking access bits before demoting large pages. This preliminary action ensures that only truly inactive pages are selected for demotion, preventing unnecessary page splits that would harm application performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9330015B2Identification of low-activity large memory pages
Publication Date: 2016.05.03 VMWARE INC
  • US9330015B2 patent drawing
  • US9330015B2 patent drawing
  • US9330015B2 patent drawing

AI summary

Large pages that may impede memory performance in computer systems are identified. In operation, mappings to selected large pages are temporarily demoted to mappings to small pages and accesses to these small pages are then tracked. For each selected large page, an activity level is determined based on the tracked accesses to the small pages included in the large page. By strategically selecting relatively low activity large pages for decomposition into small pages and subsequent memory reclamation while restoring the mappings to relatively high activity large pages, memory consumption is improved, while limiting performance impact attributable to using small pages.