Data Processing Resource Scheduling with Job Dependency Segmentation
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If resources are allocated without considering job dependencies, then resource allocation is simple, but data processing throughput and latency performance deteriorate
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.
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.
2Loss of time
If independent and dependent jobs are processed with the same scheduling policy, then scheduling is simple, but data latency increases
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.
3Productivity
If resource allocation does not adapt to changing job dependencies, then allocation is simple, but processing efficiency deteriorates
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.
Data Source
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.


