- Вход на платформу с помощью SSH-клиента
- Системы хранения и обработки данных на платформе
- Создание исполняемого файла
- Планировщик задач SLURM
- Выполнение задачи
Вход на платформу с помощью SSH-клиента
Для работы на платформе необходимо соединиться с Пользовательским интерфейсом с помощью SSH-клиента. Для работы на платформе необходима активная учётная запись HybriLIT (login/password)!
В операционной системе Windows можно использовать встроенный SSH-клиент:
-
Нажать Win+R, ввести cmd.exe, нажать Enter.
- Затем в новом окне набрать команду
1ssh hydra.jinr.ru -l <login>нажать Enter и ввести password.
Можно использовать отдельный SSH-клиент, например, PuTTY или MobaXterm. Для его настройки обратитесь к соответствующей инструкции на сайте SSH-клиента.
В среде Linux можно использовать встроенный SSH-клиент:
|
1 2 |
> ssh hydra.jinr.ru -l <login> password |
После успешной аутентификации и авторизации SSH-клиент соединится с одним из Пользовательских интерфейсов (space01 ~ space08) и начнётся интерактивный сеанс работы на платформе.
Системы хранения и обработки данных на платформе
Для пользователя на платформе доступен ряд сетевых файловых систем.
Домашняя директория пользователя: /zfs/store5.hydra.local/user/l/login
Домашняя директория пользователя предназначена для входа на Пользовательский интерфейс, редактирования файлов, сборки и компиляции программ. Данная директория имеет следующие особенности:
- на эту директорию установлена квота в 100 GB на каждого пользователя;
- эта директория не доступна на вычислительных узлах платформы.
Директория пользователя для хранения и обработки данных: /lustre/projects/l/login
Директория пользователя для хранения и обработки данных предназначена для размещения исполняемых файлов, входных и выходных файлов при выполнении счётных задач на платформе. Данная директория имеет следующие особенности:
- на этой директории не установлена квота;
- эта директория доступна на вычислительных узлах платформы.
Директория пользователя для быстрой обработки данных (Lustre «12×12»): /lustre/scratch/l/login
Директория пользователя для быстрой обработки данных предназначена для обработки массивно-параллельных задач, использующих интенсивный ввод-вывод данных. Данная директория имеет следующие особенности:
- эта директория размещена на файловой системе Lustre «12×12», имеющей специальную архитектуру, оптимизированную для операций ввода-вывода данных;
- в этой директории не гарантируется сохранение файлов, дата размещения которых более 90 дней.
Резервная директория пользователя для обработки данных (NFS/ZFS): /zfs/scratch/l/login
Резервная директория пользователя для обработки данных, размещённая на файловой системе NFS/ZFS, предназначена для запуска задач, связанных с обработкой большого количества файлов небольшого размера.
Данная директория имеет следующие особенности:
- эта директория размещена на файловой системе ZFS, подключенной к вычислительным узлам по протоколу NFS;
- эта директория является резервной для случаев, когда счётной задаче пользователя необходимо обрабатывать большое количество небольших файлов;
- в этой директории не гарантируется сохранение файлов, дата размещения которых более 90 дней.
Создание исполняемого файла
Для создания исполняемого файла необходимо выполнить следующие действия:
- Подготовить текст программы
Для создания текста программы необходимо вызвать текстовый редактор (например, vi , nano , mcedit) и создать текст программы.
Также можно скопировать файл с текстом программы со своего локального компьютера по протоколу SCP с помощью специальных программ. В среде Windows для этой задачи можно использовать программу WinSCP, в среде Linux — команду scp
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
space01> mkdir work1 space01> cd work1 space01> mdedit -a hello.c #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } F2 F10 space01> cat hello.c #include <stdio.h> int main() { printf("Hello World!\n"); return 0; } |
- Подключить необходимое программное обеспечение
На Платформе для пользователя доступно большое количество программных пакетов, компиляторов и библиотек, размещённых в репозитории CVMFS. Для обращения к установленному программному обеспечению (ПО) используется система Lmod, позволяющая настроить переменные окружения интерактивного сеанса, чтобы можно было обратиться к выбранному ПО. Основные команды системы Lmod:
|
1 |
lmod avail |
вывести список установленного ПО;
|
1 |
lmod add intel/v2021.1 |
подключить выбранное ПО (например, Intel 2021.1);
|
1 |
lmod list |
вывести список подключённого ПО;
|
1 |
lmod remove intel/v2021.1 |
отключить выбранное ПО (Intel 2021.1);
|
1 |
lmod clear |
отключить всё подключенное ПО.
|
1 2 3 4 |
space01> lmod add intel/v2021.1 space01> lmod list Currently Loaded Modulefiles: 1) intel/v2021.1 |
- Выполнить компиляцию программы
Для получения исполняемого (бинарного) файла необходимо выполнить компиляцию программы с помощью выбранного компилятора (например, icc).
|
1 2 3 4 5 6 |
space01> icc hello.c -o hello space01> ls hello hello.c hello.cpp space01> ./hello Hello World! |
Планировщик задач SLURM
На платформе используется планировщик задач SLURM, который выполняет несколько задач:
- принимает счётные задачи на счёт и осуществляет их запуск в соответствии с приоритетами, зависящими от параметров счётной задачи и свободных вычислительных ресурсов;
- управляет вычислительными ресурсами и распределяет их между счётными задачами;
- ведёт учёт потреблённых вычислительных ресурсов по выполненным счётным задачам и является источником первичных данных для статистики использования платформы.
Основные команды планировщика SLURM (для пользователя):
|
1 |
sinfo |
вывести список очередей;
|
1 |
sinfo -Nle |
вывести детальные данные по очередям;
|
1 |
squeue |
вывести список задач в очереди;
|
1 |
squeue --start |
вывести список задач и время запуска;
|
1 |
sbatch script |
поставить задачу на счёт;
|
1 |
scontrol show jobid=#jobid |
показать параметры задачи;
|
1 |
scancel #jobid |
снять задачу со счёта.
По умолчанию пользователю доступна очередь knl, которая входит в состав учебно-тестового полигона HybriLIT. Данная очередь позволяет запускать учебные, тестовые и короткие задачи (до 24 часов) для проверки работы программы.
Пользователям, получившим доступ к суперкомпьютеру «Говорун», также будут доступны следующие очереди — для расчётов с использованием CPU: cascade, для расчётов с использованием графических ускорителей NVIDIA V100 и NVIDIA A100: dgx и ampere, соответственно.
Для пользователей экспериментов BMN, MPD, а также пользователей из числа сотрудников Лаборатории теоретической физики (ЛТФ) доступны отдельные очереди bmn, mpd и bltp для выполнения массивной обработки данных.
Выполнение задачи
Для постановки задачи на счёт необходимо выполнить ряд следующих действий:
- Подготовить скрипт для планировщика SLURM
|
1 2 3 4 5 6 7 8 9 |
space01> cat script #!/bin/bash #SBATCH -p knl #SBATCH -t 60 date hostname ./hello |
- Параметр задаёт счётную очередь:
1-p knl - Параметр задаёт время счёта в минутах:
1-t 60
- Скопировать рабочую директорию на Систему хранения и обработки данных
|
1 2 3 |
space01> cp -R ~/work1/ /lustre/projects/user/l/login/ space01> ls /lustre/projects/user/l/login/ hello hello.c hello.cpp script |
- Поставить задачу на счёт
Перейти в свою директорию на Системе хранения и обработки данных и поставить задачу на счёт.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
space01> cd /lustre/projects/user/l/login/ space01> ls hello hello.c hello.cpp script space01> sbatch script Submitted batch job 16669792 space01> squeue 16669792 knl script login PD 0:00 1 (Priority) space01> squeue 16669792 knl script login R 0:04 1 n01p001 space01> cat slurm-16669792.out Mon Feb 2 20:41:22 MSK 2026 n01p001 Hello World! |
Через некоторое время задача начнёт выполняться. Результат работы будет записан в лог-файл с именем slurm-#jobid.out.
- Забрать результаты счёта (если это необходимо)
После завершения счёта можно скачать результаты счёта на свой рабочий компьютер по протоколу SCP, аналогично пункту Создание исполняемого файла — Подготовить текст программы.
