Система управления кластером
Графический интерфейс пользователя кластера
Задача интерфейса — обеспечить выполнение всех возможных операций пользователя только средствами интерфейса. Он должен как можно полнее соответствовать пользователю, учитывать его интересы, привычки, его задачи.
Большинство ученых работают с программными пакетами. Им необходимо удобная, не перегруженная дополнительными функциями среда для запуска параллельных программ и редактирования файлов входных данных.
Прикладные программисты используют кластер как инструмент настройки параллельных программ. Им необходима среда для компиляции с поддержкой популярных компиляторов и прикладных библиотек, редактор для исходных текстов программ.
Основные операции, которые выполняют пользователи комплекса, следующие:
- файловые операции;
- запуск задач на вычисление;
- просмотр процесса решения и результата выполнения задач;
- взаимодействие между пользователями и администраторами.
Остановимся более детально на их рассмотрении.
Файловые операции
Файлы пользователей находятся в персональных каталогах, защищенных от доступа посторонних лиц. Интерфейс доступа к файлам обеспечивает все традиционные операции с файлами: создание, редактирование, удаление и т.д.
Дополнительно предусмотрены сортировки по полям "имя", "размер", "время создания", что необходимо для удобства работы с каталогами при большом количестве файлов.
Объем файловой системы кластера в десятки терабайт обуславливает необходимость в поиске по файловой системе. В графическом интерфейсе предусмотрен поиск по регулярным выражениям, по дате создания файла.
Обмен данными между рабочей станцией и кластером осуществляется путем загрузки и отправки файлов. Для эффективной работы предусмотрен также обмен каталогами, который обеспечивается их предварительной архивацией.
Вычисление задач на ресурсах кластера
Постановка задачи в очередь осуществляется через соответствующий интерфейс, который позволяет задать все необходимые параметры вычислительной задачи и менеджера ресурсов кластера.
Для исходных текстов программ предусмотрена интеллектуальная система компиляции, которая анализирует текст программы и выбирает подходящий язык программирования и сценарий компиляции.
В интерфейсе предусмотрен режим работы с установленными общесистемно программными пакетами. В этом режиме некоторые параметры запуска задаются автоматически, что значительно упрощает работу с ними.
Просмотр хода выполнения и результата выполнения задач
Главным средством контроля процесса выполнения задачи является просмотр в реальном времени журнала задач, в котором отражается состояние выполнения и ошибки. Для этого поддерживается отдельный режим просмотра файлов, слежения за файлом. При этом все изменения в файле журнала сразу же отображаются в соответствующем окне.
Дополнительными средствами контроля выступают просмотр уровня загрузки процессоров, объема занятой задачей оперативной памяти на узлах.
Взаимодействие между пользователями и администраторами
Для общения между пользователями и администраторами предусмотрена система передачи сообщений и форум. Некоторым пользователям нужно переключаться на других пользователей, такая возможность тоже предусмотрена.
Графический интерфейс администратора кластера
Администратор выполняет функции организации вычислительного процесса суперкомпьютера. Каждый администратор имеет учетную запись, как и обычный пользователь, но с расширенными возможностями.
Специфические функции, которые выполняет администратор, следующие:
- вход в систему от имени произвольного пользователя;
- администрирование очереди задач;
- просмотр состояния оборудования кластера;
- управление ресурсами кластера;
- работа с базой учетных записей пользователей;
- запуск диагностических задач;
- просмотр системных журналов.
Опишем детальнее эти функции.
Вход в систему от имени произвольного пользователя
Необходимость в таком средстве возникает при возникновении у пользователя затруднений с работой на кластере. Вход от имени пользователя позволяет достичь повторяемости ошибок, локализовать их в среде, где они возникают.
Администрирование очереди задач
Очередь задач требует от администратора постоянного надзора. В интерфейсе предусмотрена возможность просморта параметров задач в очереди, отмены их в случае возникновения ошибки.
Просмотр состояния оборудования кластера
Состояние оборудования требует постоянного внимания со стороны администратора. Своевременное информирование об авариях является одной из основных задач интерфейса.
Средства мониторинга включают просмотр состояния узлов, системы сохранение данных, температуры в кластерном зале и т.д.
Управление ресурсами кластера
Основным ресурсом кластера являются вычислительные узлы. Администратор имеет возможность динамически менять общее количество узлов, доступных для назначения задачам.
Предусмотрены возможности отключения, включения, блокировки назначения узлов на задачи, возможность блокировки всей очереди задач. Также предусмотрена возможность приостановки всей очереди задач.
Робота с базой учетных записей пользователей
Работа с учетными записями предусматривает просмотр всей базы, изменение полей записей, регистрацию и удаление пользователей.
Запуск диагностических задач
Диагностические задачи — это особенный класс задач. Они позволяют определить характеристики системы, проверить надежность кластера в целом. Запуск таких задач может быть осуществлен как по расписанию, так и по требованию.
Предусмотрен интеллектуальный анализ журнала диагностики с определением компонент с пониженными характеристиками.
Просмотр системных журналов
Просмотр журналов компонент кластера позволяет выявить неизвестные ранее проблемы, детектирование которых не предусмотрено в соответствующих разделах мониторинга.
Предусмотрена возможность фильтрации журналов по определенным ключевым словам, что упрощает анализ больших объемов текста.
Веб-портал кластерных вычислений
Графический интерфейс должен быть доступным с произвольной рабочей станции пользователя и администратора. Поэтому он должен быть кроссплатформенным и не требовать установления дополнительного программного обеспечения.
Именно поэтому за технологическую основу для реализации данного проекта взяты веб-сервисы. Они предоставляют лучшую кроссплатформенность на сегодняшний день и их средств достаточно для обеспечения выполнения заданного круга задач.
Общий вид интерфейса показан на скриншоте:

