JuliaParallel / JuliaParallel/Dagger.jl

Add Support for Internal Task Priorities

Open
#389 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
723
Forks
90
Avg merge
1d 37m
Merged PRs (30d)
9

Description

Creating priorities for tasks internally in Dagger would allow for more fine-grained scheduling. Naively, we could look at a task graph and assign it a priority based on the number of dependencies it unlocks, the number of outgoing edges. This assumes the bottleneck case: that downstream tasks would open up because of the completion of this task, allowing for more optionality in choosing which tasks to schedule in the future.

On the other hand, completing tasks which are part of branches that terminate sooner, would allow for us to release memory sooner. An ideal solution would be a mix of these as described in https://github.com/dask/dask/blob/main/dask/order.py (Dask's implementation).

In short, prioritizing tasks would better help our scheduler decide which ones to run first on an unbusy worker.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.