Cluster Resource Scaling via Historical Usage Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cluster computing systems face inefficiencies due to overallocation of resources, leading to wasteful use of computation resources as users typically allocate more resources than needed, resulting in underutilization and increased operating costs.

Innovation Solution

A system that manages cluster computing resources by storing resource usage history, determining the required resource size for tasks based on historical data, resizing resource allocations, arranging tasks to optimize worker system usage, and deallocating unused worker systems, employing a multistep automated scaling process to efficiently allocate and reallocate resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If users allocate more resources than needed to ensure jobs are not bottlenecked, then job execution reliability is improved, but clusterwide resource utilization efficiency deteriorates

Engineering Contradiction:
Improvejob execution reliabilityVSAvoidclusterwide resource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements dynamic resource allocation by continuously monitoring job performance metrics and adjusting resource allocation in real-time. Instead of static overallocation, the system scales resources up or down based on actual job requirements, maintaining reliability while improving overall cluster utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring job execution metrics and using this information to adjust resource allocation. The feedback loop allows the system to learn from actual resource usage patterns and optimize allocation decisions, ensuring both job reliability and efficient cluster-wide resource utilization.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If static resource allocation is used at the start of a job, then allocation simplicity is improved, but resource allocation efficiency deteriorates due to overallocation

Engineering Contradiction:
Improveallocation simplicityVSAvoidresource allocation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary resource allocation based on historical data and job characteristics before execution begins. This preliminary action provides a reasonable starting point that balances simplicity with efficiency, avoiding both extreme overallocation and insufficient allocation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system transitions from static to dynamic resource allocation during job execution. Resources are initially allocated based on simple rules or historical data, then continuously adjusted based on real-time monitoring of actual resource usage and job performance requirements.

Inventive Principle:
Principle #15Dynamics

3Productivity

If more worker systems are deployed to handle all tasks, then task processing capacity is improved, but system cost and resource waste increase

Engineering Contradiction:
Improvetask processing capacityVSAvoidsystem cost and resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically scales the number of active worker systems based on the current workload and task queue depth. When task demand is high, more workers are activated; when demand is low, workers are deactivated or placed in standby mode, maintaining processing capacity while reducing resource waste.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system creates a pool of worker systems that can be dynamically assigned to different tasks based on demand. These workers serve multiple functions and can be allocated to various job types, maximizing utilization and reducing the need for dedicated workers for each task type.

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

Data Source

PatentUS10846144B2Multistep automated scaling for cluster containers
Publication Date: 2020.11.24 NUTANIX INC
  • US10846144B2 patent drawing
  • US10846144B2 patent drawing
  • US10846144B2 patent drawing

AI summary

A system for managing a cluster computing system includes a storage system and a processor. The storage system is configured to store a resource usage history for a set of tasks running on a computer cluster comprising a plurality of worker systems. The processor is configured to determine a required resource size for a task of the set of tasks based at least in part on the resource usage history for the task; resize resources allocated to the task to the required resource size; arrange tasks of the set of tasks on the plurality of worker systems to reduce a number of worker systems running tasks; and deallocate worker systems no longer running tasks.