Hypervisor Cache Locking for VM Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Jitter and latency issues occur in virtual machine (VM) exit and entry times due to data or code fetching from main memory, which become severe in multi-core execution scenarios, affecting workload consolidation, especially when running real-time and general-purpose operating systems on the same multi-core processor.
Innovation Solution
A hypervisor-managed cache locking mechanism that selects and locks specific data or code in the cache to prevent eviction, using cache quality of service (CQoS) classes to prioritize access and reduce latency, allowing critical data or code to remain in the cache, thereby improving performance and reducing jitter.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data or code is fetched from main memory during VM exit or entry, then the system can maintain cache flexibility and multi-core execution, but jitter and latency occur due to cache eviction and refetching
Solution Approach 1:
The patent applies preliminary action by pre-loading critical hypervisor data and code into the cache before VM exit or entry operations occur. The system identifies frequently accessed hypervisor components and ensures they are already resident in cache memory, eliminating the need to fetch them from main memory during time-critical VM transitions. This proactive caching strategy prevents jitter and latency by ensuring data is available immediately when needed.
2Adaptability or versatility
If the cache is shared among multiple cores and VMs, then resource utilization is improved, but cache eviction causes severe jitter in multi-core execution scenarios
Solution Approach 1:
The patent applies segmentation by dividing the cache into distinct regions or partitions, with specific cache lines or sets reserved exclusively for hypervisor code and data. This segmentation ensures that hypervisor components maintain a guaranteed presence in cache regardless of other VMs' memory access patterns. The cache is organized such that critical hypervisor segments are protected from eviction, providing timing predictability while still allowing other cache regions to be shared for workload consolidation.
3Productivity
If real-time and general-purpose operating systems run on the same multi-core processor, then system utilization is maximized, but cache interference between systems causes severe jitter
Solution Approach 1:
The patent applies local quality by providing different cache access guarantees to different operating system types. Real-time operating systems receive guaranteed cache presence for their critical data and code through reserved cache regions, ensuring deterministic access times. General-purpose operating systems operate with standard cache management policies. This differentiated approach allows both real-time performance requirements and high system utilization to coexist on the same multi-core processor.
Data Source
AI summary
Embodiments of apparatus and methods for virtualized computing are described. In embodiments, an apparatus may include one of more processor cores and a cache coupled to the one or more processor cores. The apparatus may further include a hypervisor operated by the one or more processor cores to manage operation of virtual machines on the apparatus, including selecting a part of the cache to store selected data or code of the hypervisor or one of the virtual machines, and locking the part of the cache to prevent the selected data or code from being evicted from the cache. Other embodiments may be described and/or claimed.


