Templet Web: система управления задачами кластера «Сергей Королёв»

Система предназначена для проведения лабораторных занятий, исследовательских работ и других занятий на кластере «Сергей Королёв с использованием веб-браузера.

Система обеспечивает:

  • запуск вычислительных задач на кластере «Сергей Королёв» под контролем преподавателя;
  • редактирование кода программ непосредственно в браузере;
  • визуализацию результатов вычислений в табличной форме и в форме графиков;
  • создание приложений для вычислений с использованием технологий OpenMP и MPI из готовых примеров;
  • хранение кодов приложений и результатов вычислений с возможностью коллективного доступа.

Порядок настройки системы для проведения лабораторных занятий

  1. Преподаватель регистрируется в системе. Для этого нужно перейти по ссылке http://templet.ssau.ru/app/, выбрать пункт Регистрация, заполнить появившуюся форму. Затем выполнить вход в систему, указав введенные при регистрации логин и пароль. 
    Примечания: в поле Образование следует выбрать вариант Преподаватель; указанный в поле Email адрес электронной почты может быть использован для восстановления утерянного пароля или для связи администраторов системы с пользователем.
  2. Преподаватель настраивает Окружение для запуска задач на кластере «Сергей Королёв». Для этого преподавателю нужно в главном меню системы выбрать раздел Ресурсы, а далее форму Окружения. В появившейся форме Окружения нажать кнопку Создать и заполнить поля формы Новое окружение. Проверить правильность ввода параметров, нажав кнопку Проверить подключение
    Примечания: в поле Название в форме Новое окружение указывается произвольное название, возможно, на русском языке, например, "кластер Сергей Королёв". Название используется как ссылка на Вашу учётную запись на кластере. В поле Код проекта указывается назначенный администратором кластера «Сергей Королёв» код, по которому ведётся учет использования ресурсов. Код проекта выдаётся вместе с логином и паролем при оформлении доступа на кластер. В поля Логин и Пароль вводятся реквизиты учетной записи на кластере. Если при выполнении лабораторных работ не предполагается ручная настройка PBS файла, не следует ставить отметку в соответствующем чекбоксе.
  3. Преподаватель создаёт Проект для группы студентов.Для этого в главном меню системы выбирается форма Проекты. Далее нажатием кнопки Создать открывается форма Новый проект. В поле Тип должно быть указано значение по умолчанию "Обычный", поля Шаблон и Репозиторий следует оставить незаполненными. При нажатии кнопки Okсоздается проект для учебной группы. 
    Примечания: поля Название и Описание могут заполняться на русском языке. Например, Название: "группа 6401 (весна 2017)"; Описание: "Дисциплина: Параллельное программирование, преподаватель Иванов И.И."
  4. Студенты регистрируются в системе. Для этого, аналогично регистрации преподавателя, студенты переходят по ссылке http://templet.ssau.ru/app/, выбирают пункт Регистрация, заполняют появившуюся форму регистрации. После прохождения регистрации студенты могут войти в систему, указав введенные при регистрации логин и пароль. 
    Примечания: для удобства работы преподавателя, студентам рекомендуется указывать при регистрации ФИО полностью на русском языке, а также указывать номер группы в унифицированном формате, принятом в университете. Студенты могут выполнять регистрацию одновременно с регистрацией преподавателя и настройкой им проекта для учебной группы.
  5. Преподаватель настраивает доступ к кластеру для студентов. Для этого преподавателю требуется выбрать проект, созданный на шаге 3, на форме Проекты и нажать кнопку Изменить. Далее на вкладке Разработчики добавить зарегистрированных студентов в данный проект. После окончания добавления следует нажать кнопку Ok, иначе изменения будут потеряны. Затем, перейдя на вкладку Окружения, следует добавить в проект окружение, настроенное на шаге 2. После успешного выполнения шагов 1-5 Студенты смогут увидеть проект со списком своей группы, открыв форму Проекты, а далее вкладку Разработчики. Также студенты могут видеть настроенное преподавателем окружение для работы на кластере, открыв форму Ресурсы/Окружения или вкладку Окружения в проекте учебной группы. 
    Примечания: для добавления студентов в Проект следует начать набор фамилии в поле слева от кнопки Добавить. Система дает подсказку, предлагая в выпадающем списке зарегистрированных пользователей. Если Вы видите нужного пользователя в подсказке в выпадающем списке, выберите его и нажмите Добавить. Тот же принцип ввода используется при добавлении окружений в проект.

Запуск примера параллельной программы на кластере «Сергей Королёв»

