Как разрешить одновременное выполнение массивов заданий с общим доступом (-js)

Я пытаюсь заставить SGE запускать задачи массива заданий одновременно на основе параметра доли заданий в qsub, но похоже, что это работает не так, как ожидалось. Есть ли способ включить одновременное выполнение задач на основе общих ресурсов?

У меня есть сценарий, который спит для имитации длительных задач, и я отправляю его в небольшой кластер SGE (26 слотов) в виде различных массивов заданий следующим образом:

qsub -t 1-201 -js 100 sge_longRunning.sh
qsub -t 1-202 -js 101 sge_longRunning.sh
qsub -t 1-203 -js 102 sge_longRunning.sh

Я ожидал, что задачи будут почти одинаково распределены в кластере с течением времени, но я получаю то, что последний представленный массив полностью выполняется (все 203 задачи), затем полностью выполняется вторая и, наконец, первая.

Кластер работает в соответствии с функциональной политикой с билетами 1M и весом 0,9 для билетов функциональной политики.

Есть какие-нибудь подсказки, как заставить задачи для различных массивов заданий выполняться одновременно с почти равным распределением доступных ресурсов? Любой намек на то, что может быть не так с приведенными выше настройками конфигурации / теста?

0
задан 29 April 2019 в 18:42
1 ответ

Единственный практический способ - это отправить задания от имени другого пользователя или проекта со своей собственной долей.

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

0
ответ дан 5 December 2019 в 03:13

Теги

Похожие вопросы