SR-IOV Storage Virtualization Polling for Low-Latency VM I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing I/O virtualization technologies face significant overhead and latency issues due to the use of interrupt-based methods, particularly with the increasing use of low-latency storage devices, which degrade the performance of virtual machines when handling multiple parallel I/O requests.
Innovation Solution
Implementing a polling mechanism for I/O request processing within the storage virtualization system, where a processor queries a completion queue at regular intervals to check for completion messages, avoiding the overhead and latency associated with traditional interrupt-based methods.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If interrupt-based methods are used for I/O request processing, then the system can respond to I/O completion events, but the overhead and latency increase significantly
Solution Approach 1:
Instead of using interrupt-based notification where the storage device actively notifies the virtual machine of I/O completion, the patent inverts the approach by using a polling mechanism where the virtual machine actively queries the completion queue for I/O status. This inversion eliminates interrupt overhead and latency while maintaining reliable I/O completion notification.
2Reliability
If interrupt-based methods are used for I/O request processing, then the system can handle I/O events, but the performance of virtual machines degrades when handling multiple parallel I/O requests
Solution Approach 1:
The patent applies the inversion principle by switching from interrupt-driven event handling to polling-based event checking. The virtual machine polls the completion queue at regular intervals to check for I/O completion messages, which eliminates the performance degradation caused by interrupt handling overhead when processing multiple parallel I/O requests.
Solution Approach 2:
The patent implements periodic action through the polling mechanism, where the virtual machine queries the completion queue at regular time intervals. This periodic checking approach allows the system to handle multiple parallel I/O requests efficiently without the overhead of interrupt processing, thereby improving virtual machine I/O performance.
3Loss of time
If polling mechanism is used instead of interrupt-based methods, then I/O efficiency is enhanced and latency is reduced, but the query operation consumes processor resources
Solution Approach 1:
The patent applies partial action by implementing a polling mechanism that queries the completion queue at regular intervals rather than continuously. This partial polling approach reduces processor resource consumption compared to continuous polling, while still achieving the benefit of reduced I/O latency by periodically checking for completion messages without excessive processor overhead.
Data Source
AI summary
An access method of a storage device and a virtual device are provided. The storage device supports a single root input output virtualization (SR-IOV), the storage device is virtualized as at least two virtual functions (VFs), the access method comprises: in response to an input/output (I/O) request for the storage device by an application, transmitting the I/O request to a corresponding VF by a virtual machine, the VF writing a completion message of the I/O request to a completion queue (CQ); querying the CQ in a polling manner by a processor of the virtual machine; and if there is the completion message of the I/O request in the CQ, returning the completion message to the application by the virtual machine. Since the storage virtualization system processes I/O requests in a polling manner, this manner avoids the delay and overhead caused by the interruption, and enables the application to improve I/O efficiency, and finally enables the random parallel read and write performance of the virtual machine using SR-IOV technology to allocate high-speed SSDs, to be improved significantly.


