Dynamic Cluster Scaling with Core and Auxiliary Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing large-scale computer networks and distributed computing resources has become increasingly complex due to the need for dynamic scaling and efficient resource allocation, particularly in environments where computing nodes may be temporarily available at varying costs and with uncertain availability.

Innovation Solution

A Distributed Program Execution (DPE) service that dynamically scales clusters of computing nodes by using core and auxiliary nodes, participating in distributed storage systems, and selectively utilizing temporarily available nodes to optimize resource usage and cost, while ensuring data availability and efficient program execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If computing nodes are dynamically added and removed from the cluster, then resource utilization and cost-effectiveness are improved, but system complexity and management difficulty increase

Engineering Contradiction:
Improvedynamic scaling capabilityVSAvoidcluster management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements self-service through automated node provisioning and deprovisioning based on workload demands. The cluster manager automatically adds computing nodes when resources are needed and removes them when no longer required, without manual intervention. This automation resolves the contradiction by making the system adaptable to changing demands while reducing management complexity through elimination of manual operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The cluster architecture employs dynamic node membership where computing nodes can be added or removed during operation. The system maintains operational integrity through dynamic reconfiguration of workloads and data distribution when node composition changes. This dynamic approach enables resource optimization while managing complexity through automated orchestration rather than static rigid structures.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If temporarily available computing nodes are utilized, then cost-effectiveness is improved, but data availability and execution reliability may be compromised

Engineering Contradiction:
Improveresource availability flexibilityVSAvoiddata availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system applies local quality by differentiating between core nodes that provide guaranteed data availability and auxiliary nodes that provide temporary supplemental capacity. Core nodes maintain persistent data storage and long-term availability, while auxiliary nodes provide temporary computing power for specific tasks. This differentiation allows the system to utilize temporary resources for computation while relying on core nodes for data availability guarantees.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The distributed storage system acts as an intermediary layer between temporary computing nodes and persistent data storage. When auxiliary nodes are removed or become unavailable, the storage system ensures data remains accessible through replication and distributed access mechanisms. This intermediary layer decouples the temporary nature of auxiliary nodes from the reliability requirements of data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the number of computing nodes is increased, then processing capacity and productivity are improved, but resource allocation complexity and management overhead increase

Engineering Contradiction:
Improveprogram execution capacityVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cluster is segmented into core nodes and auxiliary nodes with distinct functional roles. Core nodes handle persistent data storage and long-term computations, while auxiliary nodes provide temporary supplemental processing power. This segmentation allows independent management of each node type, reducing overall allocation complexity while maintaining high productivity through coordinated operation of both segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cluster manager implements universal resource allocation mechanisms that handle both core and auxiliary nodes through standardized interfaces and protocols. The same management infrastructure provisions, monitors, and deprovisions different node types using unified policies, reducing management overhead despite the diversity of node functions and lifecycles.

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

Data Source

PatentUS9280390B2Dynamic scaling of a cluster of computing nodes
Publication Date: 2016.03.08 AMAZON TECH INC
  • US9280390B2 patent drawing
  • US9280390B2 patent drawing
  • US9280390B2 patent drawing

AI summary

Techniques are described for managing distributed execution of programs, including by dynamically scaling a cluster of multiple computing nodes performing ongoing distributed execution of a program, such as to increase and/or decrease computing node quantity. An architecture may be used that has core nodes that each participate in a distributed storage system for the distributed program execution, and that has one or more other auxiliary nodes that do not participate in the distributed storage system. Furthermore, as part of performing the dynamic scaling of a cluster, computing nodes that are only temporarily available may be selected and used, such as computing nodes that might be removed from the cluster during the ongoing program execution to be put to other uses and that may also be available for a different fee (e.g., a lower fee) than other computing nodes that are available throughout the ongoing use of the cluster.