Это старая версия документа!
Содержание
Архитектура системы
Сервис на базе суперкомпьютерного центра СГАУ
Управляющее окружение суперкомпьютера «Сергей Королёв» представляет собой отдельный узел кластера, на котором производится компиляция программ, постановка вычислительных задач в очередь и отслеживание их исполнения. При этом работа с управляющим узлом ограничена возможностями протокола 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
Всё ПО является свободно распространяемым и не требует приобретения лицензии.