Task Scheduling via DAG Conversion for Cyclic Dependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer applications fail to utilize the full potential of high-speed multi-core processors due to their sequential nature and high inter-dependence of tasks, particularly circular dependencies, leading to scalability issues in processing computationally intense simulations like network validation in optical networks.

Innovation Solution

A scalable task scheduling method that segments tasks into a Directed Acyclic Graph (DAG) using semantic analysis, predicting input and output data, and breaking cycles to enable parallel execution, employing algorithms like Kosaraju's and Johnson's to convert cyclic dependencies into a finite directed graph with no cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tasks are executed sequentially to maintain correct dependency ordering, then task execution correctness is ensured, but processor utilization efficiency deteriorates

Engineering Contradiction:
Improvetask execution correctnessVSAvoidprocessor utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the task execution process into distinct phases: dependency analysis phase (building the DAG to identify execution order) and parallel execution phase (executing independent tasks concurrently). This segmentation allows the system to maintain correctness through proper dependency ordering while achieving parallel execution for independent tasks, thus resolving the contradiction between reliability and productivity.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If circular dependencies are resolved by sequential execution, then execution simplicity is maintained, but scalability deteriorates

Engineering Contradiction:
Improveexecution simplicityVSAvoidscalability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces a Directed Acyclic Graph (DAG) as an intermediary data structure that captures task dependencies and execution order. The DAG serves as a mediator between circular dependencies and parallel execution, allowing the system to break cycles and identify valid execution sequences automatically. This intermediary enables scalable parallel execution while maintaining execution simplicity through automated dependency resolution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If task dependencies are strictly enforced to ensure correctness, then execution accuracy is improved, but parallel execution capability deteriorates

Engineering Contradiction:
Improveexecution accuracyVSAvoidparallel execution capability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent dynamically adjusts task execution based on the DAG structure. Tasks are executed in parallel when the DAG shows no dependency constraints, and sequential execution is automatically applied when dependencies require specific ordering. This dynamic approach maintains execution accuracy by respecting dependency constraints while maximizing parallel execution capability for independent tasks.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10754709B2Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
Publication Date: 2020.08.25 CIENA CORP
  • US10754709B2 patent drawing
  • US10754709B2 patent drawing
  • US10754709B2 patent drawing

AI summary

Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis include, for a software application including a plurality of tasks which are cyclic interdependent tasks, segmenting the plurality of tasks into a task graph with vertices including the plurality of tasks and edges including interdependencies between the plurality of tasks; processing the task graph into a dependency graph which is a Directed Acyclic Graph (DAG); and causing execution of the plurality of tasks in a parallel manner based on the dependency graph.