Проект Templet

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

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

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


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

Архитектура системы

Сервис на базе суперкомпьютерного центра СГАУ

Управляющее окружение суперкомпьютера «Сергей Королёв» представляет собой отдельный узел кластера, на котором производится компиляция программ, постановка вычислительных задач в очередь и отслеживание их исполнения. При этом работа с управляющим узлом ограничена возможностями протокола SSH и консольными утилитами пакетной системы Torque.

Доступ к системе может осуществляться как из локальной сети СГАУ, так и из сети интернет.

Компоненты системы

  1. веб-сервер Tomcat 7
  2. сервер БД 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

Всё ПО является свободно распространяемым и не требует приобретения лицензии.

templet/архитектура_системы.txt · Последнее изменение: 2013/10/29 18:25 — artamonov