Cluster Capacity Planning via Regression Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Capacity planning for computer clusters is often time-consuming, fragmented, and inaccurate due to changing workloads, making it difficult to predict the necessary resources for processing future workloads.

Innovation Solution

A system that identifies software components' current and historical resource usage across nodes in a cluster, projects future resource requirements through regression analysis, and calculates the estimated capacity needed to process future workloads by determining the number of nodes required for storage, processing power, memory, and network operations, allowing for dynamic adjustments based on workload changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual capacity planning methods are used, then flexibility to handle changing workloads is maintained, but accuracy of capacity predictions deteriorates

Engineering Contradiction:
Improvecapacity prediction accuracyVSAvoidplanning system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring actual resource usage metrics from cluster nodes and comparing them against projected capacity requirements. This feedback loop enables the system to refine its predictions over time, improving accuracy while maintaining automated operation. The feedback is used to adjust capacity projections and generate timely alerts when actual usage approaches projected thresholds.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The capacity planning system performs self-service by automatically collecting resource usage data, analyzing trends, generating capacity projections, and identifying when additional nodes are needed. This automation eliminates the need for manual intervention while maintaining high prediction accuracy through continuous self-monitoring and self-adjustment of capacity forecasts.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If detailed historical analysis is performed for each component, then prediction accuracy improves, but time consumption increases

Engineering Contradiction:
Improveresource usage measurement accuracyVSAvoidplanning time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by continuously collecting and storing resource usage metrics in advance, building historical datasets as workloads evolve. This pre-collected data is then rapidly analyzed using regression techniques to generate capacity projections, eliminating the need for time-consuming manual analysis when planning is needed. The preliminary data collection enables fast, accurate projections when capacity planning is required.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system replaces manual mechanical analysis with automated computational methods. Regression analysis algorithms automatically process historical resource usage data and generate capacity projections, substituting time-consuming manual spreadsheet analysis and trend identification with rapid computational processing that maintains high accuracy while dramatically reducing planning time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If the cluster configuration changes (hardware, software, or workload), then adaptability improves, but reliability of capacity projections deteriorates

Engineering Contradiction:
Improveworkload configuration adaptabilityVSAvoidprojection reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements dynamics by continuously monitoring changes in cluster configuration, workload characteristics, and resource usage patterns. When changes are detected, the system dynamically adjusts its regression models and capacity projections to reflect new baselines. This dynamic adaptation maintains projection reliability even as the cluster evolves, because the system continuously updates its understanding of resource consumption patterns rather than relying on static historical data.

Inventive Principle:
Principle #15Dynamics

4Quantity of substance

If comprehensive resource metrics are collected across all nodes, then completeness of capacity planning improves, but system complexity increases

Engineering Contradiction:
Improvedata completenessVSAvoiddata collection system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system applies universality by implementing a standardized metrics collection framework that uniformly gathers resource usage data across all cluster nodes regardless of their specific configuration or workload. This universal approach enables comprehensive capacity planning through consistent data collection while minimizing system complexity through standardized interfaces and centralized processing. The same collection mechanism serves multiple purposes: monitoring individual node usage, analyzing cluster-wide trends, and generating capacity projections.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10355946B1Capacity planning
Publication Date: 2019.07.16 HORTONWORKS INC
  • US10355946B1 patent drawing
  • US10355946B1 patent drawing
  • US10355946B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for identifying a plurality of software components deployed on a cluster of computing nodes, each component operating on one or more respective nodes within the cluster to process a workload, each component utilizing at least the following resources of the one or more respective nodes: storage, processing power, memory, and disk and network input and output operations; determining, for each identified component, current and historical usages of the resources of the one or more respective nodes by the component when processing the workload; receiving data specifying a future workload; and calculating, from the current and historical usages of each component, an estimated capacity required for the cluster to process the future workload, where the estimated capacity specifies, at least, how many nodes should be in the cluster to process the future workload.