Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб№3_1.doc
Скачиваний:
16
Добавлен:
11.02.2015
Размер:
290.82 Кб
Скачать

Взаємодія компонентів Torque. Torque.

Для того щоб запустити програму на кластері, необхідно використовувати систему управління завданнями Torque PBS. За звичай для цього створюється спеціальний скрипт, та ставиться в чергу з допомогою команди qsub. Цей скрипт містить інформацію о необхідних ресурсах (число вузлів кластера, необхідна кількість оперативної пам’яті та необхідна кількість часу). В усьому іншому цей скрипт являється звичайним bash-скриптом. В ньому можливо налаштувати потрібні перемінні оточення й запустити необхідну програму.

Цей скрипт буде виконано лише на однім процесорі з виділеного списку. В обов’язки скрипта входить запуск програми на решті вузлів. Наприклад, за допомоги команди mpiexec.

Приклад.

В цьому прикладі в чергу додається завдання sleep на один процесор, з максимальним часом виконання 5 хвилин, й використанням 100 Мб віртуальної оперативної пам’яті.

sleep.qs

#!/bin/bash

#PBS -N sleep

#PBS -l nodes=1

#PBS -l pvmem=100mb

#PBS -l walltime=05:00

echo "Start date: `date`"

sleep 60

echo " End date: `date`"

Відправка завдання на кластер виконується з допомогою команди qsub:

qsub sleep.qs

Строки, що починаються з #PBS, є параметрами для команди qsub. Ці параметри можливо також вказувати явно, при виконані qsub. Наприклад:

qsub -N sleep -l nodes=1 -l pvmem=100mb -l walltime=5:00 sleep.qs

Параметри, відповідальні за виділення ресурсів, можливо вказувати через кому:

qsub -l nodes=1,pvmem=100mb,walltime=5:00 sleep.qs

Основні параметри команди qsub.

  • -d path Визначає робочу директорію для завдання. Якщо не задана, то робочою являється домашня директорія користувача.

  • -e path -o path Задаються імена файлів помилок (stderr), та стандартного виводу (stdout). По умовчанню цей файл <ім'я_завдання>.e<job_id> й <ім’я_завдання>.o<job_id> в поточній директорії.

  • -j oe -j eo Об’єднання файлів виведення/помилок. oe — файли об’єдну-ються в стандартний файл виведення, eo — в файл помилок.

  • -m aben Події, при яких треба відправляти повідомлення по e-mail. a — в випадку аварійного завершення завдання, b— в момент виконання завдання, e — в момент завершення завдання, n — не відправляти повідомлення. Можна вказати декілька букв з abe або одну букву n. По умовчанню використовується тільки a.

  • -M e-mail Адреса отримувача, чи список адресатів отримувачів через кому, котрим будуть відправлені повідомлення. По умовчанню — власник завдання.

  • -N name Визначає ім’я задачі.

  • -q queue Задає чергу в котру додається завдання. На сервері є дві черги: основна batch для розрахунків та тестова test для тестування. По умовчанню завдання ставляться в чергу batch.

  • -l resource_list Визначає список ресурсів, необхідних для завдань.

Основні ресурси (використовуються з опцією -l).

  • nodes=N nodes=M:ppn=8 Визначає необхідну кількість процесорів або вузлів. В першому випадку запитується N процесорів, N може бути від 1 до 128. В другому випадку запитується M вузлів, на кожному з котрих використовується всі 8 процесорів. M в даному прикладі може бути від 1 до 16. Наприклад, nodes=24 запросить 24 процесори, nodes=3:ppn=8 запросить 3 вузли по 8 процесорів, nodes=6:ppn=4 запросить 6 вузлів по 4 процесори на кожному. По умовчанню виділяється один процесор.

  • pmem=size pvmem=size Визначає необхідну одному процесу кількість фізичної та віртуальної пам’яті відповідно. Розмір вказується за допомогою цілого числа із суфіксом: b, kb, mb, gb. Наприклад, pvmem=1gb запросить 1 Гб віртуальної пам’яті для кожного процесу. По умовчанню обмеження поки відсутнє. Однак в цьому випадку, якщо завданню виділити дуже багато пам’яті, то вона може зависнути, й підвісити обчислювальний вузол.

  • walltime=time Визначає максимальний час виконання завдання. По закінченню цього часу програму буде завершено. По умовчанню встановлюється значення 24 години. Обмеження максимального значення складає 72 години. Наприклад: walltime=1:45:00 — обірвати виконання завдання через 1 годину 45 хвилин.

Перемінні оточення, котрі встановлює Torque.

  • PBS_O_WORKDIR Директорія, в котрій знаходиться користувач під час відправлення завдання в чергу.

  • PBS_JOBID Унікальний номер завдання.

  • PBS_O_HOST Поточний вузол, на котрім запускають скрипт.

  • PBS_NODEFILE Файл, в котрім перераховані всі виділені вузли.