Dynamic Workflow Scheduling for Data Transfer Cost Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing scheduling methods for parallel processing systems, whether centralized or decentralized, face inefficiencies in resource allocation due to data transfer costs and complexities in managing execution dependencies between programs, leading to suboptimal processor utilization and increased communication costs.

Innovation Solution

A global scheduler dynamically assigns programs to nodes based on execution dependency priority, using methods like topological sorting and shortest path length to optimize resource allocation, and employs logical node assignment to minimize data transfer costs, enabling preemptive execution when feasible.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a centralized scheduler is used to manage program execution, then resource allocation can be controlled centrally, but data transfer costs increase when dependent programs are assigned to different nodes

Engineering Contradiction:
Improvecentralized controlVSAvoiddata transfer cost
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent combines multiple dependent programs into a single executable unit that can be assigned to one node, eliminating the need for inter-node data transfer. This merging approach maintains centralized scheduling control while reducing communication overhead by ensuring that programs with execution dependencies run on the same node.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces an intermediary mechanism that analyzes program dependencies and determines whether to execute programs locally or transfer data between nodes. This intermediary layer mediates between centralized scheduling decisions and actual execution, optimizing the balance between control and communication costs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a decentralized scheduler is used to improve scalability, then system scalability increases, but communication complexity and control difficulty increase

Engineering Contradiction:
ImprovescalabilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the scheduling function into two parts: a centralized component that handles high-level resource allocation and dependency analysis, and decentralized components at each node that handle local execution decisions. This segmentation allows the system to scale while maintaining manageable control complexity by distributing appropriate functions to where they are most effective.

Inventive Principle:
Principle #1Segmentation

3Productivity

If programs are assigned to different nodes for parallel execution, then processor utilization increases, but communication overhead increases due to data transfer between nodes

Engineering Contradiction:
Improveprocessor utilizationVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent performs preliminary analysis of program dependencies before assignment, identifying which programs should be grouped together to minimize communication. By taking this preliminary action, the scheduler can assign programs to nodes in advance, avoiding the need for costly inter-node data transfers during execution while still achieving high processor utilization.

Inventive Principle:
Principle #10Preliminary action

4Ease of manufacture

If FIFO scheduling is used for simplicity, then implementation is simple, but execution efficiency decreases when dependency constraints are not considered

Engineering Contradiction:
Improveimplementation simplicityVSAvoidexecution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements a dynamic scheduling approach that adapts to program dependencies rather than using a static FIFO queue. The scheduler dynamically analyzes dependency relationships and adjusts program assignment decisions accordingly, maintaining implementation feasibility while significantly improving execution efficiency for dependent programs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8185908B2Dynamic scheduling in a distributed environment
Publication Date: 2012.05.22 SERVICENOW INC
  • US8185908B2 patent drawing
  • US8185908B2 patent drawing
  • US8185908B2 patent drawing

AI summary

A method and system is provided for assigning programs in a workflow to one or more nodes for execution. Prior to the assignment, a priority of execution of each program is calculated in relation to its dependency upon data received and transmitted data. Based upon the calculated priority and the state of each of the nodes, the programs in the workflow are dynamically assigned to one or more nodes for execution. In addition to the node assignment based upon priority, preemptive execution of the programs in the workflow is determined so that the programs in the workflow may not preemptively be executed at a selected node in response to the determination.