Distributed Task Stealing With Dependency-Aware Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing work-stealing schedulers for distributed computing systems face challenges in efficiently balancing dynamic and irregular workloads across multiple compute nodes, particularly in managing task dependencies and migrations, and are limited by restricted programming models that hinder task migration between distributed compute nodes.

Innovation Solution

A dynamic task scheduling method that dynamically decomposes programs into tasks with dependency management and task-stealing, allowing tasks to be spawned and stolen between worker nodes while minimizing communication overhead by encapsulating tasks in objects and using a distributed task scheduler with manager and executor submodules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If work stealing is implemented on distributed compute systems, then load balancing of dynamic workloads is improved, but task migration becomes challenging due to data availability across address spaces

Engineering Contradiction:
Improveload balancingVSAvoidtask migration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments tasks into independent units with explicit data dependencies, allowing selective migration of tasks that have all required data available on the target node. This segmentation enables work stealing to proceed without requiring full data migration, resolving the contradiction between load balancing improvement and migration complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a data availability tracking mechanism as an intermediary between task scheduling and data storage. This mediator tracks which data is available on which compute nodes, enabling the scheduler to make informed decisions about task migration without direct complexity in managing distributed data access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the bag of tasks programming model is used, then task migration between compute nodes is simplified, but the number of expressible applications is limited

Engineering Contradiction:
Improvetask migration simplicityVSAvoidapplication expressibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic task decomposition where programs are broken down into tasks with explicit data dependencies at runtime. This dynamic approach allows the system to adapt to different application structures while maintaining simplified migration rules, resolving the contradiction between migration simplicity and application versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter representation from static task assignments to dynamic data dependency tracking. By representing tasks with their data requirements rather than fixed assignments, the system achieves both simple migration rules and broad application support.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the tied task programming model is used, then task dependencies are supported, but task migration between distributed compute nodes is not allowed

Engineering Contradiction:
Improvedependency managementVSAvoidtask migration capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments tasks into fine-grained units with explicit data dependencies, allowing the scheduler to identify and migrate only those tasks whose required data is available on target nodes. This segmentation enables both dependency management and task migration to coexist.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial task migration by allowing migration of tasks that have their data available on the target node, while leaving tasks with unavailable data on the original node. This partial approach enables productive migration without compromising dependency management.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If address spaces are defined in advance, then load balancing within each address space is achieved, but load balancing across different address spaces is not supported

Engineering Contradiction:
Improveload balancing within address spaceVSAvoidcross-address-space load balancing
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal task representation that works across address space boundaries by tracking data dependencies explicitly. Tasks can be migrated between any compute nodes that have the required data, enabling load balancing to function universally across the entire distributed system rather than being confined to individual address spaces.

Inventive Principle:
Principle #6Universality (Multi-functionality)

5Ease of operation

If tasks are distributed at launch time, then task and code collocation is ensured, but the number of shifts between address spaces increases

Engineering Contradiction:
Improvetask code collocationVSAvoidtask shifting frequency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements dynamic task migration based on data availability and load conditions rather than static launch-time assignments. This allows tasks to be shifted only when necessary, reducing the frequency of moves while maintaining optimal collocation throughout execution.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4682716A1Task stealing in distributed computing systems
Publication Date: 2026.01.21 INTERUNIVERSITAIR MICRO ELECTRONICS CENT (IMEC VZW)
  • EP4682716A1 patent drawingFigure 1~2
  • EP4682716A1 patent drawingFigure 3
  • EP4682716A1 patent drawingFigure 4

AI summary

A dynamic task scheduler (100) and related scheduling method (600) are disclosed. The scheduler comprises multiple interconnected workers (110a-d). Each worker comprises a manager submodule (111), an executor submodule (113), and a message channel (112) operatively connecting the manager submodule to the executor submodule and the manager submodules of remote workers. Each manager submodule is configured to create tasks (605) dynamically in a parent-child relationship, thereby enabling the runtime decomposition of a program into tasks, add dependencies to the tasks to constrain an execution order thereof, track (603) the added dependencies, and changing a task status from pending to ready if the task's start dependencies are resolved. Each worker's manager submodule is further configured to issue a stealing request (610) to a remote worker if none of its tasks has the ready status and accept migration (613) of a ready task from the remote worker. Each executor submodule is configured to receive ready tasks from the message channel and execute said tasks on execution hardware.