我有一些代码正在尝试使用Python3中的dask.disributing来加速。我有一种3级方法,其中我有一个dask.distributed Client
对象开始工作。从该作业中,我启动worker_clients
以运行某些功能。那些worker_clients
自己开始新的worker_clients
。因此,层次结构看起来像
level 0: Client
/|\
level 1: wcA1 wcA2 wcA3
/|\ /|\ /|\
level 2: wcB1 ... wcB4... wcB7...
我收到错误消息
<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>
没有进一步的细节。
我已经尝试过的:
level 1
。我可以仅使用两个级别成功运行此程序,即以Client
开头的worker_clients
。当我有一个worker_client
启动其他worker_clients
时发生错误。代码:
Client
:cli = Client()
worker_clients
:with worker_client() as wc:
y = [wc.submit(func, i) for i in iterable]
y = wc.gather(y)
有人有任何输入吗?谢谢
我不知道这是怎么回事,但是从这一行中有人想到:
<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>
是不是您的线程用完了?某些操作系统只允许您一次激活数千个并发线程。我不知道您的问题是什么,如果您可能接近该极限,那么您会知道更多。