Exit-less Host Memory Locking in Virtualized Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtualization systems either lock all or none of a guest's memory pages, which is excessive for many guests, reducing the number of guests that can run on a host and causing latency issues in real-time applications.
Innovation Solution
A guest operating system can directly modify a shared memory locking indicator to lock specific memory pages, allowing for partial memory locking without explicit host notification, thereby preventing these pages from being swapped out or copied.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the hypervisor locks all guest memory pages, then memory security is improved, but the number of guests that can run on the host decreases
Solution Approach 1:
The patent segments memory locking from a global all-or-nothing operation into individual page-level locking. Each guest can selectively lock only specific memory pages that require protection, rather than locking entire memory spaces. This segmentation allows multiple guests to coexist with their respective locked pages, increasing the number of guests that can run on the host while maintaining security for critical pages.
Solution Approach 2:
The patent applies local quality by allowing different security properties for different memory pages. Critical pages containing sensitive data can be locked individually, while non-critical pages remain unlocked and available for swapping. This selective approach maintains memory security for important data while optimizing resource utilization across multiple guests.
2Reliability
If the hypervisor locks all guest memory pages, then memory security is improved, but memory resource utilization deteriorates
Solution Approach 1:
By segmenting memory protection into individual page-level locking, the system allows only necessary pages to be locked while leaving other pages unlocked and available for allocation to other guests or for swapping. This prevents the waste of memory resources that occurs when entire memory spaces are locked unnecessarily.
Solution Approach 2:
The patent applies partial action by locking only the specific portion of memory that requires protection rather than locking all memory pages. This partial locking approach provides adequate security for critical pages while leaving sufficient memory resources available for other uses, thereby improving overall memory resource utilization.
3Quantity of substance
If the hypervisor swaps memory pages, then memory resource utilization is improved, but real-time application performance deteriorates
Solution Approach 1:
The patent allows real-time applications to perform preliminary locking of memory pages that will be needed for processing. By locking these pages in advance before they are needed, the application ensures that critical pages remain in physical memory and are not swapped out during time-sensitive operations, thereby preventing latency issues while still allowing non-critical pages to be swapped for resource utilization.
4Adaptability or versatility
If guests can lock specific memory pages, then memory control is improved, but system complexity increases
Solution Approach 1:
The patent implements self-service by allowing guest operating systems to autonomously manage their own memory locking without requiring explicit hypervisor intervention for each page. The guest OS can directly lock and unlock specific pages according to its own security and performance requirements, reducing the operational complexity for system administrators while maintaining improved memory control and adaptability.
Data Source
AI summary
Embodiments of the present disclosure enable exit-less host memory locking in a virtualized environment. An example method comprises protecting, by a processing device of a host computer system, a memory page from being accessed by a guest operating system of a virtual machine running on the host computer system. The locking indicator resides in a shared memory accessible by the guest operating system. Responsive to determining that the locking indicator indicates that the memory page is not in a locked state, the memory page is accessed. Thereafter, access to the memory page is re-enabled for the guest operating system.


