JobRun

From HPCC

Jump to: navigation, search

Зміст

[ред.] Розподіл вузлів кластера

Вузли Характеристики Призначення
n001 8 cores, 8Gb RAM Інтерфейсний вузол
n002-n044 8 cores, 8Gb RAM Задачі локальних користувачів
n045-n072 4 cores, 4Gb RAM Задачі локальних користувачів
n073-n092 4 cores, 4Gb RAM NorduGrid (Український Академічний Грід)
n093-n112 4 cores, 4Gb RAM, 500GB HDD AlienGrid (CERN, проект ALICE)

Таким чином, для задач локальних користувачів виділено 456 ядер, для задач УАГ та ALICE по 80 ядер.

[ред.] Запуск задач локальних користувачів

Використовуючи параметри доступу, користувач потрапляє на інтерфейсний вузол n001 у свою домашню папку.

[user@n001 ~]$

Всі команди щодо взаємодії з кластером (архівування та копіювання даних, редагування та компіляція програм, запуск задач тощо) слід виконувати з інтерфейсного вузла. На інших вузлах кластера дозволяється запускати лише інформаційні команди, наприклад, hostname, top, ps, free тощо.

Невиконання даних рекомендацій може призвести до блокування доступу до кластеру.

[ред.] Запуск обчислювальних задач

Обчислювальні задачі на кластер слід запускати лише за допомогою локального планувальник задач - PBS. На нашому кластері встановлено планувальник задач Torque версії 2.3.6 з менеджером ресурсів Maui 3.2.6. Необхідну інформацію щодо роботи з PBS можна знайти в інструкції.

[ред.] Функції планувальника задач

Планувальник задач розподіляє задачі по чергам відповідно до вказаних при запуску параметрів. На даний момент кількість необхідних ресурсів не впливає на розподіл задач по чергам, враховується лише лімітом часу виконання.

Для локальних користувачів на кластері організовано 4 черги для завдань:

Назва черги Призначення Команда запуску Пріоритність
local Розподіл задач між чергами в залежності від часу виконання qsub -q local -l walltime=hh:mm:ss
short Задачі з лімітом часу виконання до 12 годин qsub -q short Висока
medium Задачі з лімітом часу виконання до 96 годин qsub -q medium Середня
long Задачі з лімітом часу виконання до 168 годин qsub -q long Низька

[ред.] Функції менеджера ресурсів

Менеджер ресурсів відповідає за пошук ресурсів для задачі. При виділенні ресурсів враховується пріоритет задачі. Задачі з низьким пріоритетом будуть довше очікувати в черзі на ресурси.

На пріоритет задачі впливають наступні чинники:

Параметр Вплив на пріоритет задачі
Пріоритетність черги, в якій очікує задача Вища пріоритетність черги - вищий пріоритет задачі
Необхідна кількість ресурсів При збільшенні кількості необхідних ресурсів пріоритет знижується
Історія запуску задач користувачем Задачі користувача, який за попередній період використав більше процесорного часу, будуть мати нижчий пріоритет

[ред.] Рекомендації щодо запуску задач

1. Параметри вузлів кластера дають можливість розраховувати на приблизно 1Гб оперативної пам'яті на ядро (вузли бездискові, тому файлу підкачки немає). Слід уникати перевищення цього значення, адже це може призвести до аварійного завершення задач. Вказування при запуску кількості необхідної пам'яті не гарантує наявності вказаного об'єму вільної оперативної пам'яті на вузлі.

2. Якщо задача використовує не тісний паралелізм (тобто немає значного обміну даними між процесами), то при запуску краще вказувати необхідну кількість ядер, а не відповідну кількість процесорів. Таким чином можна скоротити час очікування задачі в черзі. Наступні команди розміщено у порядку збільшення часу очікування:

qsub -q local -l nodes=8
qsub -q local -l nodes=4:ppn=2
qsub -q local -l nodes=2:ppn=4
qsub -q local -l nodes=1:ppn=8

Це пов'язано з тим, що навіть при найвищому пріоритеті задачі менеджер буде очікувати на звільнення необхідної для неї кількості ресурсів.

3. OpenMPI на кластері скомпільований з Torque, тому при запуску задачі достатньо лише вказати ім'я та вхідні параметри програми. Імена вузлів та кількість ядер будуть передані автоматично.

mpirun jobname param1 param2

4. Наступні дві команди є еквівалентними:

qsub -q local -l nodes=8
qsub -q local -l nodes=8:ppn=1

Як перша, так і друга забезпечать отримання 8-ми обчислювальних ядер на одному чи декількох вузлах. Ядра виділяться незалежно одне від одного. Розподіл по вузлах може бути будь-яким, наприклад: 8, 1+7, 2+2+3+1, 1+1+1+1+1+1+1+1 тощо.

Проте, якщо команда має значення ppn>1, то менеджер виділить саме ту кількість вузлів, що вказана у nodes. Наприклад, наступна команда виділить по 2 ядра на 20 різних вузлах.

qsub -q local -l nodes=20:ppn=2

Задача не зможе запуститися на 10-ти вільних 8-ми ядерних вузлах - буде очікуватись ще 10.

Для невеликих за кількістю ядер задач дана особливість не важлива. Проте при запуску багатоядерних задач може статися так, що фізично не вистачить вузлів. Наприклад, наступна задача ніколи не виконається (оскільки локальні користувачі мають доступ до 71 вузла):

qsub -q local -l nodes=72:ppn=2

[ред.] Запуск тестових задач

Перед запуском завдань через PBS бажано перевірити правильність їх роботи. Некоректна робота скрипта запуску програми може призвести до простою виділених ресурсів, а аварійне завершення програми змусить знову очікувати в черзі на ресурси.

Щоб не очікувати в черзі на ресурси, тестовий запуск програм слід виконувати на інтерфейсному вузлі без використання менеджера ресурсів. Це повинні бути задачі тривалістю до 5 хвилин на 1-4 ядра.

[user@n001 ~]$ mpirun -np 4 testjob
Отримано від "http://hpcc.org.ua/index.php/JobRun"