Distributed Resource Management for Cloud Job Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed schedulers fail to efficiently manage dynamic cloud computing environments where resources are scaled up or down based on demand, leading to inefficiencies such as high overhead in job execution and inadequate support for computationally intensive tasks.

Innovation Solution

A system and method for distributed resource management that identifies composite memory and processing requirements for jobs in a queue, dynamically adds or removes nodes from a cluster based on availability scores and demand scores, and grants nodes the privilege to draw jobs within their capacity, optimizing resource utilization and cost-effectiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cloud computing resources are dynamically scaled up or down based on demand, then resource utilization efficiency is improved, but conventional distributed schedulers cannot handle the dynamic element satisfactorily

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidhandling dynamic resource changes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts the cluster size by adding or removing nodes based on real-time computational demand. The scheduler continuously monitors job queue status and automatically provisions or deprovisions computing resources, making the system adaptable to changing workloads without manual intervention.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The distributed scheduler autonomously manages resource allocation and cluster dynamics without requiring external control. It automatically detects when resources need to be added or removed, performs the provisioning operations, and maintains optimal resource utilization through self-regulating mechanisms.

Inventive Principle:
Principle #25Self-service

2Reliability

If cloud based solutions spin up an entire virtual node for each job chunk, then job isolation is improved, but overhead increases to two- to five-minute per submitted job

Engineering Contradiction:
Improvejob isolationVSAvoidjob submission overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system combines multiple short-lived job chunks into longer-running processes that execute on persistent cluster nodes. By batching and consolidating job execution, the system reduces the frequency of node provisioning and teardown operations, thereby reducing overall overhead while maintaining job isolation through process-level separation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system pre-provisions cluster nodes before jobs are submitted and keeps them running in a ready state. This preliminary action eliminates the need to spin up virtual nodes for each individual job chunk, reducing submission overhead while maintaining the ability to isolate jobs through proper process management on the pre-configured nodes.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If cloud based solutions provide ample memory support for each chunk, then memory requirements are satisfied, but cost increases substantially

Engineering Contradiction:
Improvememory availabilityVSAvoidcomputational cost
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The system dynamically adjusts memory allocation parameters based on the specific requirements of jobs in the queue. Rather than providing ample memory to every node by default, the scheduler analyzes job characteristics and allocates memory resources efficiently, matching supply to actual demand and reducing unnecessary resource consumption and costs.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements differentiated memory allocation where different nodes in the cluster are configured with memory capacities matched to their specific workload requirements. Instead of uniform high memory allocation across all nodes, each node receives the appropriate memory resources needed for its assigned tasks, optimizing the balance between memory availability and cost.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11645121B2Systems and methods for distributed resource management
Publication Date: 2023.05.09 10X GENOMICS INC
  • US11645121B2 patent drawing
  • US11645121B2 patent drawing
  • US11645121B2 patent drawing

AI summary

Methods, computer readable media, and systems service a queue, comprising a plurality of jobs, by identifying nodes satisfying a hardware requirement for at least a subset of jobs in the queue. Each job indicates when it was submitted to the queue and one or more node resource requirements. A current availability score for each node class in a plurality of node classes is determined and nodes of a first node class in the plurality of node classes are reserved when a demand score for the class satisfies the current availability score for the first node class by a first threshold amount. Reserved nodes are permitted to draw jobs from the queue in accordance with satisfaction by such nodes of the node resource requirements of the jobs but are terminated, without completing the jobs, when the current availability score for their node class exceeds a second threshold amount.