Dynamic Task Parallelism Scheduling for Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current task scheduling approaches for distributed data processing systems face challenges in determining an optimal level of concurrent task execution for each stage, leading to inefficient resource utilization and increased runtime.

Innovation Solution

A computer-implemented method that uses a prediction model to analyze metrics from worker nodes, determining an optimal per-stage task execution parallelism level for each stage of a distributed application, and schedules tasks accordingly to improve runtime and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed or static task scheduling approach is used, then the system is simple to implement, but resource utilization is inefficient and runtime increases

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic task scheduling by continuously monitoring worker node metrics (CPU usage, memory usage, task completion rates) and adjusting parallelism levels in real-time. The system transitions from static to dynamic scheduling by using feedback loops that adapt the scheduling strategy based on current system state, allowing optimal resource allocation that responds to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system collects metrics from worker nodes and uses this feedback to refine scheduling decisions. The feedback mechanism includes monitoring task execution performance, worker node resource consumption, and adjusting parallelism levels accordingly. This closed-loop feedback enables continuous optimization of resource utilization without manual intervention.

Inventive Principle:
Principle #23Feedback

2Loss of time

If a dynamic task scheduling approach is used, then resource utilization improves, but the complexity of the scheduling system increases

Engineering Contradiction:
ImproveruntimeVSAvoidscheduling system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-defining multiple parallelism levels and preparing scheduling policies in advance. It establishes baseline configurations and pre-computes scheduling strategies that can be quickly applied when needed, reducing the overhead of dynamic decision-making during execution and enabling faster adaptation to changing conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes key scheduling parameters such as parallelism level, task allocation ratios, and resource distribution based on monitored metrics. By adjusting these parameters dynamically rather than using fixed values, the system optimizes runtime performance while managing complexity through parameterized control rather than complex algorithms.

Inventive Principle:
Principle #35Parameter changes

3Speed

If higher parallelism level is implemented, then task execution speed increases, but resource consumption increases

Engineering Contradiction:
Improvetask execution speedVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system applies partial parallelism by selectively increasing parallelism levels only for specific stages or task types rather than uniformly across the entire workload. It determines the optimal balance point where additional parallelism provides diminishing returns, avoiding excessive resource consumption while maintaining sufficient speedup for critical paths.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements local optimization by applying different parallelism levels to different parts of the workload based on their specific characteristics. Stages with higher computational intensity or longer execution times receive higher parallelism, while stages with shorter durations or lower resource requirements use lower parallelism, optimizing the overall trade-off between speed and resource consumption.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250165281A1Dynamically Adapting Task Execution Parallelism of Distributed Applications
Publication Date: 2025.05.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250165281A1 patent drawing
  • US20250165281A1 patent drawing
  • US20250165281A1 patent drawing

AI summary

Scheduling tasks for concurrent execution in parallel is provided. Metrics corresponding to execution of tasks in a plurality of stages of a distributed application are received from a set of worker nodes. An analysis of the metrics corresponding to the execution of the tasks in the plurality of stages of the distributed application is performed using a prediction model. An optimal per-stage task execution parallelism level for each respective stage of the plurality of stages is determined using the prediction model based on the analysis of the metrics. The tasks are scheduled to execute on the set of worker nodes based on the optimal per-stage task execution parallelism level determined for each respective stage of the plurality of stages to improve at least one of runtime of the distributed application and resource utilization by the distributed application.