Определение рабочих в библиотеке DASK python, почему больше рабочих, чем процессорных ядер - PullRequest
0 голосов
/ 08 марта 2020

Я действительно не понимаю, кто такой работник.

В общем, я бы сказал, узел в кластере Dask, который может вычислять задачи в соответствии с директивами планировщика. Тем не менее, я подумал, что один узел может быть ядром процессора, а число потоков на одного работника - самое большее количество потоков на ядро ​​процессора. Работая на одной машине, я могу установить количество рабочих мест больше, чем у процессорных ядер на моем ноутбуке, и количество потоков на одного работника больше, чем количество потоков на ядро ​​процессора.

Так что же на самом деле рабочий, когда я устанавливаю локальный кластер?

Это относится к чему-то физическому на моей машине?

Почему не выходит ошибка?

enter image description here

1 Ответ

2 голосов
/ 10 марта 2020

В вашей системе может быть запущено столько потоков, сколько вам нужно - потому что у вас есть современная многозадачная операционная система. ОС заботится о пробуждении потоков и их запуске в ядрах вашего процессора, и в вашем случае максимум четыре потока могут работать одновременно. Поэтому, вероятно, не в ваших интересах иметь более четырех рабочих потоков dask.

Вы можете выбрать, сколько рабочих (читай: процессов ) и потоков подходят для вашего приложения. где процессы не взаимно блокируются GIL, но потоки могут эффективно распределять память.

...