Структура интерфейса
Интерфейс имеет модульное строение и состоит из двух слоев программного обеспечения: веб-части, которая отвечает за диалог с пользователем, и промежуточного уровня взаимодействия с системным программным обеспечением суперкомпьютера.
Среди модулей можно выделить следующие:
- подсистему авторизации и роботы с базой пользователей,
- модуль взаимодействия с менеджером ресурсов кластера,
- модули диагностики разных подсистем суперкомпьютера.
Модуль авторизации
Поддерживается авторизация с помощью систем PAM и LDAP. Авторизация осуществляется непосредственно, без промежуточного программного обеспечения.
Работа с базой пользователей включает операции авторизации пользователя, добавление и удаление пользователей, редактирование их учетных записей.
Для работы с LDAP в файле конфигурации hydra-adm.conf указывается адрес ldap-сервиса, суффикс базы, учетные данные администратора базы.
Для работы с PAM используется модуль php-auth-pam, который настраивается отдельно.
Модули диагностики
Разработанные тесты анализируют основные параметры работы суперкомпьютера: состояние жестких дисков компонент, сетевых соединений, сети Infiniband, температуры узлов, данные сенсоров IPMI.
Скрипты диагностики и мониторинга находятся на промежуточном уровне программного обеспечения. Они выполняются от имени суперпользователя на шлюзе кластера.
Выполнение осуществляет системный планировщик cron в соответствии с расписанием. Расписание устанавливается в соответствии с потребностями администраторов в предоставляемой информации.
Интерактивное взаимодействие с пользователем
Некоторые компоненты интерфейса отображают информацию, которая часто изменяется. К ним относятся модули ресурсов, очереди задач, просмотр файла вывода задачи, которая выполняется. Интерфейс осуществляет обновление информации без необходимости перезагрузки страницы с помощью технологии AJAX.
Такой подход позволяет пользователям осуществлять интерактивную работу со своими вычислительными задачами на кластере, что очень важно для многих исследований в областях физики и химии с не полностью формализованными алгоритмами.
Демострационная версия системы управления кластером доступна по адресу
http://cluster.melkon.com.ua
Свяжитесь с нами чтобы получить параметры тестовой учетной записи.


