Distributed Job Scheduler with Self-Scheduling and Stealing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization technologies present challenges in data management due to higher workload consolidation and the need for instant, granular recovery, particularly in virtualized infrastructure environments where traditional recovery methods are inadequate.

Innovation Solution

An integrated data management and storage system that utilizes a distributed cluster of nodes for managing automated storage, backup, deduplication, replication, and archival of data across physical and virtual environments, enabling near-instantaneous recovery of virtual machines and files through snapshot management and load balancing of jobs across data storage nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional recovery methods are used in virtualized infrastructure environments, then system simplicity is maintained, but recovery speed and granularity are insufficient

Engineering Contradiction:
Improverecovery speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments recovery operations into granular job tasks that can be independently scheduled and executed across multiple data storage nodes. Each snapshot operation is divided into discrete tasks that can be processed in parallel, enabling fast and granular recovery of specific virtual machine components without requiring complete system recovery.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a distributed job scheduling dimension overlaying the traditional storage architecture. Job scheduler processes distribute recovery tasks across multiple nodes in a coordinated manner, adding a temporal and spatial dimension to recovery operations that enables parallel processing and accelerates recovery speed without fundamentally redesigning the underlying storage system.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If workload consolidation is increased in virtualized environments, then resource efficiency improves, but data management complexity increases

Engineering Contradiction:
Improveresource efficiencyVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The job scheduler implements self-service mechanisms where individual job tasks automatically select and execute on appropriate data storage nodes based on current system state. Each node independently manages its own job queue and makes localized scheduling decisions, eliminating the need for complex centralized coordination while maintaining efficient workload consolidation across the distributed system.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adapts workload distribution based on real-time conditions at each data storage node. Job scheduler processes continuously monitor node availability and adjust task allocation dynamically, allowing the system to efficiently consolidate workloads during normal operation while automatically distributing complexity when nodes experience varying load conditions.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If job queue length threshold is set low for job stealing, then load balancing responsiveness improves, but unnecessary job transfers increase

Engineering Contradiction:
Improveload balancing responsivenessVSAvoidjob transfer overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system dynamically adjusts the job queue length threshold parameter based on system conditions. The threshold is not fixed but adapts to current workload patterns and node capacities, allowing the load balancing mechanism to remain responsive without triggering excessive job transfers during periods of normal operation. This parameter adaptation resolves the contradiction between responsiveness and overhead.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The load balancing mechanism incorporates feedback from job queue length monitoring across all data storage nodes. When a node's queue exceeds the threshold, the system responds by transferring jobs to nodes with lower queues. This feedback loop ensures responsive load balancing while the threshold mechanism prevents overly aggressive transfers by requiring meaningful queue length differences before initiating job stealing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11237864B2Distributed job scheduler with job stealing
Publication Date: 2022.02.01 RUBRIK INC
  • US11237864B2 patent drawing
  • US11237864B2 patent drawing
  • US11237864B2 patent drawing

AI summary

Methods and systems for improving the performance of a distributed job scheduler using job self-scheduling and job stealing are described. The distributed job scheduler may schedule jobs to be run among data storage nodes within a cluster. Each node in the cluster may make a localized decision regarding which jobs should be executed by the node by periodically polling candidate jobs from a table of candidate jobs stored using a distributed metadata store. Upon completion of a job, the job may self-schedule another instance of itself if the next instance of the job should be run before the next polling of candidate jobs by the node that ran the completed job. The node may attempt to steal one or more jobs from a second node within the cluster if a job queue length for a job queue associated with the node falls below a queue length threshold.