Prioritized Rate Scheduler for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in providing fair access to storage devices among multiple users with varying priorities, leading to potential overload and blocking of operations due to unmanaged access requests.

Innovation Solution

Implementing a prioritized rate scheduling system that uses queues for each user, calculates scores based on usage levels, target, and maximum allowed usage to arbitrate operations, ensuring fair access and handling bursts by managing the order of operations across storage devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If operations are received from multiple users without priority management, then access to storage devices is provided, but fair access cannot be ensured and operations may be blocked due to overload

Engineering Contradiction:
Improvefair accessVSAvoidaccess management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments operations into separate queues based on user priority levels. Each queue is associated with a specific priority level and maintains its own score tracking mechanism. This segmentation allows the system to manage different user classes independently, ensuring fair access by prioritizing operations according to their associated priority levels while preventing lower-priority operations from blocking the system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the score parameter for each queue based on usage levels, target usage levels, and maximum allowed usage levels. By adjusting these parameters in real-time, the system can adapt to changing workload conditions and ensure fair access control. The score calculation incorporates priority levels and usage metrics to dynamically determine operation selection, enabling the system to respond to varying access patterns while maintaining fairness.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If operations are arbitrated using simple queues, then operation ordering is maintained, but the system cannot handle bursts and prioritize effectively

Engineering Contradiction:
Improveoperation throughputVSAvoidburst handling
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system implements feedback mechanisms where usage levels are continuously monitored and fed back into the score calculation. The score for each queue is updated based on actual usage compared to target and maximum allowed usage levels. This feedback loop enables the system to detect burst conditions and adjust operation selection accordingly, allowing the system to handle bursts effectively while maintaining high productivity through efficient operation arbitration.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system transitions from static queue management to dynamic score-based arbitration. The score for each queue changes dynamically based on real-time usage conditions, priority levels, and system state. This dynamic approach allows the system to adapt to burst conditions and prioritize operations flexibly, improving both productivity and burst handling capability compared to static queue systems.

Inventive Principle:
Principle #15Dynamics

3Reliability

If usage levels are not monitored and managed, then simple operation processing occurs, but overload and blocking of operations result

Engineering Contradiction:
Improvesystem stabilityVSAvoidoperation wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system continuously monitors usage levels for each queue and uses this feedback to update scores and adjust operation selection. By tracking actual usage against target and maximum allowed levels, the system can detect approaching capacity limits and proactively manage operations to prevent overload. This feedback mechanism maintains system stability while minimizing operation wait times through proactive rather than reactive management.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-calculating and enforcing maximum allowed usage levels before overload occurs. By monitoring usage trends and comparing against predefined thresholds, the system can take preliminary management actions to prevent blocking conditions. This proactive approach maintains system stability and reduces operation wait times by avoiding reactive responses to critical situations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9262093B1Prioritized rate scheduler for a storage system
Publication Date: 2016.02.16 GOOGLE LLC
  • US9262093B1 patent drawing
  • US9262093B1 patent drawing
  • US9262093B1 patent drawing

AI summary

A storage system may include a set of storage devices; a controller; and a management device. The controller may arbitrate among operations for execution by the set of storage devices, where the operations are received from users that are associated with priority levels. The controller may maintain queues, corresponding to the users, to queue operations from the users. The controller may additionally include a scoring component and a scheduler. The scoring component may maintain a score for each queue. The scheduler may choose, from the queues and based on the score of each queue, one of the operations to service. The management device may receive usage updates, from the controller, reflecting usage of the set of storage devices; calculate a maximum allowed usage levels, based on the received usage updates, for each user; and transmit the calculated maximum usage levels to the controller.