Transient Resource Scheduling and Checkpointing in Spark Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale data centers face low resource utilization due to transient resources being unstable, leading to high recomputation costs and inefficiencies in traditional distributed data processing systems like Hadoop or Spark, which are designed for dedicated hardware and struggle with frequent resource failures.

Innovation Solution

Implementing TR-Scheduling and TR-Checkpointing technologies that prioritize tasks based on data size reduction and resource stability, allowing for adaptive checkpointing decisions to minimize recomputations and effectively utilize transient resources in a Spark system (TR-Spark).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional distributed data processing systems (Hadoop or Spark) are used on transient resources, then the system can process data tasks, but the excessive cost of cascading recomputations occurs after transient resources fail or become unavailable

Engineering Contradiction:
Improvetask completion reliabilityVSAvoidrecomputation cost
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary checkpointing of intermediate data at strategic points in the data processing pipeline before transient resource failures occur. This advance preparation ensures that when failures happen, the system can resume from checkpoints rather than performing expensive full recomputations, directly addressing the high recomputation cost problem

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts checkpointing frequency and data retention parameters based on resource stability metrics and task characteristics. By changing these parameters adaptively, the system optimizes the balance between storage overhead and recomputation cost, achieving lower energy loss while maintaining task completion reliability

Inventive Principle:
Principle #35Parameter changes

2Productivity

If transient resources are utilized to increase resource utilization, then more computing capacity is available, but the instability of transient resources leads to frequent failures and inefficiencies

Engineering Contradiction:
Improveresource utilization rateVSAvoidresource stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system continuously monitors transient resource stability metrics and feeds this information back into scheduling decisions. Resources are dynamically selected or rejected based on their observed stability, allowing the system to maintain high resource utilization while adapting to changing resource conditions and minimizing the impact of instability

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system implements dynamic task scheduling that can adaptively reassign tasks when transient resources fail. Rather than static allocation, the scheduler continuously adjusts resource-task mappings based on real-time resource availability and stability, maintaining productivity despite resource instability

Inventive Principle:
Principle #15Dynamics

3Reliability

If dedicated hardware is used to ensure resource stability, then resource reliability is maintained, but resource utilization rate decreases due to over-provisioning and idle capacity

Engineering Contradiction:
Improveresource stabilityVSAvoidresource utilization rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system employs transient resources that are inexpensive and short-lived compared to dedicated hardware. By accepting the ephemeral nature of these resources and compensating through checkpointing and dynamic scheduling, the system achieves high resource utilization at lower cost, effectively replacing expensive long-lived dedicated resources with cheaper transient alternatives

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS11416286B2Computing on transient resources
Publication Date: 2022.08.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11416286B2 patent drawing
  • US11416286B2 patent drawing
  • US11416286B2 patent drawing

AI summary

Aspects of the technology described herein can facilitate computing on transient resources. An exemplary computing device may use a task scheduler to access information of a computational task and instability information of a transient resource. Moreover, the task scheduler can schedule the computational task to use the transient resource based at least in part on the rate of data size reduction of the computational task. Further, a checkpointing scheduler in the exemplary computing device can determine a checkpointing plan for the computational task based at least in part on a recomputation cost associated with the instability information of the transient resource. Resultantly, the overall utilization rate of computing resources is improved by effectively utilizing transient resources.