Проект Templet

акторный фреймворк для запуска задач
на множестве ядер, кластерах и в облаках
templet.ssau.ru

Инструменты пользователя

Инструменты сайта


templet:архитектура_системы

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
templet:архитектура_системы [2013/10/08 18:57] – создано artamonovtemplet:архитектура_системы [2013/10/29 18:25] (текущий) – [Компоненты системы] artamonov
Строка 1: Строка 1:
 ===== Архитектура системы ===== ===== Архитектура системы =====
 +
 +==== Сервис на базе суперкомпьютерного центра СГАУ ====
 +
 +Управляющее окружение суперкомпьютера «Сергей Королёв» представляет собой отдельный узел кластера, на котором производится компиляция программ, постановка вычислительных задач в очередь и отслеживание их исполнения. При этом работа с управляющим узлом ограничена возможностями протокола SSH и консольными утилитами пакетной системы Torque.
 +
 +Доступ к системе может осуществляться как из локальной сети СГАУ, так и из сети интернет.
 +
 +{{ :templet:templet-network.png|}}
 +
 +==== Компоненты системы ====
 +
 +  - веб-сервер Tomcat 7
 +  - сервер БД PostgreSQL 9.1
 +
 +Сервис хранит данные проектов и задач в СУБД PostgreSQL, сервер которой развёрнут на сервере templet.ssau.ru вместе с сервером приложений Tomcat.
 +
 +Исходный код и результаты исполнения задач сохраняются в файловой системе сервера, в отдельном рабочем каталоге.
 +
 +{{ :templet:templet-servers-scheme.png |}}
 +
 +Доступ к суперкомпьютеру "Сергей Королёв" осуществляется по протоколу SSH от имени пользователя, запускающего задачу. Таким образом, обеспечивается разграничение прав доступа на уровне системы безопасности суперкомпьютера. Для работы с суперкомпьютером требуются учётные данные, выдаваемые суперкомпьютерным центром СГАУ. Сервис может использовать собственную учётную запись для опроса состояния суперкомпьютера и осуществления мониторинга загрузки узлов.
 +
 +Исходный код задач компилируется на управляющем узле суперкомпьютера. Затем сервис генерирует описатель задания PBS, загружает входные данные и передаёт задачу пакетной системе Torque. 
 +Далее сервис периодически опрашивает состояние задачи и по завершении выгружает результаты. 
 +
 +Интервалы опроса статуса задачи:
 +  * для планового времени не более 5 часов – 10 минут;
 +  * для планового времени не более10 часов – 30 минут;
 +  * для планового времени более 10 часов – 1 час.
 +
 +Алгоритм проверки состояния задачи в суперкомпьютерном окружении использует для проверки состояния два признака исполнения: наличие специальных файлов (используются в процессе компиляции приложений) и сведения из системы пакетной обработки. При наличии какого-либо признака (ошибки или завершения) алгоритм забирает выходные данные (результаты и журнал исполнения) из целевого окружения и удаляет рабочую директорию задачи. Выходные данные могут быть не более 100MB на задачу, в противном случае они будут оставлены в целевом окружении.
 +
 +Для работы сервиса не требуется установки стороннего ПО на узлах суперкомпьютера.
 +
 +==== Разграничение прав доступа ====
 +
 +Роли пользователей в системе:
 +
 +  * Гость - ограниченный доступ, только просмотр шаблонов и справочной информации
 +  * Пользователь - разрешено создание проектов
 +  * Администратор проекта - полный доступ к проекту
 +  * Разработчик проекта - имеет доступ к задачам и окружениям проекта
 +  * Модератор системы - имеет возможность изменения в данные пользователей, задач, шаблонов и проектов
 +  * Администратор системы - имеет возможность управления пользователями системы
 +
 +==== Схема базы данных ====
 +
 +{{ :templet:templet-db.png |}}
 +
 +==== Технологии ====
 +
 +Программный стек веб-сервиса включает в себя следующие технологии:
 +  * Java 7
 +  * Фреймворк Grails 2.2
 +  * Сервер приложений Tomcat 7
 +  * Сервер БД PostgreSQL 9.1
 +
 +Сервис функционирует на ОС Ubuntu Linux Server 12.04.3 LTS
 +
 +Всё ПО является свободно распространяемым и не требует приобретения лицензии.
 +
templet/архитектура_системы.1381258636.txt.gz · Последнее изменение: 2013/10/08 18:57 — artamonov