Paravirtualized I/O Queue Switching to Reduce VM Exits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines issuing numerous I/O requests lead to a significant number of VM exits, affecting system performance in paravirtualized I/O systems.
Innovation Solution
A request-response based paravirtualized I/O system employs a front-end and back-end drive module interacting through transmit and receive queues, utilizing optimistic polling to predict and manage I/O requests, switching between notification and polling modes based on load conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If notification mode is used for paravirtualized I/O, then I/O request handling is event-driven and efficient, but numerous VM exits are generated when virtual machines issue many I/O requests
Solution Approach 1:
The system dynamically switches between notification mode and polling mode based on the virtual machine's I/O activity state. When the VM is idle, polling mode is used to avoid VM exits. When I/O activity is detected, the system transitions to notification mode for efficient event-driven handling, thus adapting to different operational conditions to resolve the contradiction between handling efficiency and system performance
Solution Approach 2:
The invention changes the operational parameter of the I/O handling mechanism by switching between two distinct modes (notification mode and polling mode). This parameter change allows the system to optimize performance under different I/O load conditions, reducing VM exits during idle periods while maintaining responsiveness during active I/O operations
2Reliability
If polling mode is used to eliminate VM exits, then VM exits are reduced, but computing resources are wasted under low I/O load conditions
Solution Approach 1:
The system employs dynamic mode switching that adjusts the I/O handling approach based on real-time detection of VM I/O activity. During low I/O load, polling mode is used to minimize VM exits. When I/O activity is detected, the system transitions to notification mode, thereby dynamically optimizing the balance between reducing VM exits and conserving computing resources
Solution Approach 2:
The front-end drive module in the virtual machine serves to detect its own I/O activity state and trigger mode switching automatically. This self-service mechanism allows the system to adapt without external intervention, switching from polling to notification mode when the VM generates I/O requests, thus avoiding unnecessary polling overhead while maintaining performance
3Productivity
If automatic switching between notification mode and polling mode is implemented, then both VM exit reduction and resource conservation are addressed, but the system can only sense issued I/O requests rather than predict them
Solution Approach 1:
The invention implements preliminary action by having the back-end drive module proactively poll the transmit queue at specific intervals (such as when packets are received from the physical network card) to detect pending I/O requests before they are fully processed. This predictive polling mechanism allows the system to anticipate VM I/O activity and switch to notification mode in advance, moving beyond mere sensing to actual prediction of I/O requests
Data Source
AI summary
A request-response based paravirtualized I/O system and method relating to the fields of virtualization and cloud computing includes a request-response application, a front-end drive module and a back-end drive module. The front-end drive module and the back-end drive module interact by means of a transmit queue and a receive queue. The request-response application generates an I/O request, and the front-end drive module writes the I/O request into the transmit queue. The system has two operating modes: a notification mode and a polling mode. The system operates by default in the notification mode. When the request-response application issues a connection establishment or service request, the system switches to the polling mode. This system and method introduce an optimistic polling mechanism, combine the advantages of the notification mode and the polling mode, reduce the number of VM exits and decrease wasting of computing resources, thus improving data path performance.


