Marking Page Table Entries for Virtual Machine Memory Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments with virtualization technology, the latency for rebuilding translation look-aside buffer (TLB) entries increases when memory backing address translation tables is paged out, and the hypervisor lacks intelligence in paging decisions due to unawareness of which pages back address translation tables, leading to inefficient resource management.
Innovation Solution
A method is introduced to mark memory pages indicating active use of address translation structures, allowing the hypervisor to make informed paging decisions without modifying the guest control program, by setting an indicator in page table or page status table entries based on address translation requests, enabling the hypervisor to track and manage memory usage more effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If memory backing address translation tables is paged out to storage medium, then memory space is freed for other uses, but latency for rebuilding TLB entries increases significantly
Solution Approach 1:
The hypervisor proactively identifies and protects pages backing address translation tables before they are paged out by setting the AGPT indicator. This preliminary marking prevents these critical pages from being swapped to storage, eliminating the need for costly TLB entry rebuilding and avoiding the time loss associated with reconstruction.
Solution Approach 2:
The AGPT (Active Guest Page Table) indicator serves as an intermediary mechanism between the guest operating system and the hypervisor. It provides the hypervisor with intelligence about which pages back address translation structures without requiring modifications to the guest control program, enabling informed paging decisions that balance memory space availability with TLB performance.
2Adaptability or versatility
If hypervisor makes paging decisions without knowledge of address translation table pages, then paging flexibility is maintained, but paging decisions become inefficient and may purge active address translation structures
Solution Approach 1:
The system implements feedback by automatically setting the AGPT indicator in page table or page status table entries when address translation structures are accessed. This provides the hypervisor with continuous information about which pages back active translation tables, enabling intelligent paging decisions that maintain flexibility while improving efficiency by avoiding purging of active structures.
Solution Approach 2:
The guest operating system's address translation mechanisms automatically set the AGPT indicator without requiring explicit instructions from the guest control program. This self-service approach provides the hypervisor with the information it needs for efficient paging decisions while maintaining the guest's operational independence and paging flexibility.
3Loss of information
If existing mechanisms are used for operating system to inform hypervisor of page reuse likelihood, then some information is provided, but it requires significant work from operating system and is only a suggestion
Solution Approach 1:
The AGPT indicator mechanism is self-setting through the natural operation of address translation structures. When the guest operating system accesses address translation tables, the system automatically marks the backing pages with the AGPT indicator. This eliminates the burden of manual tracking and provides definitive information to the hypervisor without requiring additional work from the operating system.
Solution Approach 2:
The AGPT indicator acts as an intermediary that automatically captures and communicates page usage information from the guest address translation structures to the host hypervisor. This intermediary mechanism provides accurate, actionable information without requiring the operating system to implement complex tracking logic or make subjective assessments about page reuse likelihood.
Data Source
AI summary
A marking capability is used to provide an indication of whether a block of memory is backing an address translation structure of a control program being managed by a virtual machine manager. By providing the marking, the virtual machine manager may check the indication prior to making paging decisions. With this information, a hint may be provided to the hardware to be used in decisions relating to purging associated address translation structures, such as translation look-aside buffer (TLB) entries.


