You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: