Memory Management via Page Table Entry Share Counts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple contexts sharing a host memory, existing memory management methods face challenges in accurately allocating memory due to outdated information and high resource consumption from back mapping, leading to sub-optimal decisions and inefficiencies in memory usage.

Innovation Solution

A memory management method that samples a subset of address spaces, computes metrics based on page sharing counts, and uses these metrics to inform host memory allocation decisions, including swapping out pages to secondary storage based on threshold values, to optimize memory allocation and reduce resource overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If back mapping is used to track page sharing counts, then memory allocation accuracy is improved, but resource consumption and system complexity increase

Engineering Contradiction:
Improvememory allocation accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a page table entry (PTE) as an intermediary structure that indirectly tracks page sharing information. Instead of implementing complex back mapping from physical pages to virtual pages, the PTE contains share count information that is updated during page table operations. This intermediary approach maintains measurement precision while reducing system complexity by avoiding the need for comprehensive back mapping structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses copying of page table entries to track sharing. When a page is shared between multiple contexts, the share count in the PTE is copied or incremented rather than maintaining separate tracking structures. This copying mechanism provides accurate memory allocation information without the overhead of complex back mapping, resolving the contradiction between precision and complexity.

Inventive Principle:
Principle #26Copying

2Reliability

If back mapping is implemented to track all page mappings, then memory management decisions are more accurate, but resource overhead increases

Engineering Contradiction:
Improvememory management decision accuracyVSAvoidresource overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential sharing information from the complete back mapping structure. Instead of maintaining full back mapping data that tracks every virtual-to-physical page relationship, the invention extracts and stores only the share count in the PTE. This extraction provides sufficient information for reliable memory management decisions while dramatically reducing resource overhead by eliminating redundant tracking data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by implementing only the necessary portion of back mapping functionality. Rather than completing full back mapping for all pages, the system updates share counts in PTEs selectively during page table operations. This partial implementation achieves reliable memory management accuracy without the excessive resource overhead of complete back mapping.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If complete address spaces are monitored for memory allocation, then allocation accuracy is improved, but computation time and resource usage increase

Engineering Contradiction:
Improveallocation accuracyVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent uses partial action by monitoring only the share count information in PTEs rather than completely scanning and analyzing entire address spaces. This selective monitoring of share counts provides accurate allocation information while significantly reducing computation time by avoiding exhaustive address space analysis.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The PTE structure serves itself by containing the share count information needed for allocation decisions within the existing page table infrastructure. When pages are mapped or unmapped, the share count is automatically updated as part of normal page table operations, eliminating the need for separate monitoring processes and reducing computation time while maintaining precision.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8166253B2Memory management system in a computer system with shared memory mappings
Publication Date: 2012.04.24 VMWARE INC
  • US8166253B2 patent drawing
  • US8166253B2 patent drawing
  • US8166253B2 patent drawing

AI summary

A memory management sub-system includes code executable by a processor fir performing selecting a plurality of contexts, and selecting a sample of the separately allocable portions of an address space for each of the contexts. For each of the selected allocable portions, a corresponding portion of the host memory to which the selected allocable portion is mapped is determined, and a count corresponding to a number of separately allocable portions of any context that are commonly mapped to the corresponding portion of the host memory. For each context, a metric is computed that is a function of the counts for that context. Host memory is allocated among the contexts at least in part based on their respective metrics.