2017-03-16 56 views
1

我有一个包含40名工作人员的计算网络,但我只需要在特定主机上执行计算。是否可以限制或重建仅使用指定工作人员的网络?是否可以在特定工作人员列表上运行dask /分布式作业

+0

你能更具体吗?除了是/否的答案之外,很难说出你要找的是什么。请参阅[为什么“可能...”措辞不佳?](https://softwareengineering.meta.stackexchange.com/questions/7273/why-is-is-it-possible-to-a -poorly措辞-问题/ 7274)。 – EJoshuaS

回答

0

是的,您可以使用关键字workers=指定特定的工作人员到client.submit,client.map,client.compute或client.persist。

futures = client.map(func, args, workers=['worker-1', 'worker-2']) 

http://distributed.readthedocs.io/en/latest/locality.html#user-control 更多选项

您也可以注册资源,如与工人GPU和限制计算这些。有关更多信息,请参阅http://distributed.readthedocs.io/en/latest/resources.html

+0

它有助于限制工作人员名单,但我有一个奇怪的情况。我有4名测试员工,10个计算任务,但只有两名随机工作人员被选中进行计算。在其他计算中,另选两名随机工作人员。 –

+0

我找到了部分工人选择的根本原因。我已经将一些数据分散给工人: –

+0

我找到了部分工人选择的根本原因。我将一些数据分散给工作人员: 'client.scatter({'config':{},'data':{}},workers = ['a','b','c','d ''))' 因此,我有部分数据分散,只有两名工作人员: '{'tcp:// a':['config'],'tcp:// b':['data' ]} 当我使用广播时,我需要所有工作人员的数据,并将它们全部用于计算: 'client.scatter({'config':{},'data':{}},workers = ['a','b','c','d'],广播=真) –

相关问题