dask / dask/distributed

[Discussion] Streaming results to Client as they become available

Open
#4,754 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
1.7k
Forks
778
Avg merge
2h 50m
Merged PRs (30d)
3

Description

Sometimes, the wait between “all tasks are done on the dashboard” and “.compute() returns” can be long (minutes) when computing large arrays (~60GiB), even with a local cluster. (Yes, I’m definitely oversubscribing my laptop in that case, but I’ve still generally found this type of latency noticeable in less-extreme situations.)

What is the historical reasoning for running `__dask_postcompute__` on the cluster and sending back one final concatenated result, instead of streaming each key/chunk back to the client as it completes, and doing the concatenation locally? If we were sending chunks back in parallel, I imagine we could hide that latency a bit, plus release some memory from workers sooner. Just wondering what the reasons are for not doing so.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.