Запрос узлов по номерам и их именам в SGE

  1. Как запросить количество узлов (не процессов) при отправке задания в SGE?

    например В TORQUE мы можем указать qsub -l nodes=3

  2. Как запросить узлы по их именам в SGE?

    например В TORQUE мы можем сделать это с помощью qsub -l nodes=abc+xyz+pqr, где abc, xyz и pqr — имена хостов.

    Для одного имени хоста qsub -l hostname=abc это работает. Но как разграничить несколько имен хостов в SGE?


person Jayavant    schedule 22.06.2012    source источник


Ответы (2)


Запрос количества узлов с помощью Grid Engine выполняется косвенно. Если вы хотите отправить параллельное задание, вам нужно запросить параллельную среду (man sge_pe) вместе с количеством слотов (процессоров и т. д.), например qsub -pe mytestpe 12...

В зависимости от allocation_rule, определенного в параллельной среде (qconf -sp mytestpe), слоты распределяются по одному или нескольким узлам. Если у вас есть так называемое фиксированное правило распределения, когда вы просто добавляете определенное число в качестве правила распределения, например 4 (4 слота на хост), это легко. Если вам нравится один хост, просто отправьте -pe mytestpe 4, если вы хотите 10 узлов, просто отправьте -pe mytestpe 40.

Имя узла может быть запрошено -l h=abc. Поскольку имена узлов RESTRINGS (строки регулярных выражений) в Grid Engine, вы можете создать регулярное выражение для фильтрации узлов: qsub -l h="abc|xyz". Вы также можете создавать группы хостов (qconf -ahgrp) и запрашивать так называемые домены очереди (qsub -q all.q@@mygroup).

Даниэль

http://www.gridengine.eu

person Daniel    schedule 10.07.2012

  1. вы можете использовать -tc, чтобы ограничить количество одновременных задач (т. е. количество слотов, которые будут использоваться для задания массива). Я использую это, когда отправляю задания массива со 100 подзаданиями, чтобы ограничить влияние на нашу очередь, по умолчанию до 10 одновременных заданий с -tc 10. По мере завершения каждого задания будет отправлено другое задание массива из ожидающего пула.

  2. единственный способ, которым я смог это сделать, - это установить определенные наборы квот ресурсов (используя qconf -mrqs), указав конкретные группы хостов, которые вы хотите использовать. Сначала вам нужно будет настроить все комбинации, которые вы хотите. Однако я не вижу реальной причины указывать конкретные хосты, если только у этих хостов нет определенных ресурсов, которые вы хотите использовать (в этом случае я бы установил для них потребляемые ресурсы и применил соответствующее количество ресурсов к каждому хосту). которые могут предоставить их, а затем используйте это вместо указания конкретных хостов для конкретного задания).

person jlp    schedule 06.07.2012