Dask Workers有哪些活动线程?

时间:2018-10-03 01:22:59

标签: dask

在运行Dask工作程序时,我注意到有一些超出我期望的线程。我希望看到Dask Worker运行多少个线程,它们在做什么?

1 个答案:

答案 0 :(得分:4)

任务工作者具有以下线程:

  • 在其中运行任务的线程池。通常在1到计算机上逻辑核心数之间的某个位置
  • 一个管理线程来管理事件循环,通过(非阻塞)套接字进行通信,响应快速查询,将任务分配给工作线程等。
  • 几个线程,用于在通信过程中对消息进行可选的压缩和(反)序列化
  • 一个线程来监视和分析上面的两项

此外,默认情况下,还有一个附加的Nanny进程监视该工作程序。这个过程有两个自己的管理线程。

这些是截至2018年10月的内部详细信息,如有更改,恕不另行通知。

遇到“线程过多”问题的人们通常正在运行本身是多线程的任务,因此会遇到N平方线程问题。通常,这里的解决方案是使用OMP_NUM_THREADS=1之类的环境变量,但这取决于您所使用的确切库。

相关问题