Data Processing Resource Scheduling with Job Dependency Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems face challenges in managing resource-intensive data processing applications with multiple jobs that have dependencies, as existing methods struggle to efficiently allocate resources and schedule tasks in real-time, leading to issues with data latency and throughput.

Innovation Solution

A scheduling device allocates data processing resources into independent and dependent job pools based on job dependencies, using a directed acyclic graph (DAG) to determine resource allocation and adjust parameters dynamically, and employs machine learning to optimize resource allocation and scheduling policies over time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are allocated without considering job dependencies, then resource allocation is simple, but data processing throughput and latency performance deteriorate

Engineering Contradiction:
Improvedata processing throughputVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data processing jobs into independent and dependent categories based on their dependency relationships. Independent jobs can be executed without waiting for other jobs, while dependent jobs must wait for their prerequisites to complete. This segmentation enables the scheduler to allocate resources differently to each job type, improving overall throughput by maximizing parallel execution of independent jobs while maintaining proper execution order for dependent jobs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the scheduler continuously monitors job status and adjusts resource distribution in real-time. When jobs complete or new jobs become available, the scheduler dynamically reallocates resources from the independent job pool to dependent job pools as needed. This dynamic adjustment optimizes throughput by ensuring resources are always allocated to jobs ready for execution while maintaining appropriate latency characteristics.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If independent and dependent jobs are processed with the same scheduling policy, then scheduling is simple, but data latency increases

Engineering Contradiction:
Improvedata latencyVSAvoidscheduling policy complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies different scheduling policies to different job pools based on their specific requirements. Independent jobs use a first scheduling policy optimized for throughput (such as round-robin or priority-based scheduling), while dependent jobs use a second scheduling policy optimized for latency (such as FIFO or token-based scheduling). This local differentiation ensures that each job type receives the scheduling treatment it needs to achieve optimal performance characteristics.

Inventive Principle:
Principle #3Local quality

3Productivity

If resource allocation does not adapt to changing job dependencies, then allocation is simple, but processing efficiency deteriorates

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidadaptation to changing dependencies
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a feedback mechanism where the scheduler continuously monitors job completion status and dependency resolution. When dependent jobs complete or new dependencies are resolved, the system receives feedback about the changing job landscape and automatically adjusts resource allocation accordingly. This feedback loop enables the scheduler to adapt to changing job dependencies in real-time, maintaining optimal processing efficiency as job relationships evolve.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10037230B2Managing data processing resources
Publication Date: 2018.07.31 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10037230B2 patent drawing
  • US10037230B2 patent drawing
  • US10037230B2 patent drawing

AI summary

Examples relate to managing data processing resources. In one example, a computing device may: determine, for each of a plurality of data processing jobs, that the job is independent or dependent; allocate data processing resources to an independent job processing pool or a dependent job processing pool based on an initial resource share value indicating how resources are to be allocated between job processing pools; determine a first policy for scheduling data to be processed by processing resources allocated to the independent job processing pool; determine a second policy for scheduling data to be processed by processing resources allocated to the dependent job processing pool; determine an initial parallelism value that specifies a number of concurrently processing jobs; and provide a processing device with instructions to process batches of data using the allocation of data processing resources, the first policy, the second policy, and the initial parallelism value.