Para-virtualized File System Caching for VM Storage Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing environments, the high operational overhead associated with virtual machine (VM) access to storage devices is exacerbated by the need for frequent control transfers between the VM and the hypervisor during I/O operations, leading to inefficient data access and processing.
Innovation Solution
Implementing a para-virtualized file system architecture that includes a first para-virtualized file system (PVFS FE) within the VM and a second para-virtualized file system (PVFS BE) supported by the hypervisor, allowing for asynchronous communication and shared memory usage to optimize read and write operations, thereby reducing the need for multiple data copies and control switches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a virtual machine uses a purely emulated file system interface, then the VM can access storage devices through software emulation, but the operational overhead increases significantly due to frequent control transfers between the VM and hypervisor
Solution Approach 1:
The file system interface is segmented into two parts: a para-virtualized file system driver within the VM and a corresponding driver in the hypervisor. This segmentation allows the VM to directly issue I/O requests without full emulation, reducing control transfer overhead while maintaining storage access capability.
Solution Approach 2:
A para-virtualized interface acts as an intermediary between the VM and the physical storage device. This intermediary enables direct I/O access by eliminating the need for complete software emulation, thereby reducing operational overhead while preserving ease of storage access.
2Productivity
If control is transferred intermittently between the VM and hypervisor during I/O operations, then the VM can access storage devices through emulated interfaces, but the operational overhead becomes even more costly
Solution Approach 1:
The para-virtualized file system driver is pre-configured within the VM with knowledge of the storage interface. This preliminary setup eliminates the need for runtime control transfers to the hypervisor for basic I/O operations, reducing control transfer time and improving data access efficiency.
Solution Approach 2:
The VM's para-virtualized file system driver handles I/O operations autonomously without requiring frequent intervention from the hypervisor. This self-service mechanism reduces control transfer time by allowing the VM to manage its own storage access directly.
3Productivity
If a purely emulated interface is used, then the VM can access storage devices through software emulation, but read and write performance decreases due to multiple data copies and control switches
Solution Approach 1:
The emulation layer is extracted and replaced with a para-virtualized interface that allows direct I/O access. This extraction eliminates multiple data copies and control switches, improving I/O operation speed while reducing the CPU energy loss associated with emulation overhead.
Data Source
AI summary
Optimizing read operations to a storage device in a virtualized computing environment. A read system call is received by a virtual machine's (VM) operating system from an application running on the VM for data on a storage device. The VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment. A virtual file system (VFS) supported by the operating system is caused to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation. In response to determining by the PVS FE that the data to be read exists in a data cache of the PVFS FE, executing by the PVS FE the read operation from the cache of the PVFS FE.


