Dynamic Workflow Scheduling for Data Transfer Cost Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If a decentralized scheduler is used to improve scalability, then system scalability increases, but communication complexity and control difficulty increase
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.
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
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.
4Ease of manufacture
If FIFO scheduling is used for simplicity, then implementation is simple, but execution efficiency decreases when dependency constraints are not considered
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.
Data Source
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.


