Hypervisor Host-Side Cache for VM I/O Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for improving virtual machine (VM) I/O performance when accessing shared storage devices are hindered by network latency and I/O congestion, and require VM-level modifications or are proprietary to specific flash storage devices, lacking a generic and flexible host-side caching solution.
Innovation Solution
A hypervisor-based framework that intercepts I/O requests and processes them using a host-side cache, which is transparent to the VM, allowing for automated caching without VM-level modifications and supporting multiple cache devices and caching algorithms, enabling efficient I/O acceleration across all VMs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If VMDKs are stored on shared storage devices, then storage maintenance and configuration are streamlined, but VM I/O performance deteriorates due to network latency and I/O congestion
Solution Approach 1:
The patent introduces a host-side cache as an intermediary component between the VM and shared storage device. This cache resides on the host system and intercepts I/O requests, serving as a mediator that reduces network latency by satisfying read requests from cached data rather than requiring communication with the shared storage device over the network.
Solution Approach 2:
The patent implements preliminary action by pre-loading data into the host-side cache before it is actually needed by the VM. The hypervisor proactively reads data from shared storage and stores it in the host-side cache in advance, so that when the VM needs this data, it can be served immediately from the cache without incurring network latency.
2Productivity
If flash storage devices are incorporated into host systems for caching, then VM I/O performance is improved, but the solution requires VM-level modifications and is proprietary to specific flash storage devices
Solution Approach 1:
The patent creates a universal host-side caching solution that can work with any type of storage device (shared storage, flash storage, hybrid storage) and any VM configuration. The hypervisor-based implementation provides a generic interface that abstracts away the specific cache device type, making the solution adaptable to different hardware configurations without requiring VM-level modifications or proprietary implementations.
Solution Approach 2:
The patent extracts the caching functionality from the VM level and moves it to the host system level, specifically to the hypervisor. This extraction eliminates the need for VM-level modifications and proprietary cache management mechanisms, as the caching is now handled by the host system's virtualization layer, which is common to all VMs regardless of their specific configurations.
3Loss of time
If a host-side cache is implemented, then network latency is reduced, but device complexity increases due to cache management mechanisms
Solution Approach 1:
The patent implements self-service by enabling the host-side cache to automatically manage its own operations without requiring complex external control mechanisms. The cache autonomously determines which data to cache, when to evict data, and how to handle I/O requests, reducing the need for sophisticated cache management mechanisms while still achieving effective latency reduction.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Techniques for using a host-side cache to accelerate virtual machine (VM) I/O are provided. In one embodiment, the hypervisor of a host system can intercept an I/O request from a VM running on the host system, where the I/O request is directed to a virtual disk residing on a shared storage device. The hypervisor can then process the I/O request by accessing a host-side cache that resides one or more cache devices distinct from the shared storage device, where the accessing of the host-side cache is transparent to the VM.