dask.submit:调度程序中的内存/负载分配不足
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dask.submit:调度程序中的内存/负载分配不足相关的知识,希望对你有一定的参考价值。
运行良好的dask
服务器:
比起我开始使用publish_dataset
预填充有关工作人员的一些数据,看起来分配的内存还不错:
接下来,我循环调用futures.append(client.submit(fn, values))
,然后调用client.gather(futures)
-可以!但这并没有想象的那么快,因为大多数计算/内存负载集中在2个单个进程上(worker4和worker 1):
问题:
- 为什么Dask这样做?
- 是否可以在特定作品上预加载数据,而不是
submit
to the specific workers? - 我应该以某种方式在工作线程之间重新分配已使用的内存以实现更好的并行化吗?
答案
为什么Dask这样做?
不幸的是,我对您的问题了解不多,所以不知道达斯克为什么选择做自己正在做的事情。
是否可以预先加载特定作品的数据,然后提交给特定工人?
是。参见Dask Actors per worker和workers=
]的scatter
关键字
我应该以某种方式在工作线程之间重新分配已使用的内存以实现更好的并行化吗?
Dask应该为您处理。我建议使用散点而不是publish_dataset,它不会做您认为的工作(我建议查看每种方法的文档字符串)
以上是关于dask.submit:调度程序中的内存/负载分配不足的主要内容,如果未能解决你的问题,请参考以下文章