Non-Interactive Job Cluster Pools to Reduce Spinup Delays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing job clusters, particularly non-interactive ones, face inefficiencies such as long startup times, resource wastage due to idle periods, and failure during instantiation, making them impractical for large-scale data processing tasks, and challenging to manage dynamically.

Innovation Solution

A system comprising non-interactive job clusters, a control database, and a controller that dynamically instantiates clusters based on task queue size, monitors their instantiation, and executes a dispatcher process to manage tasks efficiently, replacing failed clusters and optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a new job cluster is instantiated for each new job, then the job cluster is less likely to encounter degradation over time, but this leads to delays in spinup/startup (on the order of 5-10 minutes)

Engineering Contradiction:
Improvejob cluster reliabilityVSAvoidspinup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-instantiates multiple job clusters in advance and maintains them in a ready state. When jobs arrive, the workload manager assigns them to pre-existing clusters rather than creating new ones, thereby eliminating the 5-10 minute spinup delay while still using non-interactive clusters that avoid degradation issues

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically manages a pool of job clusters by monitoring their status and automatically replacing failed clusters. The workload manager can assign jobs to available clusters and spin up new ones as needed, creating a flexible system that balances reliability with rapid job execution

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If interactive clusters are used for data analysis, then users can collaborate using interactive notebooks, but multiple users sharing the cluster degrades each other's performance

Engineering Contradiction:
Improveinteractive collaborationVSAvoidprocessing performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments the computing environment into two distinct types of clusters: interactive clusters for collaboration and non-interactive job clusters for data processing. By separating these workloads, the system allows users to collaborate on interactive notebooks while dedicated job clusters handle processing tasks without performance degradation from shared resources

Inventive Principle:
Principle #1Segmentation

3Duration of action of stationary object

If interactive clusters are used for long periods of time, then they can execute notebooks sequentially, but this makes them more computationally costly to operate

Engineering Contradiction:
Improvecluster lifetimeVSAvoidcomputational cost
Core Design Contradiction:
Duration of action of stationary objectVSUse of energy by stationary object

Solution Approach 1:

The system uses short-lived non-interactive job clusters that are instantiated only when needed for processing tasks. These clusters are terminated after completing their work, avoiding the continuous computational cost of maintaining long-lived interactive clusters. The pre-instantiation pool provides a balance by keeping clusters ready but not permanently active

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

Data Source

PatentUS20250245071A1Computing systems and methods for data processing using non-interactive job clusters
Publication Date: 2025.07.31 THE TORONTO DOMINION BANK
  • US20250245071A1 patent drawing
  • US20250245071A1 patent drawing
  • US20250245071A1 patent drawing

AI summary

Job clusters take time to instantiate. A computing system is provided comprising a plurality of non-interactive job clusters, a control database storing a task queue, and a controller. The controller instantiates one or more clusters of the plurality of non-interactive job clusters based on a size of the task queue and monitoring if the one or more clusters are successfully instantiated. Each of the one or more clusters, after successfully being instantiated by the controller, executes a dispatcher process that includes: querying the control database to identify an available task from the task queue; obtaining and processing the available task; and, after completion of the available task, further querying the control database prior to terminating.