Top image
Skip Navigation Links
Общие сведения
Доступ
Поддержка
Материалы
Ссылки
Контакты
Вход в систему

Управление вычислениями

В ходе разработки для системы Метакластер были подготовлены три последовательно развиваемые версии системы. Первый вариант Метакластера разработан в 2002 г. и был ориентирован на организацию эффективного управления отдельными кластерами при одновременном обеспечении высокой надежности и отказоустойчивости при предоставлении удаленного доступа к кластеру через Интернет. Важной особенностью разработанной системы явилось ее установка на кластеры, функционирующих под управлением операционных систем семейства Microsoft Windows. Выбор операционной системы был обусловлен желанием упростить для пользователей проблему практического использования высокопроизводительных кластерных систем – многие прикладные программисты имеют больший опыт работы именно в среде ОС Windows и для них разработка программ для Linux-кластеров может оказаться достаточно сложной. Кроме того, большое количество вычислительных ресурсов, которые могут быть использованы при построении кластеров, как правило, работают под управлением ОС Windows. И, наконец, на момент начала разработки Метакластера существовало достаточное ограниченное множество доступных, надежных и простых в использовании систем управления, работающих с операционной системой Windows, а практика организации высокопроизводительных вычислений на Windows не имела широкого распространения. Как показало последующее развитие событий, выбор для Метакластера операционной системы Windows был обоснованным, так как это позволило привлечь к теме высокопроизводительных вычислений широкий круг пользователей. В настоящее время большинство ведущих производителей ПО для управления кластерами также поддерживают ОС Windows (Platform LSF, Condor, Microsoft HPC 2008 и др.).

Следующий вариант Метакластера подготовлен в 2005 г. и был ориентирован на поддержку многокластерности – возможности управлять одновременно несколькими кластерами, предоставляя к ним единую точку доступа. Это открыло еще большие возможности для пользователей, так как у них появилась возможность запускать задания на широком спектре вычислительных ресурсов, объединенных в мультикластер (или интегрированную среду высокопроизводительных вычислений), а также повысило общую эффективность использования кластеров за счет динамической балансировки нагрузки между ними.

Новейшая версия Метакластера разработана в 2008 г. – к возможностям системы управления добавилась кроссплатформенность (возможность управления кластерами, работающими под управлением ОС Linux) и способность включать в интегрированную среду Метакластера кластеры под контролем систем управления сторонних разработчиков, в частности Microsoft High Performance Computing Server 2008.

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

Многокластерность

Метакластер позволяет подключать к интегрированной среде управления высокопроизводительными вычислениями произвольное число кластеров, возможно, территориально удаленных и не состоящих в одной подсети. Система берет на себя работу по доставке необходимых входных файлов на требуемый кластер и по копированию результатов вычислений на виртуальный рабочий стол пользователя. Это позволяет пользователю не задумываться о том, где физически выполняются его задачи. При временной недоступности определенного кластера, а так же в случае подключения к Метакластеру новых ресурсов для пользователя ничего не меняется: система сама определяет, на какой ресурс эффективнее отправить задание. Пользователю нужно лишь указать требования к задаче: архитектура и число процессоров, объем оперативной памяти, свободное место на дисках и др. характеристики. При необходимости возможно и явное задание кластера и далее узлов. Но в этом случае пользователь должен будет самостоятельно перезапускать задание в случае отключения указанных ресурсов.

Многоплатформенность

Метакластер позволяет интегрировать кластеры, работающие под управлением различных операционных систем. Это достигается за счет специфичной реализации платформенно-зависимого кода и использования открытых протоколов коммуникации компонент. В настоящее время реализована поддержка основных операционных систем семейств Windows и Linux. При постановке задачи пользователь выбирает операционную систему и реализацию коммуникационной среды (например, определенная реализация MPI), требующиеся его приложению. Задача Метакластера – подобрать соответствующие ресурсы и осуществить запуск способом, характерным для выбранной операционной системы и выбранной реализации MPI.

Гибкость в выборе операционной системы позволяет существенно расширить круг пользователей Метакластера и спектр решаемых задач. Однако Метакластер частично сохраняет свою ориентированность на работу в ОС Windows. Так, компоненты Интегратор (распределение задач по кластерам) и Удаленный доступ работают только в ОС Windows.

Интеграция со сторонними системами управления кластерами

Метакластер может взаимодействовать с системами управления сторонних разработчиков. При подключении такого кластера Метакластер возьмет на себя работу по взаимодействию с его системой управления: добавление задач, отслеживание их состояния, мониторинг вычислительных ресурсов и пр. Это позволяет подключать кластеры к интегрированной среде управления высокопроизводительными вычислениями без нарушения работы существующих пользователей, которые могут продолжать работать привычным способом. В настоящее время реализована интеграция с Microsoft High Performance Computing Server 2008.

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

