Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Система управления заданиямиКак уже было сказано выше, во избежание различного рода конфликтов и перегрузки вычислительного кластера при использовании его несколькими пользователями, пользователи должны запускать свои задачи только через систему управления заданиями Torque. О том, как поставить задание в очередь, уже было рассказано выше. В данном разделе приводится ряд полезных команд, использование которых повышает гибкость управления заданиями. После того, как задание успешно поставлено в очередь, ему присваивается уникальный идентификатор задачи (Job ID). Используя этот номер, можно манипулировать заданием в очереди: - qstat Посмотреть состояние очереди; - qdel Удалить задание из очереди; - qalter Изменить параметры уже запущенного задания; - qrerun Перезапустить задание, если это возможно; - qhold Приостановить задание; - qrls Запустить приостановленное задание.
Каждая из этих команд имеет множество параметров, ознакомиться с которыми пользователь может при помощи команды man <имя команды>, например man qstat. О других командах системы Torque читайте в руководстве пользователя Torque, ссылка на официальный сайт приведена ниже в разделе Полезные ссылки. Если задание было успешно поставлено в очередь, qstat по умолчанию выведет на экран таблицу, столбцы которой имеют следующие значения:
Job id - уникальный идентификатор задачи; Name - имя исполняемой задачи; User - имя владельца задачи; Time Use - общее процессорное время, использованное задачей на данный момент S - состояние задачи (Q - находится в очереди, R – вычисляется, E - произошла ошибка при выполнении или задача завершает выполнение); Queue - название очереди, в которой запущена задача.
Вот пример запуска команды qstat:
Job id Name User Time Use S Queue ------------------- ---------------- --------------- -------- - ----- 1972.master PCGAMESS davydovk 00:00:00 R single 1993.master cpi-mpirun kruchin 00:00:00 R para 1994.master dl chepasov 0 Q para
Для получения более подробной информации, пользователь может воспользоваться ключом –a, например, команда qstat –a выдаст примерно следующее:
Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time -------------------- -------- -------- ---------- ------ ----- --- ------ ----- - ----- 1972.master.localdom davydovk single PCGAMESS 14740 2 -- -- 96:00 R 61:38 1993.master.localdom kruchin para cpi-mpir 16334 3 -- 500mb 88:30 R 09:32 1994.master.localdom chepasov para dl -- 4 -- -- 48:00 Q --
На приведенном выше примере можно увидеть, что пользователь davydovk запустил задание под именем PCGAMESS на 2-х узлах (NDS), запросил 96 часов времени (Req’d Time), задание выполняется уже 61 час, 38 минут (Elap Time). Пользователь kruchin запустил задачу на 3-х узлах и запросил для нее 500 Мбайт оперативной памяти (Req’d Memory) и 88 часов 30 минут времени работы, задача проработала 9 часов 32 минуты. Пользователь chepasov поставил задание в очередь, но в связи с недостатком свободных процессоров его задание не может быть выполнено сразу же, поэтому оно находится в режиме ожидания свободных ресурсов (значение S равно Q). Как только освободятся 4 узла, которые он запросил, его задание будет запущено и проработает максимум 48 часов, которые он указал в запросе. Еще один полезный ключ команды qstat позволяет посмотреть, на каких именно узлах и процессорах выполняется задание. Это ключ –q:
Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time -------------------- -------- -------- ---------- ------ ----- --- ------ ----- - ----- 1972.master.localdom davydovk single PCGAMESS 14740 2 -- -- 96:00 R 61:38 node-2/1+node-2/0+node-1/1+node-1/0 1993.master.localdom kruchin para cpi-mpir 16334 3 -- 500mb 88:30 R 09:32 node-5/1+node-5/0+node-4/1+node-4/0+node-3/1+node-3/0 1994.master.localdom chepasov para dl -- 4 -- -- 48:00 Q -- ---
Данный пример напоминает предыдущий, но после каждой строки, описывающей задание, указывается на каких узлах и процессорах оно запущено. Например, задание пользователя davydovk использует 2 процессора узла node-2 и 2 процессора узла node-1, т.е. всего 4 процессора. Аналогично, задание пользователя kruchin использует по 2 процессора на узлах node-5, node-4 и node-3. Задание пользователя chepasov еще не запущено, поэтому нельзя заранее узнать, какие узлы и процессоры будут ему предоставлены. Другая полезная команда – tracejob, используемая для отладки, позволяет узнать текущее состояние задачи. В качестве аргумента принимает идентификатор задачи Job id:
|