Dynamic Erasure Code Placement for Balanced Object Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional object storage systems use static configuration settings to determine erasure code distribution, failing to dynamically adapt to changing conditions such as load imbalances, capacity issues, and usage patterns, leading to sub-optimal performance and inefficiencies.
Innovation Solution
Implementing a dynamic distribution controller that monitors operating conditions and adjusts erasure code distribution based on real-time feedback from activity and capacity monitors, using user-defined or automated rules to optimize load balancing, capacity balancing, and read performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If static, pre-defined configuration settings are used to determine erasure code distribution, then the system configuration is simple and easy to manage, but the system cannot dynamically adapt to changing conditions such as load imbalances and capacity issues, leading to sub-optimal performance
Solution Approach 1:
The patent implements dynamic erasure code distribution by allowing the system to automatically adjust code placement based on real-time monitoring of load conditions, capacity availability, and usage patterns. The distribution controller continuously evaluates system state and reallocates erasure codes to optimize performance metrics without requiring manual reconfiguration.
Solution Approach 2:
The system incorporates feedback mechanisms through activity monitors and capacity monitors that continuously report system state to the distribution controller. This feedback loop enables the system to detect hot spots, load imbalances, and capacity constraints, then automatically adjust erasure code distribution in response to these conditions.
2Productivity
If static configuration is used for erasure code distribution, then the system is easier to operate and maintain, but load balancing is sub-optimal as hot spots of high loads on certain disks, servers, or sites go unnoticed
Solution Approach 1:
The system performs self-service by automatically detecting and correcting load imbalances without human intervention. The distribution controller monitors system conditions and autonomously redistributes erasure codes to achieve optimal load balancing, eliminating the need for manual intervention while maintaining operational simplicity.
Solution Approach 2:
The system takes preliminary action by proactively redistributing erasure codes before severe performance degradation occurs. By continuously monitoring system state and preemptively adjusting code placement in response to emerging hot spots or load imbalances, the system prevents performance issues rather than merely reacting to them.
3Productivity
If static, pre-defined settings are consulted only at store time, then the system operation is straightforward, but relationships between erasure codes, usage patterns, capacity considerations, and other factors affecting efficiency are not considered
Solution Approach 1:
The distribution controller serves multiple functions: it monitors system conditions, analyzes usage patterns, evaluates capacity availability, determines optimal code placement, and executes redistribution. This multi-functional approach consolidates complex control operations into a single system component that comprehensively manages erasure code distribution based on multiple factors.
Solution Approach 2:
The system implements comprehensive feedback by continuously monitoring not only basic system state but also usage patterns, capacity trends, and performance metrics. This multi-dimensional feedback enables the distribution controller to make informed decisions that consider relationships between erasure codes, usage patterns, and capacity considerations simultaneously.
Data Source
AI summary
Example apparatus and methods monitor conditions in an object storage system. The conditions monitored may include a load balance measure in the system, a capacity balance measure in the system, a fault tolerance measure in the system, or a usage pattern measure in the system. A distribution plan or redistribution plan for storing or moving erasure codes in the object storage system may be determined based on the conditions. The distribution plan or the redistribution plan for the erasure codes may be updated dynamically in response to changing conditions in the object storage system. The distribution or redistribution may depend on a weighted combination of the load balance measure, the capacity balance measure, the fault tolerance measure, or the usage pattern measure so that responding to one sub-optimal condition (e.g., load imbalance) does not create a different sub-optimal condition (e.g., unacceptable fault tolerance).