Система управления Метакластер имеет четыре основные компоненты: менеджер удаленного доступа, интегратор кластеров, менеджер кластера и инспектор узла. На рис. 1 представлена схема архитектуры разрабатываемой системы.

Рис. 1. Архитектура системы управления Метакластер

Менеджер удаленного доступа

Компонента Менеджер удаленного доступа – единая точка доступа к ресурсам под управлением Метакластера. Доступ возможен либо через веб-службу, либо через веб-интерфейс. Доступ через веб-службу позволяет интегрировать Метакластер с пользовательскими приложениями, которым необходимо использовать ресурсы мультикластера для расчетов. Открытые стандарты, на которых основана веб-служба: XML, WSDL, SOAP, – позволяют взаимодействовать с Метакластером, используя практически любой язык программирования и с любой операционной системы.

Веб-интерфейс Метакластера предоставляет пользователям удобный и простой доступ к вычислительным ресурсам через Интернет и не требуют установки специального программного обеспечения. После прохождения процедуры аутентификации пользователь Метакластера получает доступ к своему виртуальному рабочему столу, где отображаются загруженные им программы, файлы данных, а так же результаты предыдущих запусков программ. Поддерживаются базовые операции управления файлами: создание каталогов, перемещение/ копирование, переименование, архивирование/ разархивирование, загрузка/ скачивание файлов и пр. Для добавления новой задачи пользователю необходимо выбрать исполняемый файл и задать свойства создаваемой задачи: требуемые вычислительные ресурсы, входные параметры, результат перенаправления потока вывода, приоритет задачи и др. После этого за состоянием задачи можно будет наблюдать в очереди задач. Веб-интерфейс предоставляет возможность получить статистическую информацию об использовании кластера в виде различных отчетов и графиков загруженности за выбранные периоды в прошлом. Почти все указанные операции можно выполнить из пользовательских программ через использование веб-службы - фактически, веб-интерфейс является всего лишь одним из клиентов веб-службы.

Интегратор кластеров

Интегратор кластеров является центральной точкой управления мультикластером. Интегратор принимает задания от Менеджера удаленного доступа, распределяет их по кластерам и отслеживает ход их выполнения. Интегратор поддерживает связь с каждым из кластеров, включенных в Метакластер. При этом не требуется, чтобы узлы кластера и Интегратор были в одной подсети. Достаточно наличия канала связи между Интегратором и Менеджером кластера. Интегратор периодически проверяет доступность каждого кластера. В случае потери соединения Интегратор может принять решение о перемещении заданий на другой кластер. Интегратор хранит общую очередь заданий, запущенных на всем мультикластере, отслеживает их состояние и транслирует эту информацию Менеджеру удаленного доступа.

Интегратор выбирает только кластер, где будет запущенно задание, решение же о выборе узлов принимает соответствующий Менеджер кластера. Однако, в случае, когда пользователь явно указал кластер и узлы, где он хочет выполнить свое приложение, Интегратор просто транслирует эту информацию Менеджеру кластера.

Для коммуникации с Менеджером удаленного доступа и Менеджерами кластеров используется механизм .NET Remoting, обеспечивающий высокую надежность и скорость передачи данных. Наличие открытой кроссплатформенной реализации механизма .NET Remoting (проект Mono), позволяет просто соединять Интегратор с Менеджерами кластеров, работающих на Linux и других операционных системах. Сам Интегратор кластеров работает только на ОС Windows.

Менеджер кластера

Компонента Менеджер кластера – это система управления отдельным кластером. В задачу компоненты входит распределение заданий по узлам кластера в соответствии с локальной стратегией планирования, мониторинг вычислительных ресурсов кластера, обеспечение устойчивости к сбоям отдельных узлов. Менеджер кластера хранит локальную очередь заданий, состоящую из заданий, переданных Интегратором, и задач, поставленных локальными пользователями. Менеджер отслеживает состояние запущенных заданий и транслирует информацию Интегратору кластеров.

Специфические реализации менеджера кластера позволяют подключать к Метакластеру кластеры под управлением различных операционных систем, а так же кластеры, где уже установлена система управления сторонних разработчиков. В последнем случае Менеджер кластера выступает в роли посредника между Интегратором кластеров и установленной системой управления, преобразуя поступающие команды в форму, понятную локальной системе управления. В настоящее время реализованы версии Менеджеров кластеров для Windows, Linux, а так же кластеров под управлением Microsoft High Performance Computing Server 2008.

Инспектор узла

Инспектор узла – компонент, устанавливаемый на каждый узел кластера. В его задачу входит выполнение команд на удаленном узле по запросу Менеджера кластера: старт и остановка процессов, перезапуск «зависших» сервисов, предоставление Менеджеру кластера информации о состоянии и загрузке узла и отдельных процессов. Для коммуникации с Менеджером кластера используется механизм .NET Remoting.

Bottom image