Cloud Cluster Storage Autoscaler for OSD Resource Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage services face inefficiencies due to either over-provisioning of resources, leading to idle resources and underutilization, or under-provisioning, resulting in increased response latency and failure to meet data ingestion velocity, as existing resource allocation methods do not adapt to actual workload demands.

Innovation Solution

A vertical pod autoscaler (VPA) is used to manage resource allocation in a data storage environment by monitoring a subset of object storage daemons (OSDs) within a CRUSH group, determining scaling factors based on resource utilization, and adjusting resource allocation dynamically to match workload demands, thereby optimizing resource consumption and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are over-provisioned in advance, then the data service can handle peak workloads without latency, but resource utilization becomes inefficient and idle resources increase

Engineering Contradiction:
Improveresponse latencyVSAvoidresource idle
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic resource allocation by continuously monitoring actual workload and adjusting resource provisioning in real-time. The system transitions from static over-provisioning to dynamic adaptation, where resources are allocated based on actual demand patterns, allowing the system to respond to workload changes without maintaining excessive reserves during low-demand periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor actual workload, resource utilization metrics, and performance data. This feedback loop enables the resource allocation system to learn from historical data and adjust future provisioning decisions, optimizing the balance between reliability and resource efficiency through continuous improvement.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If resources are under-provisioned, then resource utilization efficiency improves, but the data service fails to meet data ingestion velocity and response latency increases

Engineering Contradiction:
Improveresource utilizationVSAvoiddata ingestion velocity
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system performs preliminary resource allocation based on predicted workload patterns and historical data analysis. By anticipating future demand trends rather than reacting to actual demand alone, the system can provision resources in advance of peak periods, ensuring sufficient capacity without excessive over-provisioning during normal operating conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent adjusts resource allocation parameters dynamically based on monitored metrics such as data ingestion rates, workload patterns, and performance thresholds. The system changes provisioning parameters (resource quantity, distribution, timing) in response to actual system conditions, optimizing the balance between efficiency and capacity requirements.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If resource allocation is adjusted frequently to match workload, then resource efficiency improves, but system complexity and computational overhead increase

Engineering Contradiction:
Improveresource efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system segments the resource allocation management into distinct functional components: workload monitoring module, analysis module, and allocation module. This segmentation allows each component to handle specific tasks independently, reducing overall system complexity while enabling sophisticated resource optimization through specialized processing at each stage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service resource allocation where the resource allocation system automatically monitors, analyzes, and adjusts resource provisioning without requiring manual intervention. This automation reduces operational complexity and human resource requirements while maintaining optimal resource efficiency through continuous self-optimization based on monitored metrics.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230418671A1Cloud cluster storage resource autoscaler
Publication Date: 2023.12.28 RED HAT INC
  • US20230418671A1 patent drawing
  • US20230418671A1 patent drawing
  • US20230418671A1 patent drawing

AI summary

Methods, systems, and computer program products herein provide operations or techniques for managing resource allocation in a data storage environment. According to aspects of the present disclosure, one or more storage nodes of hierarchy on a common hierarchy level are identified as a management group. For example, the one or more storage nodes of hierarchy may include one or more object storage daemons (OSDs) of a controlled replication under scalable hashing (CRUSH) group or the like. The resource utilization in a subset of the one or more storage nodes in the management group are monitored. Based on the monitored resource utilization, a processing device may determine respective scaling factors for allocating resources to the one or more storage nodes in the management group. The processing device may then adjust the resource allocation using the respective scaling factors in the one or more storage nodes.