Dask.distributed 的缩放限制是多少?
What are the scaling limits of Dask.distributed?
是否有任何 Dask.distributed 部署有数百个工作节点的轶事案例?分布式是为了扩展到这种规模的集群吗?
是
我见过的最大 Dask.distributed 集群大约有 1000 个节点。理论上我们可以变大,但不会变大。
当前的限制是调度程序对每个任务产生大约 200 微秒的开销。这 t运行 相当于每秒大约 5000 个任务。如果您的每个任务大约需要一秒钟,那么调度程序可以使大约 5000 个核心饱和。
历史上我们 运行 进入其他限制,如打开文件句柄限制等。这些都已清理到我们看到的规模(1000 个节点),通常在 Linux 或 OSX 上一切正常。 Windows 上的 Dask 调度程序停止在低数百个节点中扩展(尽管您可以将 Linux 调度程序与 Windows worker 一起使用。当我们扩展到 10k 个节点时,如果看到其他问题出现,我不会感到惊讶。
简而言之,您可能不想在百万核 Big Iron SuperComputer 或 Google 规模上使用 Dask 替换 MPI 工作负载。否则你可能没问题。
是否有任何 Dask.distributed 部署有数百个工作节点的轶事案例?分布式是为了扩展到这种规模的集群吗?
是
我见过的最大 Dask.distributed 集群大约有 1000 个节点。理论上我们可以变大,但不会变大。
当前的限制是调度程序对每个任务产生大约 200 微秒的开销。这 t运行 相当于每秒大约 5000 个任务。如果您的每个任务大约需要一秒钟,那么调度程序可以使大约 5000 个核心饱和。
历史上我们 运行 进入其他限制,如打开文件句柄限制等。这些都已清理到我们看到的规模(1000 个节点),通常在 Linux 或 OSX 上一切正常。 Windows 上的 Dask 调度程序停止在低数百个节点中扩展(尽管您可以将 Linux 调度程序与 Windows worker 一起使用。当我们扩展到 10k 个节点时,如果看到其他问题出现,我不会感到惊讶。
简而言之,您可能不想在百万核 Big Iron SuperComputer 或 Google 规模上使用 Dask 替换 MPI 工作负载。否则你可能没问题。