При настройке кластера dask с помощью Helm в файле config.yaml есть набор переменных для настройки количества рабочих, и я надеюсь, что вам поможет некоторая терминология.Например, если я настрою кластер Kubernetes с 16 виртуальными машинами, 8 ядрами / машина и 32 ГБ / виртуальная машина, я получу 128 виртуальных ЦП и 512 ГБ памяти.Если я передам «helm ... update -f config.yaml»
worker:
name: worker
allowed-failures: 2
replicas: 48
resources:
limits:
cpu: 2
memory: 8G
requests:
cpu: 2
memory: 8G
Похоже, я смогу создать 64 рабочих с 2 процессорами в каждом и использовать всю мою оперативную память объемом 512 ГБ.(Минус ресурсы, выделенные для планировщика).Однако на практике распределенный клиент занимает максимум 40 рабочих мест, 80 ядер и 320 ГБ общей оперативной памяти.
Существуют ли передовые практики по настройке модулей для максимального использования кластера?Из этого поста я знаю, что на первом месте стоит рабочая нагрузка с точки зрения использования потоков и процессов на одного работника, но должно ли число работников == количество ядер == количество модулей?Если да, то какова роль ключевого слова cpu в приведенном выше файле .yaml?