DASK python库中的工人定义,为什么工人多于cpu内核

问题描述 投票:0回答:1

我真的对工人是什么感到困惑。

通常,我会说一个dask集群中的节点可以根据调度程序的指令来计算任务。但是,我认为一个节点可以是一个cpu核心,每个工作线程的线程数最多为每个cpu核心的线程数。在单台机器上工作时,我可以设置比笔记本电脑中存在的CPU内核更多的工作线程,并且每个工作者的线程数量大于每个cpu内核的线程数量。

那么,当我设置本地群集时,实际上是什么工人?

指的是我机器上的物理物体吗?

为什么没有错误出现?

enter image description here

multiprocessing cpu-usage dask worker cpu-cores
1个回答
0
投票

您可以在系统上运行尽可能多的线程-因为您拥有现代的多任务操作系统。操作系统负责唤醒线程并在CPU内核中运行它们,在这种情况下,最多可以同时运行四个线程。因此,总共不超过四个dask worker线程可能不符合您的利益。

您可以选择适合您的应用程序的工作程序(线程数:进程)和线程的数量,其中进程不会被GIL相互阻塞,但是线程可以有效地共享内存。

© www.soinside.com 2019 - 2024. All rights reserved.