Storage Resource Manager for Fair I/O Scheduling in Virtualized Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments with virtualization, there is a need for a system to fairly distribute storage device resources among virtual machines to prevent performance degradation due to resource conflicts and uncontrolled I/O traffic, which leads to increased latency and unfair resource distribution.
Innovation Solution
A system that schedules I/O requests from virtual machines based on their relative service levels, using a resource manager to dynamically assign storage device resources and a traffic controller to reschedule requests, allowing I/O requests to bypass the host software stack while ensuring fair resource allocation through the SR-IOV protocol.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If I/O requests from virtual machines bypass the host software stack via SR-IOV protocol, then I/O performance and throughput are improved, but resource conflicts and unfair distribution among virtual machines occur
Solution Approach 1:
The patent introduces a resource manager as an intermediary component that mediates between virtual machines and the storage device. This resource manager tracks resource usage by virtual machine, maintains allocation records, and ensures fair distribution of storage resources even when I/O requests bypass the host software stack through SR-IOV virtual functions.
Solution Approach 2:
The patent implements a feedback mechanism where the resource manager monitors and tracks resource usage information from virtual machines, processes this information to determine allocation decisions, and uses this feedback loop to dynamically adjust resource distribution. The traffic controller also provides feedback about resource availability and collision statistics to the resource manager.
2Productivity
If storage device resources are shared among multiple virtual machines, then resource utilization efficiency is improved, but I/O latency increases due to resource conflicts
Solution Approach 1:
The patent implements dynamic resource allocation where the resource manager continuously adjusts the amount of storage resources assigned to each virtual machine based on current workload conditions and tracked usage patterns. This dynamic adjustment allows the system to optimize resource distribution in real-time, reducing latency during peak usage periods while maintaining efficient utilization during normal operation.
Solution Approach 2:
The patent applies preliminary action by having the resource manager proactively track and monitor resource usage information before conflicts occur. The system maintains allocation records and usage statistics in advance, enabling the traffic controller to make informed decisions about resource availability and preemptively manage potential conflicts before they impact I/O performance.
3Reliability
If a centralized resource management system is implemented, then resource allocation control is improved, but system complexity increases
Solution Approach 1:
The patent segments the resource management functionality into distinct components: a resource manager that handles high-level allocation decisions and tracking, and traffic controllers associated with each virtual machine that handle local I/O scheduling. This segmentation distributes complexity across multiple independent components rather than concentrating it in a single centralized system, making the overall architecture more manageable while maintaining reliable resource allocation control.
Data Source
AI summary
A system for scheduling input/output (I/O) requests from virtual machines includes a storage device including storage device resources for processing I/O requests to access a non-volatile memory of the storage device, a first virtual machine configured to send an I/O request to the storage device, a resource manager configured to calculate a first amount of the storage device resources and assign the first amount to the first virtual machine, and a traffic controller associated with the first virtual machine, the traffic controller being configured to reschedule the I/O request from the first virtual machine based on an availability of the first amount.


