Dynamic Task Prioritization via Dependency Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As the complexity of jobs with interdependent tasks increases in multi-execution environments, existing scheduling methods struggle to determine an efficient order of execution, especially in environments with multiple executors processing tasks simultaneously, leading to reduced efficiency and increased waiting times.

Innovation Solution

A system computes dynamic priority scores for unexecuted tasks based on the number of dependent tasks and other factors, using a directed acyclic graph to represent task dependencies and prioritize tasks for execution, while dynamically adjusting the number of executors to optimize resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple executors process tasks simultaneously in multi-execution environments, then productivity increases, but device complexity increases

Engineering Contradiction:
Improvetask processing throughputVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments tasks into discrete units with defined dependencies, representing them as nodes in a directed acyclic graph (DAG). Each task is independently schedulable, allowing multiple executors to process different task segments simultaneously while maintaining overall job coherence through the dependency graph structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler dynamically adjusts task prioritization and executor allocation based on real-time system state. Priority scores are computed dynamically considering current dependencies, resource availability, and task characteristics, enabling the system to adapt to changing conditions and optimize throughput without fixed rigid scheduling rules.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If task dependencies increase in complex jobs, then manufacturing precision improves, but loss of time increases

Engineering Contradiction:
Improvetask execution correctnessVSAvoidtask waiting time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of task dependencies by constructing the complete DAG representation before execution begins. Critical path analysis and priority computations are pre-calculated based on dependency relationships, allowing the scheduler to proactively identify which tasks can be executed immediately and which must wait, minimizing unnecessary delays while ensuring correctness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduler continuously monitors task completion status and updates the dependency graph in real-time. As tasks complete, the system immediately recalculates priority scores and identifies newly available tasks that have satisfied all their dependencies, enabling rapid response to completion events and minimizing waiting time for subsequent tasks.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240264862A1Task prioritization based on current conditions
Publication Date: 2024.08.08 ORACLE INT CORP
  • US20240264862A1 patent drawing
  • US20240264862A1 patent drawing
  • US20240264862A1 patent drawing

AI summary

A system continually or periodically computes priority scores for unexecuted tasks. The system selects and executes tasks based on respective priority scores. The priority score for a particular unexecuted task may be computed as a function of a set of tasks that currently depend on the particular unexecuted task. The priority score for the particular unexecuted task may increase or decrease as the set of tasks, that depend on the particular unexecuted task, increase or decrease.