Содержание
Архитектура системы
Сервис на базе суперкомпьютерного центра СГАУ
Управляющее окружение суперкомпьютера «Сергей Королёв» представляет собой отдельный узел кластера, на котором производится компиляция программ, постановка вычислительных задач в очередь и отслеживание их исполнения. При этом работа с управляющим узлом ограничена возможностями протокола SSH и консольными утилитами пакетной системы Torque.
Доступ к системе может осуществляться как из локальной сети СГАУ, так и из сети интернет.
Компоненты системы
- веб-сервер Tomcat 7
- сервер БД PostgreSQL 9.1
Сервис хранит данные проектов и задач в СУБД PostgreSQL, сервер которой развёрнут на сервере templet.ssau.ru вместе с сервером приложений Tomcat.
Исходный код и результаты исполнения задач сохраняются в файловой системе сервера, в отдельном рабочем каталоге.
Доступ к суперкомпьютеру «Сергей Королёв» осуществляется по протоколу SSH от имени пользователя, запускающего задачу. Таким образом, обеспечивается разграничение прав доступа на уровне системы безопасности суперкомпьютера. Для работы с суперкомпьютером требуются учётные данные, выдаваемые суперкомпьютерным центром СГАУ. Сервис может использовать собственную учётную запись для опроса состояния суперкомпьютера и осуществления мониторинга загрузки узлов.
Исходный код задач компилируется на управляющем узле суперкомпьютера. Затем сервис генерирует описатель задания PBS, загружает входные данные и передаёт задачу пакетной системе Torque. Далее сервис периодически опрашивает состояние задачи и по завершении выгружает результаты.
Интервалы опроса статуса задачи:
- для планового времени не более 5 часов – 10 минут;
- для планового времени не более10 часов – 30 минут;
- для планового времени более 10 часов – 1 час.
Алгоритм проверки состояния задачи в суперкомпьютерном окружении использует для проверки состояния два признака исполнения: наличие специальных файлов (используются в процессе компиляции приложений) и сведения из системы пакетной обработки. При наличии какого-либо признака (ошибки или завершения) алгоритм забирает выходные данные (результаты и журнал исполнения) из целевого окружения и удаляет рабочую директорию задачи. Выходные данные могут быть не более 100MB на задачу, в противном случае они будут оставлены в целевом окружении.
Для работы сервиса не требуется установки стороннего ПО на узлах суперкомпьютера.
Разграничение прав доступа
Роли пользователей в системе:
- Гость - ограниченный доступ, только просмотр шаблонов и справочной информации
- Пользователь - разрешено создание проектов
- Администратор проекта - полный доступ к проекту
- Разработчик проекта - имеет доступ к задачам и окружениям проекта
- Модератор системы - имеет возможность изменения в данные пользователей, задач, шаблонов и проектов
- Администратор системы - имеет возможность управления пользователями системы
Схема базы данных
Технологии
Программный стек веб-сервиса включает в себя следующие технологии:
- Java 7
- Фреймворк Grails 2.2
- Сервер приложений Tomcat 7
- Сервер БД PostgreSQL 9.1
Сервис функционирует на ОС Ubuntu Linux Server 12.04.3 LTS
Всё ПО является свободно распространяемым и не требует приобретения лицензии.