Я запускаю много повторений одного и того же задания, используя numpy на кластере, который использует механизм солнечной сетки для распределения заданий (starcluster). Каждый из моих узлов имеет 2 ядра (c3.large на AWS). Так сказать, у меня 5 узлов, каждый с 2 ядрами.Sun Grid Engine, принудительное одно задание на узел
Операции с матрицами в numpy позволяют использовать более одного ядра за раз. Что я нахожу, так это то, что SGE отправит 10 заданий для запуска сразу, при каждой работе с использованием ядра. Это приводит к увеличению времени выполнения рабочих заданий. Глядя на htop, похоже, что две работы на каждом ядре сражаются за ресурсы.
Как сообщить qsub о распределении 1 задания на узел. Так что, когда я отправлю свои задания, только 5 будут работать сразу, а не 10?
«EDIT: как настроить его на узел. Вы могли бы сделать это для всего кластера в шаг 1, установив значение в столбец «default» равным 1. " Это именно то, что я хочу сделать. Я пробовал это, но он все еще начинал сразу 10 заданий, вместо 5. Нужно ли мне запускать команду «excl»? –
Затем при запуске заданий выполните: «qrsh -l exclusive = 1 qsub -e ...», как это ..? –
Нет, qsub и qrsh - оба инструмента для запуска заданий. qsub отключается, qrsh является интерактивным. Поэтому вы можете просто заменить qrsh на qsub в примере. –