Para-virtualized File System Caching for VM Storage Overhead

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

VSEngineering 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

Engineering Contradiction:
ImproveStorage access capabilityVSAvoidOperational overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImproveData access efficiencyVSAvoidControl transfer time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
ImproveI/O operation speedVSAvoidCPU usage
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10025607B2Optimizing a file system interface in a virtualized computing environment
Publication Date: 2018.07.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10025607B2 patent drawing
  • US10025607B2 patent drawing
  • US10025607B2 patent drawing

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.