Prioritized Rate Scheduler for Storage Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If operations are arbitrated using simple queues, then operation ordering is maintained, but the system cannot handle bursts and prioritize effectively
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.
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.
3Reliability
If usage levels are not monitored and managed, then simple operation processing occurs, but overload and blocking of operations result
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.
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.
Data Source
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.


