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