I/O Scheduling via Adaptive Queue Depth and Process Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing I/O scheduling systems introduce delays based on time, which do not consider the current load of devices and can lead to inefficiencies in high-process environments, where potential I/O candidates are spread too far apart.
Innovation Solution
The system associates multiple I/O scheduling queues with processes accessing a storage network, regulates the rate of I/O requests based on status information, and combines multiple requests into larger ones to optimize throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If time-based delays are introduced to anticipate additional I/Os, then I/O merging potential is improved, but device load consideration is lost and throughput efficiency deteriorates
Solution Approach 1:
The patent implements dynamic I/O scheduling by transitioning from static time-based delays to adaptive load-based delays. The scheduler continuously monitors device queue depth and dynamically adjusts delay parameters according to current device load conditions, enabling the system to adapt to varying workload scenarios and maximize I/O merging opportunities without fixed time constraints
Solution Approach 2:
The patent incorporates feedback mechanisms by monitoring device queue depth and using this information to regulate I/O request submission rates. The scheduler receives feedback about current device load and adjusts its behavior accordingly, reducing delays when queues are full and allowing more aggressive merging when queues are light, thereby resolving the contradiction between throughput optimization and load adaptability
2Device complexity
If single device queue algorithms are used, then I/O ordering is simplified, but candidate spreading increases and merging opportunities are lost
Solution Approach 1:
The patent segments the I/O scheduling problem by introducing multiple virtual queues organized in a hierarchical structure. Instead of a single device queue, the system divides I/O requests into process-specific queues and device-specific queues, allowing independent management and optimization of each segment while maintaining overall system efficiency
Solution Approach 2:
The patent adds a process dimension to the traditional device-centric queue structure. By organizing queues in a two-dimensional matrix (processes × devices), the system enables I/O requests from different processes to be grouped and merged more effectively, increasing merging opportunities without significantly increasing algorithmic complexity
3Reliability
If I/O requests are spread across multiple processes, then process isolation is improved, but candidate proximity deteriorates and merging potential is reduced
Solution Approach 1:
The patent implements multi-functional queues that serve dual purposes: maintaining process isolation for reliability while enabling cross-process I/O merging for productivity. The virtual queue structure allows requests to be tracked by process origin (preserving isolation) while simultaneously being eligible for merging with requests from other processes (enhancing throughput), thus resolving the contradiction between isolation and merging potential
Data Source
AI summary
A method, computer program product, and computing system for associating a first I/O scheduling queue with a first process accessing a storage network. The first I/O scheduling queue is configured to receive a plurality of first process I/O requests. A second I/O scheduling queue is associated with a second process accessing the storage network. The second I/O scheduling queue is configured to receive a plurality of second process I/O requests.


