Каковы значения по умолчанию для параметров в функции Client () Dask-ML - PullRequest
1 голос
/ 28 мая 2020

Я пытаюсь понять параметры функции Client() Dask-ML. Скажем, у меня есть следующий код, использующий функцию Client() Dask-ML:

from dask.distributed import Client
import joblib

client = Client()

Если я не укажу никаких значений для параметров в функции Client(), каковы значения по умолчанию для параметров :

(i) n_workers

(ii) threads_per_worker

(iii) memory_limit

Насколько я понимаю, Python имеет функцию Global Interpreter Lock (GIL), которая предотвращает многопоточность. Если да, то почему функция Client() в Dask-ML имеет параметр threads_per_worker, когда многопоточность запрещена в Python?

Относится ли memory_limit к максимальному пределу памяти, разрешенному для каждый рабочий / машина / узел, или это относится к максимальному пределу памяти, разрешенному для всех вместе рабочих / машин / узлов?

Я уже просматривал документацию в Dask- ML (см. Здесь: https://docs.dask.org/en/latest/setup/single-distributed.html), но документация не совсем ясна в отношении этих вопросов.

Заранее спасибо, если кто-нибудь сможет это объяснить?

1 Ответ

1 голос
/ 13 июня 2020

Вызов Client() без каких-либо аргументов запускает LocalCluster() по умолчанию, поэтому

client = Client()

действительно то же самое, что

cluster = LocalCluster()
client = Client(cluster)

Итак, для начала вы можете взять посмотрите документацию LocalCluster.

каковы значения по умолчанию для параметров:

идеальные значения зависят как от вашего оборудования, так и на вашу рабочую нагрузку. Мы не знаем заранее вашу рабочую нагрузку, но мы знаем ваше оборудование, поэтому мы стараемся принимать разумные решения на основе этого.

Сегодня эта политика заключается в том, чтобы равномерно разделить все ваши логические ядра и память между квадратом root количества ядер, которые у вас есть. Итак, если у вас 12 ядер, мы создадим четыре процесса по три потока в каждом.

Обычно это нормально по умолчанию в большинстве ситуаций, но мы рекомендуем вам поэкспериментировать, чтобы увидеть, работают ли ваши рабочие нагрузки лучше при различных обстоятельствах.

...