Работники Dask имеют следующие потоки:
- Пул потоков, в котором можно запускать задачи.Обычно это где-то между 1 и количеством логических ядер на компьютере
- Один административный поток для управления циклом событий, обмена данными через (неблокирующие) сокеты, реагирования на быстрые запросы, распределения задач на работникапотоки и т. д.
- Пара потоков, которые используются для необязательного сжатия и (де) сериализации сообщений во время обмена данными
- Один поток для мониторинга и профилирования двух элементов выше
Кроме того, по умолчанию существует дополнительный процесс Nanny, который наблюдает за рабочим.Этот процесс имеет несколько собственных потоков для администрирования.
Это внутренние данные по состоянию на октябрь 2018 года, которые могут изменяться без уведомления.
Люди, которые сталкиваются с проблемами "слишком большого количества потоков", частовыполнение задач, которые сами по себе являются многопоточными, поэтому возникает проблема с N-квадратом.Часто решением здесь является использование переменных среды, таких как OMP_NUM_THREADS=1
, но это зависит от того, какие именно библиотеки вы используете.