Запуск планировщика процессов в Dask распределен - PullRequest
0 голосов
/ 10 января 2019

Local dask позволяет использовать планировщик процессов. Рабочие в распределенном режиме используют ThreadPoolExecutor для вычисления задач. Можно ли заменить ThreadPoolExecutor на ProcessPoolExecutor в распределенном режиме? Спасибо.

1 Ответ

0 голосов
/ 10 января 2019

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

Самым простым выражением этого является LocalCluster (по умолчанию Client()):

cluster = LocalCluster(n_workers=W, threads_per_worker=T, processes=True)

делает W рабочих с T нитями каждый (может быть 1).

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

...