Dynamic Rebalancing for Pure-Spot Auto-Scaling Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Big Data cloud services face challenges in efficiently utilizing Spot Instances due to their unpredictable availability, high termination risk, and potential for data corruption, which complicates workload management and increases costs.
Innovation Solution
Implementing a dynamic rebalancing method that uses a mix of stable and volatile Spot Instances, where stable nodes are created with high bid prices and volatile nodes with low bid prices, with a pre-established ratio, allowing for swapping of nodes to maintain cluster stability and availability, and automatically falling back to On-Demand instances when necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If Spot Instances are used to reduce costs, then cost savings are achieved, but instance availability and stability deteriorate due to unpredictable termination
Solution Approach 1:
The Hadoop cluster is segmented into two distinct node types: stable nodes (master and scheduler) and volatile nodes (slave workers). This segmentation allows critical control functions to run on reliable infrastructure while computation-intensive tasks run on cost-effective Spot Instances, resolving the contradiction between cost savings and system stability.
Solution Approach 2:
Different quality levels are applied to different parts of the system. Stable nodes use high-reliability On-Demand instances for control plane functions, while volatile nodes use low-cost Spot Instances for data plane computations. This local differentiation optimizes both cost and reliability where needed.
2Reliability
If higher bid prices are used for Spot Instances to reduce termination risk, then instance stability improves, but cost savings deteriorate
Solution Approach 1:
The system segments bidding strategies by node type: stable nodes use aggressive bidding (or On-Demand) for stability, while volatile nodes use economical bidding for cost efficiency. This segmented approach allows the system to achieve adequate stability without paying premium prices across the entire cluster.
Solution Approach 2:
Volatile nodes are designed as disposable, low-cost Spot Instances that can be terminated and replaced easily. This approach accepts their transient nature and focuses on rapid replacement rather than expensive stabilization, achieving cost savings while maintaining operational reliability through orchestration.
3Loss of energy
If Spot Instances are used for slave nodes, then cost efficiency improves, but data corruption risk increases due to unexpected terminations
Solution Approach 1:
The system implements preemptive protective measures: checkpoints, data replication, and task acknowledgment mechanisms are in place before potential Spot Instance terminations occur. This cushioning approach ensures data integrity even when volatile nodes are unexpectedly terminated, allowing cost-effective Spot usage without compromising data safety.
Solution Approach 2:
The system employs feedback mechanisms where slave nodes acknowledge task completion and master nodes monitor cluster health continuously. This real-time feedback enables rapid detection and recovery from Spot Instance terminations, preventing data corruption by ensuring tasks are properly committed before node failure.
4Reliability
If a mix of stable and volatile nodes is used, then overall system reliability improves, but system complexity increases
Solution Approach 1:
The cluster orchestration system automatically manages the complexity of mixed node types through self-service mechanisms: automatic node provisioning, health monitoring, failure detection, and dynamic rebalancing. This automation hides the underlying complexity from users while maintaining high system reliability through continuous adaptive management.
Data Source
AI summary
The present invention is generally directed to systems and methods of providing automatic scaling pure-spot clusters. Such dusters may be dynamically rebalanced for further costs savings. In accordance with some methods of the present invention may include a method of utilizing a cluster in a big data cloud computing environment where instances may include reserved on-demand instances for a set price and on-demand spot instances that may be bid on by a user, the method including: creating one or more stable nodes, comprising spot instances with a bid price above a price for an equivalent on-demand instance; creating one or more volatile nodes, comprising spot instances with a bid price below a price for an equivalent on-demand instance; using one or more of the stable nodes as a master node; and using the volatile nodes as slave nodes.
