Request Acceleration Module for Virtual Machine Storage I/O
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional unified storage architectures using virtual machines as NAS service carriers result in lengthy I/O paths and significant overhead due to protocol encapsulation and analysis, leading to low performance.
Innovation Solution
A request processing method and apparatus that employs a request acceleration module between the virtual machine and back-end storage, utilizing shared memory and request queue polling to reduce memory copies and switches between user and kernel modes, thereby shortening the I/O path and reducing processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a virtual machine is used as a NAS service carrier to connect back-end storage, then the system provides unified storage service, but the I/O path becomes lengthy and processing overhead increases
Solution Approach 1:
A request acceleration module is introduced as an intermediary component between the virtual machine and back-end storage. This module includes a request queue and processing unit that accelerates I/O operations by reducing the number of memory copies and mode switches, thereby shortening the effective I/O path while maintaining the virtual machine's unified storage service capability
Solution Approach 2:
The I/O processing function is segmented into distinct components: the virtual machine generates requests, the request acceleration module processes them through a dedicated request queue, and the back-end storage executes the operations. This segmentation allows each component to be optimized independently, reducing overall processing overhead
2Ease of operation
If protocol encapsulation and analysis are performed in the traditional NAS architecture, then data transmission is enabled, but significant processing overhead is incurred
Solution Approach 1:
The request acceleration module extracts and handles the protocol processing functions separately from the main I/O path. By dedicating specific processing units within the acceleration module to handle encapsulation and analysis, the overhead is reduced as these operations are performed more efficiently without blocking the main data transmission flow
3Productivity
If multiple memory copies and mode switches are performed in the traditional architecture, then data processing is completed, but performance is reduced
Solution Approach 1:
The request acceleration module performs preliminary processing of I/O requests before they reach the back-end storage. By pre-processing operations such as protocol encapsulation, validation, and queue management in the acceleration module, the actual data transfer and storage operations can proceed more quickly with fewer repeated memory copies and mode switches
Data Source
AI summary
The present application relates to the technical field of storage. Disclosed are a request processing method and apparatus, and a device and a non-volatile readable storage medium, which are applied to a request acceleration module for connecting a virtual machine and a back-end storage. The method includes: polling a request queue in shared memory, wherein a virtual machine and a request acceleration module, which are used for providing a unified storage service, both perform a read-write operation on the shared memory; and when it is polled that there is a target request, which is initiated within the virtual machine, in the request queue, processing the target request in the manner of calling a corresponding processing function.


