Hypervisor Cache Locking for VM Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveVM exit/entry performanceVSAvoidjitter and latency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveworkload consolidationVSAvoidtiming predictability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improveprocessor utilizationVSAvoidreal-time performance
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9652270B2Apparatus and method for virtualized computing
Publication Date: 2017.05.16 INTEL CORP
  • US9652270B2 patent drawing
  • US9652270B2 patent drawing
  • US9652270B2 patent drawing

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.