Optimizing Virtual Memory Reverse Mappings for Immutable Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, maintaining reverse mappings for guest physical pages incurs significant performance overhead, and there is a need to identify pages that do not require storage of these mappings to enhance efficiency.

Innovation Solution

Optimizing reverse mappings by identifying and removing mappings for immutable guest physical pages, such as zero pages designated as read-only, and preventing further additions to these mappings, thereby reducing the burden on the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If reverse mappings are maintained for all guest physical pages, then memory access tracking is complete and accurate, but system overhead and memory consumption increase significantly

Engineering Contradiction:
Improvememory access tracking accuracyVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by treating different guest physical pages differently based on their mutability characteristics. Immutable pages (those that never change content) are identified and excluded from reverse mapping maintenance, while mutable pages continue to have full reverse mapping support. This selective approach reduces overall system overhead while maintaining tracking accuracy for pages that actually change.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of reverse mapping maintenance from a binary state (maintained or not) to a dynamic state based on page mutability detection. By monitoring whether pages are modified over time and adjusting the reverse mapping maintenance strategy accordingly, the system optimizes between tracking completeness and overhead reduction.

Inventive Principle:
Principle #35Parameter changes

2Loss of information

If reverse mappings are stored for immutable pages like zero pages, then complete mapping information is available, but unnecessary memory and processing resources are consumed

Engineering Contradiction:
Improvemapping information completenessVSAvoidmemory consumption
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent discards reverse mapping entries for immutable pages after detecting that they remain unchanged over a monitoring period. By identifying pages that are never modified (such as zero pages or read-only code pages) and removing their reverse mappings, the system recovers memory resources while maintaining information completeness for mutable pages.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent extracts and separates immutable pages from the general reverse mapping maintenance process. By identifying and isolating pages with immutable characteristics, the system applies a different management strategy to these extracted pages, excluding them from reverse mapping updates while maintaining them for mutable pages.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If reverse mappings are continuously updated for all pages, then real-time mapping accuracy is maintained, but processing overhead increases

Engineering Contradiction:
Improvemapping accuracyVSAvoidsystem efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements periodic action by monitoring page mutability over a defined time period rather than continuously updating reverse mappings for all pages. The system observes pages during a monitoring window, identifies immutable pages, and then adjusts reverse mapping maintenance based on this periodic assessment, reducing processing overhead while maintaining accuracy when needed.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies partial action by updating reverse mappings only for mutable pages rather than all pages. By performing the reverse mapping update operation selectively on a subset of pages (those that actually change), the system maintains mapping accuracy for relevant pages while reducing overall processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7984264B2Maintaining reverse mappings in a virtualized computer system
Publication Date: 2011.07.19 VMWARE INC
  • US7984264B2 patent drawing
  • US7984264B2 patent drawing
  • US7984264B2 patent drawing

AI summary

For a virtual memory of a virtualized computer system in which a virtual page is mapped to a guest physical page which is backed by a machine page and in which a shadow page table entry directly maps the virtual page to the machine page, reverse mappings of guest physical pages are optimized by removing the reverse mappings of certain immutable guest physical pages. An immutable guest physical memory page is identified, and existing reverse mappings corresponding to the immutable guest physical page are removed. New reverse mappings corresponding to the identified immutable guest physical page are no longer added.