Dask с планировщиком HTCondor

Задний план

У меня есть конвейер анализа изображений с распараллеливанием шагов. Конвейер находится в python, а распараллеливание контролируется dask.distributed. Минимальная настройка обработки состоит из 1 планировщика + 3 рабочих по 15 процессов в каждом. На первом коротком этапе анализа я использую 1 процесс / рабочего, но всю оперативную память узла, затем на всех остальных этапах анализа используются все узлы и процессы.

Проблема

Администратор установит HTCondor как планировщик для кластера.

Мысль

Чтобы мой код работал в новой настройке, я планировал использовать подход, показанный в dask manual for SGE, потому что кластер имеет общую сетевую файловую систему.

# job1 
# Start a dask-scheduler somewhere and write connection information to file
qsub -b y /path/to/dask-scheduler --scheduler-file /path/to/scheduler.json

# Job2
# Start 100 dask-worker processes in an array job pointing to the same file
qsub -b y -t 1-100 /path/to/dask-worker --scheduler-file /path/to/scheduler.json

# Job3 
# Start a process with the python code where the client is started this way
client = Client(scheduler_file='/path/to/scheduler.json')

Вопрос и совет

Если я правильно понял этот подход, я буду запускать планировщик, воркеры и анализ как самостоятельные задания (разные файлы отправки HTCondor). Как я могу убедиться, что порядок исполнения будет правильным? Могу ли я использовать тот же подход к обработке, который я использовал раньше, или более эффективный способ перевода кода для лучшей работы с HTCondor? Спасибо за помощь!


person s1mc0d3    schedule 26.11.2018    source источник
comment
Знаете ли вы о github.com/dask/dask-jobqueue?   -  person mdurant    schedule 26.11.2018
comment
Спасибо!. Только что видел! но поддержки HTCondor пока нет. github.com/dask/dask-jobqueue/issues/100   -  person s1mc0d3    schedule 27.11.2018
comment
Прокомментируйте, пожалуйста, ветку, в которой выражается ваш интерес. Возможно, вы поможете проверить. Это было бы лучше, чем пытаться придумать собственный сценарий.   -  person mdurant    schedule 27.11.2018
comment
В открывшемся выпуске добавлю комментарий!   -  person s1mc0d3    schedule 03.12.2018


Ответы (1)


Поддержка HTCondor JobQueue была объединена (https://github.com/dask/dask-jobqueue/pull/245) и теперь должен быть доступен в Dask JobQueue (HTCondorCluster(cores=1, memory='100MB', disk='100MB'))

person till    schedule 16.08.2019
comment
классно! Я дам ему попробовать - person s1mc0d3; 19.08.2019