Read Request Handler for Storage Busyness-Based Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancing techniques for storage devices fail to evenly distribute read requests, leading to overloading and underutilization of some devices, especially when hot spots occur or when a device fails, causing performance issues and potential data availability problems.
Innovation Solution
A read-request handler dynamically assigns read requests to storage devices based on their busyness levels, using fraction-based, interval-based, and response-time-based estimates to distribute the load equitably across devices, adjusting percentages and intervals to maintain equilibrium and account for device handicaps and varying data sizes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If read requests are evenly distributed among storage devices, then device utilization is balanced, but performance degrades when hot spots occur or devices fail
Solution Approach 1:
The patent implements dynamic load balancing by continuously monitoring device busyness metrics (response times, queue lengths, throughput) and adjusting read request distribution in real-time. The system transitions from static even distribution to dynamic adaptive distribution, where the allocation of read requests changes based on current system conditions, hot spot locations, and device availability, thereby maintaining both balance and responsiveness to changes
2Productivity
If copies of hot spot items are moved to underutilized devices, then load balance improves, but performance degrades when hot spots change location
Solution Approach 1:
The patent maintains pre-computed routing information and device capability profiles that enable rapid redirection of read requests when hot spots change. By having advance knowledge of device locations, capacities, and current states stored in a distributed manner, the system can quickly adapt to new hot spot locations without extensive data movement or recalibration, reducing the time loss when access patterns change
3Reliability
If items are mirrored across many storage devices, then fault tolerance improves, but device overload occurs when a device fails
Solution Approach 1:
The patent implements a feedback mechanism that continuously monitors device health status, workload levels, and failure conditions. When a device fails, the system receives feedback about the failure and automatically redistributes the failed device's workload to remaining healthy devices based on their current capacity and busyness metrics. This dynamic feedback loop prevents any single device from becoming overloaded due to failure-induced workload concentration, maintaining both fault tolerance and workload balance
Data Source
AI summary
Techniques are provided for assigning read requests to storage devices in a manner that reduces the likelihood that any storage device will become overloaded or underutilized. Specifically, a read-request handler assigns read requests that are directed to each particular item among the storage devices that have copies of the item based on how busy each of those storage devices is. Consequently, even though certain storage devices may have copies of the same item, there may be times during which one storage device is assigned a disproportionate number of the reads of the item because the other storage device is busy with read requests for other items, and there may be other times during which other storage device is assigned a disproportionate number of the reads of the item because the one storage device is busy with read request for other items. Various techniques for estimating the busyness of storage devices are provided, including fraction-based estimates, interval-based estimates, and the response-time-based estimates. Techniques for smoothing those estimates, and for handicapping devices, are also provided.


