Dynamic I/O Channel Adjustment in Virtualization Hosts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual platforms, the number of I/O channels between virtual machines (VMs) and their devices is fixed at creation and cannot be adjusted, leading to inefficiencies in resource allocation, as I/O throughput changes, resulting in wasted resources or inadequate data transmission capabilities.
Innovation Solution
A method and apparatus that dynamically adjust the number of working threads and mapping relationships between VM front devices, back devices, and native devices based on current average I/O throughput, allowing for increased or decreased I/O channel resources to match changing throughput demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the number of I/O channels is fixed at VM creation, then device complexity is reduced and ease of operation is improved, but adaptability deteriorates and resource waste occurs when I/O throughput changes
Solution Approach 1:
The patent implements dynamic adjustment of I/O channel resources by introducing a threshold mechanism that automatically increases or decreases the number of working threads based on real-time I/O throughput monitoring. When throughput exceeds a first threshold, channels are increased; when it falls below a second threshold, channels are decreased, making the previously static configuration dynamic and adaptive to changing workload conditions.
Solution Approach 2:
The system establishes a feedback loop by continuously monitoring I/O throughput and using this information to adjust the number of I/O channels. The monitoring module tracks throughput metrics, compares them against predefined thresholds, and triggers appropriate adjustment actions, creating a closed-loop control system that adapts resource allocation based on actual performance feedback.
2Productivity
If I/O channel resources are increased, then data transmission capability is improved, but resource waste occurs when throughput is low
Solution Approach 1:
The system dynamically adjusts the number of working threads based on real-time throughput conditions. When throughput is high, more channels are activated to improve data transmission capability. When throughput drops below the second threshold, channels are reduced to eliminate resource waste, ensuring the system always operates with an optimal number of active resources matching current workload demands.
Solution Approach 2:
The patent changes the parameter of working thread count based on throughput conditions. By adjusting this key parameter dynamically rather than maintaining a fixed value, the system optimizes the balance between data transmission capability and resource utilization, activating additional channels only when throughput justifies the increased resource consumption.
3Loss of energy
If I/O channel resources are decreased, then resource efficiency is improved, but system performance deteriorates when throughput increases
Solution Approach 1:
The system dynamically responds to throughput changes by adjusting channel count. When throughput rises above the first threshold, the system automatically increases the number of working threads to maintain system performance. This dynamic response ensures that performance degradation is avoided during high-load periods while maintaining resource efficiency during low-utilization periods.
Solution Approach 2:
The monitoring and adjustment mechanism provides feedback-driven performance optimization. By continuously measuring throughput and comparing it against thresholds, the system detects performance bottlenecks and responds by allocating additional I/O channel resources when needed, ensuring performance is maintained during high-throughput conditions while avoiding unnecessary resource consumption during low-demand periods.
4Ease of operation
If the number of working threads equals the number of I/O channels, then ease of operation is improved, but adaptability deteriorates when throughput demands change
Solution Approach 1:
The patent decouples the relationship between working threads and I/O channels by introducing dynamic adjustment capability. The number of channels can now independently scale based on throughput conditions without being strictly tied to thread count, allowing the system to adapt to varying workload demands while maintaining operational simplicity through automated management.
Solution Approach 2:
The system segments the I/O channel management into independent controllable units that can be adjusted individually based on throughput conditions. This segmentation allows flexible scaling of channel resources without requiring proportional changes to thread configuration, enabling independent optimization of each component based on actual performance needs.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
The present invention provides a method and apparatus for adjusting an I/O channel on a virtual platform, which are applied in the virtual technology field, and the method for adjusting an I/O channel includes: counting, by a host HOST, current average I/O throughput of multiple virtual machines VMs operating on the HOST; increasing or decreasing, by the HOST, working threads for processing VMs between front devices and back devices of the multiple VMs according to the current average I/O throughput; and adjusting, by the HOST, a mapping relationship between queues in the front device, queues in the back devices of the multiple VMs, and working threads for processing VMs. According to the present invention, channel resources occupied by I/O channels between the front devices and the back devices of the multiple VMs are dynamically adjusted according to I/O throughput of the multiple VMs operating on the HOST. When the I/O throughput decreases, idle I/O channel resources are released, thereby avoiding a waste of the I/O channel resources; when the I/O throughput increases, the I/O channel resources are increased, resulting in an improved data transmission capability of the I/O channels.