Virtual Machine I/O Routing for Erasure-Coded Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual environments like KVM, I/O processing is hindered by virtualization overhead, and existing techniques such as SR-IOV cannot link with data redundantization mechanisms like Erasure Coding, leading to poor storage performance.
Innovation Solution
An I/O control method and system that analyze I/O requests from virtual machines to determine if data redundantization processing is needed, and if so, transmit the request to a data redundantization mechanism, such as Erasure Coding, to execute the processing, thereby reducing virtualization overhead and enabling data redundantization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If SR-IOV is used to off-load I/O processing from VMM to NIC hardware, then I/O processing speed is improved and virtualization overhead is reduced, but the ability to link with data redundantization mechanisms like Erasure Coding is lost
Solution Approach 1:
The patent introduces a storage function unit as an intermediary component between the I/O device and the data redundantization mechanism. This mediator receives I/O commands from the I/O device, determines whether data redundantization processing is needed, and forwards appropriate commands to the data redundantization mechanism. This intermediary structure enables both fast I/O processing (by keeping the I/O path direct) and linkage with redundantization mechanisms (by adding a mediation layer that can intercept and process specific I/O operations).
2Ease of operation
If virtualization processing is performed by VMM for I/O requests from virtual machines, then flexible control over I/O processing is achieved, but I/O performance is greatly deteriorated due to virtualization overhead
Solution Approach 1:
The patent segments the I/O processing functions by separating the I/O device control from the data redundantization processing. The I/O device handles basic I/O operations independently with minimal virtualization overhead, while the storage function unit segments out the redundantization processing for specific operations. This segmentation allows most I/O operations to proceed quickly without VMM intervention, while still providing flexible control for operations requiring redundantization.
Solution Approach 2:
The patent extracts the data redundantization processing function from the traditional virtualization path. By creating a separate storage function unit that directly interfaces with the I/O device and data redundantization mechanism, the system removes the need for VMM to handle redundantization operations. This extraction eliminates the performance penalty of virtualization overhead for these specific operations while maintaining the ability to control them flexibly.
3Reliability
If data redundantization processing is executed for all I/O requests, then data reliability is improved, but I/O processing time increases due to additional processing overhead
Solution Approach 1:
The patent applies partial action by implementing data redundantization processing selectively rather than universally. The storage function unit analyzes each I/O command and determines whether data redundantization is necessary based on the specific operation type and data characteristics. This selective approach ensures that data reliability is improved for operations that require it, while avoiding the time penalty of redundantization processing for operations where it is not needed, thus optimizing the balance between reliability and processing speed.
Data Source
AI summary
An I/O control method and system for respectively achieving both acceleration of I/O processing and redundantization of data. The present invention is based upon an I/O control method of performing control related to an I/O request from a virtual machine operated in a computer provided with an I/O device that executes I/O processing, and the I/O control method includes a first step in which an I/O analysis unit determines whether or not data redundantization processing related to the I/O request is executed on the basis of the I/O request from the virtual machine and setting information for enabling identifying whether or not the data redundantization processing is executed and a second step in which a control unit transmits an I/O command related to the I/O request to a data redundantization mechanism that executes the data redundantization processing on the basis of a determination result in the first step.


