Я запускаю Dask на кластере PBS. Мои узлы - это загрузки, которые занимают неопределенное время из-за колебаний нагрузки на сервер. Я установил задания с достаточно большим временем стены (например, 4 часа), который должен охватывать множество отдельных узлов / загрузок. Однако у меня есть десятки тысяч загрузок, поэтому время ожидания заданий истечет до завершения всех загрузок.

Два вопроса:

  1. При запуске заданий с PBSCluster.scale(n) по истечении тайм-аута задания автоматически запускаются новые, чтобы занять их место?
  2. Когда задание умирает (например, из-за тайм-аута), перезапускаются ли узлы, работающие в этом задании, в другом задании или они потеряны?

Благодарность!

0
user2966505 14 Апр 2020 в 23:20

1 ответ

Лучший ответ

При запуске заданий с PBSCluster.scale (n) по истечении тайм-аута задания автоматически запускаются новые, чтобы занять их место?

Нет, но вы можете попробовать использовать вместо этого

cluster.adapt(minimum_jobs=n, maximum_jobs=n)

Когда задание умирает (например, из-за тайм-аута), перезапускаются ли узлы, работающие в этом задании, в другом задании или они потеряны?

Они перезапускаются. Однако будьте осторожны, если одну и ту же задачу нужно перезапустить несколько раз, Dask перестанет доверять ей и просто пометит ее как неудачную.

0
MRocklin 18 Апр 2020 в 19:27