Optimizing Virtual Memory Reverse Mappings for Immutable Pages
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Measurement precision
If reverse mappings are continuously updated for all pages, then real-time mapping accuracy is maintained, but processing overhead increases
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.
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.
Data Source
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.


