dask 两次处理任务
dask processes tasks twice
我注意到 dask graph 的任务可以由不同的 worker 执行多次。
另外我在调度器控制台看到了那个日志(不知道它是否与弹性有关):
"WARNING - Lost connection to ... while sending result: Stream is
closed"
有没有办法阻止 dask 在不同的 worker 上执行两次相同的任务?
请注意,我正在使用:
达斯克 0.15.0
分布式 1.15.1
感谢
伯特兰
简短的回答是 "no"。
Dask 保留多次调用您的函数的权利。如果工作人员宕机,或者如果 Dask 进行了一些负载平衡并在集群中移动了一些任务,而同时它们刚刚启动,则可能会发生这种情况。
但是,您可以通过关闭工作窃取来显着降低任务多次 运行 的可能性:
def turn_off_stealing(dask_scheduler):
dask_scheduler.extensions['stealing']._pc.stop()
client.run(turn_off_stealing)
我注意到 dask graph 的任务可以由不同的 worker 执行多次。
另外我在调度器控制台看到了那个日志(不知道它是否与弹性有关):
"WARNING - Lost connection to ... while sending result: Stream is closed"
有没有办法阻止 dask 在不同的 worker 上执行两次相同的任务?
请注意,我正在使用: 达斯克 0.15.0 分布式 1.15.1
感谢
伯特兰
简短的回答是 "no"。
Dask 保留多次调用您的函数的权利。如果工作人员宕机,或者如果 Dask 进行了一些负载平衡并在集群中移动了一些任务,而同时它们刚刚启动,则可能会发生这种情况。
但是,您可以通过关闭工作窃取来显着降低任务多次 运行 的可能性:
def turn_off_stealing(dask_scheduler):
dask_scheduler.extensions['stealing']._pc.stop()
client.run(turn_off_stealing)