В системе имеется набор примеров программ, на основе которых пользователи могут разработать собственную программу для вычислений на кластере. Рассмотрим порядок создания и запуска OpenMP программы из готового примера умножения матриц.

  1. Создание проекта. В главном меню системы выберете Шаблоны. В появившемся списке выберите шаблон №5 OmpMult (Пример параллельного умножения матриц с проектами для Visual Studio 2008 и 2013). Нажмите на кнопку Создать проект. В форме Новый проект в поле Тип следует изменить значение по умолчанию на Виртуальное окружение, а в поле Кодировка - на значение "Windows-1251". После заполнения всех полей и нажатия на кнопку Ok открывается форма Проекты, в которой выделен только что созданный проект. 
    Примечания: поля Название и Описание проекта можно заполнять на русском языке; новый проект также можно создать через форму Проекты, нажав кнопку Создать. При этом в поле Шаблон в выпадающем списке необходимо выбрать название шаблона OmpMult. Проект может выполняться группой студентов, а также с помощью преподавателя. Чтобы добавить в проект новых разработчиков выберете Ваш проект на форме Проекты, вызываемой из главного меню системы. Затем нажмите кнопку Изменить, далее перейдите на вкладку Разработчики. Добавьте в проект других студентов из вашей группы или преподавателя. После завершения нажмите кнопку Ok.
  2. Открытие файлов проекта в редакторе. Выберете вновь созданный проект в списке на форме Проекты. Откройте проект в редакторе, нажав кнопку > IDE. В левой части экрана появится панель, отображающая файлы проекта, под ней - панель со списком запущенных в проекте задач. В центральной части экрана находится зона редактора. Откройте код программы примера "omp.cpp" в зоне редактора двойным кликом по названию файла. Можно открыть несколько файлов одновременно. Их названия будут отображены на вкладках в верхней части области редактора. 
    Примечания: в панели файлов проекта работает контекстное меню, открываемое правой кнопкой мыши или удержанием пальца на тачскрине планшета. С его помощью можно Создать, Открыть, Переименовать или Удалить файл или каталог. После редактирования содержимого файла внесенные изменения требуется сохранить, нажав кнопку на панели инструментов. Вы также можете выгрузить содержимое проекта на локальный компьютер, внести изменения, затем загрузить измененный проект целиком. Для этого используются кнопки на панели инструментов Скачать проект и Загрузить проект. Для удобного выполнения таких изменений в среде MS Visual Studio пример OmpMult содержит настроенные проекты VS2008 и VS2013.
  3. Запуск задач на кластере «Сергей Королёв». Настройте конфигурацию запуска проекта. Для этого нажмите кнопку ⚙ (с изображением шестерёнки) на панели инструментов, в появившейся форме в поле Окружение выберите окружение, настроенное преподавателем. Нажмите Добавить справа от поля Узлы. В появившихся полях Количество узлов, Процессов на узел введите значение 1. Нажмите Ok для сохранения конфигурации запуска проекта. Далее нажмите кнопку Запустить (с изображением ракеты) на панели инструментов. Появится сообщение о запуске задачи, а ссылка на задачу появится под панелью с файлами проекта. 
    Примечания: В поле Время указывается предельное время счета задачи, при достижении которого она будет автоматически снята с исполнения. Поле Узлы позволяет выбрать конкретные узлы кластера «Сергей Королёв», на которые вы планируете запустить задачу. Описанные в примере настройки позволяют пакетной системе кластера выбрать произвольный узел. Для примеров, использующих MPI, требуется поставить отметку в соответствующем чекбоксе. Для программы MPI обычно указывается более 1 узла в поле Количество узлов. Для программы OpenMP указывается строго 1 узел в поле Количество узлов, а поле Процессов на узел может принимать значения 1, 8, 12, 16, 20. Задача OpenMP в любом случае будет использовать узел целиком, и ей будут доступны все аппаратные потоки узла. Данная информация о количестве процессов на узел используется планировщиком пакетной системы при выборе узла для запуска задачи.
  4. Контроль завершения задачи, просмотр результатов. Перейдите по ссылке на задачу, которая появилась во время запуска задачи под панелью с файлами проекта. Откроется форма Задача №. На вкладке Общее показана информация о запущенной задаче, такая как её исходный код, владелец, окружение запуска, ссылка на архив с результатами выполнения (если задача успешно завершена). Также отображаются этапы выполнения задачи на кластере «Сергей Королёв» в таблице События. После завершения задачи на форме Задача № будет отображена вкладка Результаты. На ней в левой части показаны выходные файлы, формируемые задачей. При выборе файла в центральной части экрана отображается его содержимое. 
    Примечания: система может визуализировать содержимое текстовых файлов, табличных файлов формата CSV, файлов с презентационной графикой amCharts, файлов с изображениями. Задачи, запускаемые в системе, также доступны через форму Задачи главного меню системы. Преподаватель видит все задачи, запускаемые им лично, а также задачи студентов, запущенные через его окружение. Преподавателю доступен для скачивания и аудита исходный код запущенной студентом задачи, также доступны результаты вычисления, как для скачивания, так и для просмотра на вкладке Результаты формы Задача №. Если студент нуждается в консультации, например, в правках или замечаниях по коду проекта со стороны преподавателя, студент должен добавить преподавателя в свой проект в качестве одного из разработчиков.

Сопровождение системы Templet Web

Методическое сопровождение: Востокин Сергей Владимирович, д.т.н., профессор кафедры информационных систем и технологий Самарского университета

Техническое сопровождение: Артамонов Юрий Сергеевич, ассистент кафедры информационных систем и технологи Самарского университета

Самарский университет, 14 корпус, каб. 504, тел. раб. +7(846) 267-45-17, E-mail: graphplus@ssau.ru.