Workflow Scheduling System Dynamic Parallelism Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scheduling technologies face a trade-off between maximizing throughput and minimizing processing completion time, as allocating full resources to jobs increases throughput but lengthens completion time, while processing jobs in parallel shortens completion time but may decrease throughput.
Innovation Solution
A multi-workflow scheduling system that includes a first processor for scheduling workflows, multiple second processors forming logical computation units to execute workflows in parallel, and a memory storing task groups, where the first processor limits the number of workflows executed simultaneously to achieve high throughput in a short completion time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the scheduler allocates full computer resources to process jobs one by one, then the throughput is increased, but the completion time is lengthened
Solution Approach 1:
The scheduler dynamically adjusts the degree of parallelism for different task groups based on real-time system state and task characteristics. Instead of using a fixed parallel processing strategy, the system adapts the number of parallel workflows to optimize both throughput and completion time, resolving the contradiction between these two performance indicators.
Solution Approach 2:
The system changes the parameter of parallelism degree from a static value to a dynamic variable that can be adjusted per task group. By modifying this parameter based on task characteristics and system load, the scheduler achieves high throughput while maintaining acceptable completion times, overcoming the traditional trade-off.
2Loss of time
If the scheduler processes all jobs in parallel, then the completion time is shortened, but the throughput may be decreased
Solution Approach 1:
The system segments workflows into task groups and applies different parallelism strategies to each segment. By dividing the workload and assigning appropriate parallelism degrees to different task groups, the scheduler achieves overall short completion time while maintaining high throughput through selective parallel processing.
Solution Approach 2:
Different task groups are assigned different degrees of parallelism based on their specific characteristics and requirements. This local optimization approach allows critical task groups to be processed in parallel for short completion time, while other groups maintain higher throughput, resolving the global contradiction.
3Adaptability or versatility
If the system processes multiple types of workflows with different definitions, then the adaptability is improved, but the scheduling complexity increases
Solution Approach 1:
The scheduler implements a universal task group concept that can accommodate multiple workflow types and definitions. By abstracting common task group characteristics and using a unified scheduling framework, the system achieves high adaptability to different workflow types without proportionally increasing scheduling complexity.
Solution Approach 2:
The system applies partial parallelism selectively to specific task groups rather than uniformly to all workflows. This approach handles diverse workflow types effectively while avoiding the excessive complexity that would result from comprehensive parallel processing of all task types.
Data Source
AI summary
A workflow scheduling system includes a first processor configured to schedule a plurality of workflows each including a plurality of tasks; a plurality of second processors configured to form a predetermined number of logical computation units and execute the scheduled workflows in parallel; and a memory that stores information about a plurality of task groups each of which includes one or more tasks from one or more of the workflows. The first processor is configured to, based on the stored information, instruct the second processors to execute the scheduled workflows while limiting a total number of the workflows simultaneously executed by the second processors to the predetermined number for each of the task groups.


