Storage Subsystem Driver Priority Scheduling for I/O Congestion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Increased computing power in computer systems is hindered by bottlenecks, such as disk congestion caused by background tasks, leading to slow user response and negative performance scaling, where faster processors result in a visibly slower user experience due to storage or subsystem congestion.
Innovation Solution
Implementing a method to prioritize subsystem processing by identifying foreground and background processes and applying priority rules to allocate processor cycles, ensuring that foreground tasks receive higher priority access to storage subsystems, thereby improving responsiveness and user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If background tasks are allowed to execute freely, then system computing power is utilized, but disk congestion occurs causing foreground tasks to slow down
Solution Approach 1:
The patent changes the scheduling parameter by introducing priority-based I/O servicing. The storage subsystem driver identifies foreground processes and assigns them higher priority, altering the default equal-treatment scheduling parameter to differentiate between foreground and background tasks, thereby resolving the contradiction between system utilization and foreground task speed
Solution Approach 2:
The patent introduces an intermediary mechanism (the storage subsystem driver with priority identification logic) that mediates between background tasks and the storage subsystem. This intermediary filters and prioritizes I/O requests before they reach the disk, preventing background tasks from causing congestion that would slow foreground tasks
2Power
If faster processors are used, then computing power increases, but user response time worsens due to storage subsystem congestion
Solution Approach 1:
The patent applies preliminary action by having the storage subsystem driver proactively identify and prioritize foreground processes before I/O congestion occurs. By pre-establishing priority queues and servicing high-priority requests first, the system prevents the time loss that would otherwise occur when foreground tasks wait for background tasks to complete disk operations
Solution Approach 2:
The patent changes the scheduling parameter from FIFO or round-robin to priority-based scheduling. This parameter change ensures that even with faster processors generating more I/O activity, foreground tasks maintain responsive performance by being serviced preferentially, thus preventing the negative performance scaling described in the background
3Device complexity
If equal priority is given to all processes, then system simplicity is maintained, but foreground task responsiveness deteriorates
Solution Approach 1:
The patent applies local quality by differentiating the treatment of different process types at the I/O scheduling level. Instead of uniform scheduling, the storage subsystem driver applies different priority levels locally to foreground versus background processes, improving user response time while maintaining relative simplicity through targeted differentiation rather than complete redesign
Data Source
AI summary
Systems, methods, and apparatus to identify and prioritize application processes in one or more subsystems. Some embodiments identifying applications and processes associated with each application executing on a system, apply one or more priority rules to the identified applications and processes to generate priority information, and transmit the priority information to a subsystem. The subsystem then matches received requests with the priority information and services the processes according to the priority information.


