Высокопроизводительные вычисления
(High Performance Computing, HPC) — это раздел прикладной
информатики, занимающийся в основном поиском путей решения задач,
требующих большого количества вычислительных ресурсов. Несколько лет
назад для решения задач HPC в основном использовались
крупные специализированные (и
дорогие) системы, так называемые супер-ЭВМ, которые можно было
увидеть в первую очередь в исследовательских центрах. С повышением
вычислительной мощности малых систем менялось соотношение затраты –
производительность, и баланс объемов вычислительных задач постепенно
сместился в сторону систем ПК-класса.
Многие задачи, требующие значительных
вычислительных ресурсов, можно решить методом параллельных
вычислений — это метод, при котором любой отдельно взятый
процесс выполняется независимо от результатов выполнения других
процессов. В таком случае для решения сложных задач можно
воспользоваться несколькими относительно небольшими системами
(узлами), сгруппированными в вычислительные кластеры. Вот лишь
несколько примером приложений, пользующихся преимуществами
вычислительных кластеров:
- Финансовые модели — один и тот же алгоритм или формула
может использоваться тысячи раз подряд, каждый раз с новыми
входными данными.
- Проектирование — имитирующие эффекты в отдельных деталях,
применение текстур к моделям.
- Компьютерная анимация — применение текстур и эффектов
освещения к каждому кадру мультфильма.
Вычислительные кластеры позволяют быстро и с
относительно небольшими затратами решать комплексные задачи. В этой
статье мы рассмотрим ключевые возможности кластеров, работающих под
управлением системы Windows® Compute
Cluster Server 2003.
Важно различать вычислительные кластеры и
отказоустойчивые кластеры (обеспечивающие надлежащую доступность
систем). Вам, возможно, доводилось работать с отказоустойчивыми
кластерами для Exchange, SQL Server® или
других приложений в системе Windows Server® 2003. Для повышения доступности приложения
они обычно они используют общее хранилище. Назначение же
вычислительного кластера состоит не в том, чтобы взять на себя
работу другой системы в случае сбоя, а в том, чтобы обеспечить
скоординированное функционирование всех узлов.
Общие требования к вычислительным
кластерам
Современные системы HPC имеют некоторые общие
ключевые элементы, которые упрощают обработку заданий. Они
объединяют в себе несколько систем. Для координирования заданий,
выполняемых на разных узлах, используется планировщик. Он работает
на ответственном (головном) узле. Планировщик выявляет доступные
ресурсы, назначает и распределяет задания, отслеживает общее
состояние выполнения заданий. Это координатор ресурсов в пределах
кластера систем и одновременно точка, в которой администраторы и
пользователи отправляют задания на обработку.
Для работы кластера необходим способ обмена
информацией между узлами. В некоторых случаях (в зависимости от типа
операций) между узлами должны существовать высокоскоростные каналы
связи с низкими значениями задержки — узлы используют их для
обмена сообщениями и координации обработки. Как минимуму каждый
вычислительный узел и головной узел должен быть подключен к общей
сети.
Связанные друг с другом системы, совместно
решающие сложные комплексные задачи, требуют довольно большого
внимания и должного ухода. Для обеспечения ресурсами, мониторинга,
управления и обслуживания сотен, а иногда и тысяч систем требуются
специальные процедуры и средства — они должны обеспечить
согласованность и стабильность работы среды.
Наконец, и это, пожалуй, самое важное, необходимо
обеспечить доступность приложений, способных использовать
возможности параллельной обработки, предоставляемые вычислительными
кластерами. Если не будет приложений, разбивающих задания на
отдельные процессы в целях их подготовки к параллельной обработке,
если не будет средств разработки, обеспечивающих в том числе и
«параллельную отладку», кластер можно будет использовать разве что
для обогрева.
Кластеры
на базе Windows Server
В 2006 году корпорация Майкрософт выпустила
системы Windows Server 2003 Compute Cluster Edition (CCE) и Windows
Compute Cluster Server 2003 (WCCS), призванные обеспечить выполнение
требований широкого ряда HPC-приложений. Системы CCE и WCCS
построены на базе одной и той же системы Windows Server 2003, с
которой вы уже знакомы. CCE — это версия Windows Server 2003,
лицензированная для применения в системах HPC. WCCS отличается от
CCE только наличием пакета Microsoft®
Compute Cluster Pack (CCP). Это означает, что для развертывания,
управления, мониторинга и обслуживания кластера на базе Windows
Server можно использовать те же средства, что используются для
выполнения аналогичных задач в системах Windows Server 2003.
Важно отметить, что системы CCE и WCCS выпущены
только в виде 64-разрядных версий — 32-разрядных версий (x86)
этих продуктов нет. Требования к оборудованию для CCE и WCCS
совпадают с требованиями для 64-разрядной версии Windows Server 2003
Standard. Для обеспечения работы высокопроизводительного
оборудования (64-разрядной архитектуры) эти системы дополнительно
включают поддержку RDMA для высокоскоростных подключений (Gigabit
Ethernet, InfiniBand, Myrinet и др.)
Пакет Compute Cluster Pack
Как было упомянуто ранее, вычислительные кластеры
предъявляют ряд базовых требования, которые выполняются путем
установки пакета Compute Cluster Pack. CCP — это
самостоятельный установочный пакет, включающий в себя следующие
компоненты:
- встроенный планировщик заданий;
- поддержку интерфейса MPI для отраслевого стандарта MPICH2;
- инструменты пользователя и средства управления ресурсами
кластера.
Наличие пакета CCP — главное отличие систем
CCE и WCCS. Возникает вопрос: почему пакет включен только в WCCS,
если он содержит средства, необходимые для работы кластера. Дело в
том, что в некоторых HPC-решениях используются другие планировщики
заданий или специальные MPI-интерфейсы (а в некоторых случаях
поддержка MPI вовсе не требуется). Для реализации таких решений
необходима лишь опорная платформа — а именно Windows Server
2003. А поскольку CCP представляет собой совершенно самостоятельный
пакет, его можно установить на любой 64-разрядной версии Windows
Server 2003 (CCE, Standard, Standard R2, Enterprise и Enterprise
R2).
Составляющие
системы
Система WCCS использует ключевые функции Windows,
в том числе службу каталогов Active Directory® и службы RIS, упрощая тем самым управление и
эксплуатацию кластеров на базе Windows. В системе Compute Cluster
Server служба каталогов Active Directory используется для
прозрачного управления безопасностью. Служба каталогов позволяет
пользователю отправлять задания на головной узел (при этом он
использует единый набор учетных данных), а потом эти задания
распределяются по сотням узлов сервера. При выполнении задания на
одном или нескольких вычислительных узлах используются учетные
данные пользователя, предоставленные при отправке задания: они
надежно кэшируются после передачи. В WCCS служба Active Directory
выступает в роли такой «единой точки входа». Еще одно преимущество
наличия службы Active Directory в рабочей среде — это
возможность централизованного управления сервером и политиками
настройки через групповую политику.
Если в вашей ИТ-организации служба Active
Directory уже развернута, вы сможете сэкономить немало времени и
сил, если будете строить кластер на базе уже существующего домена.
Такой вариант предпочтителен.
Если вычислительный кластер необходимо развернуть
в среде, где службы Active Directory нет, рекомендуется развернуть
один или несколько выделенных контроллеров домена, на которых вы
разместите службу каталогов Active Directory для кластера. Нередко в
качестве головного узла выбирается тот контроллер домена, на котором
размещена служба Active Directory, поскольку в таком варианте все
узлы связаны сетью с системой — независимо от топологии сети.
Однако в крупномасштабных кластерах использовать контроллер домена в
качестве головного узла не рекомендуется — из-за слишком
высокой нагрузки на головной узел. При развертывании и управлении
службой Active Directory следует также выполнять общепринятые
процедуры: устанавливать резервные контроллеры домена, проводить
надлежащее резервное копирование, обеспечивать безопасность и
т. д.
Службы
удаленной установки
Система WCCS предоставляет встроенный интерфейс
для платформы развертывания образов Microsoft Remote Installation
Service. Служба RIS применяется для развертывания образов
операционных систем с головного узла на вычислительные узлы, ускоряя
тем самым установку нового кластера. Отдельно ее использовать не
приходится: служба RIS для удобства работы встроена в систему WCCS.
Вы можете также использовать и другие распространенные технологии
развертывания систем Windows Server, в том числе службы
автоматического развертывания Windows Server 2003 (ADS), а можете
устанавливать Windows Server 2003 вручную.
Если вы решили использовать службу RIS, перед
установкой системы CCP на головной узел убедитесь в том, что вы
определили как минимум два логических диска. Служба RIS требует
наличия диска, отделенного от операционной системы, — для
хранения образов сервера. Раздел, отведенный RIS, должен быть
достаточно большим, чтобы вместить один или несколько полных образов
системы Windows Server.
Для нового серверного оборудования, в особенности
для сетевых устройств и хранилищ, могут понадобиться драйверы Plug
and Play, не включенные в стандартный образ Windows Server 2003. Их
придется добавить в образ вручную. Эта процедура описана в статье по
адресу support.microsoft.com/kb/254078.
Установка кластера
Первый шаг в процедуре настройки нервной системы
кластера — создание головного узла. Начните с установки одной
из 64-разрядных версий Windows Server 2003, упомянутых выше. Во
время установки вам будет предложено присоединить сервер к
существующему домену (рекомендуется это сделать) и установить службу
Active Directory на сервере (не рекомендуется для крупномасштабных
кластеров).
После установки операционной системы обязательно
загрузите и установите все рекомендованные исправления из центра
обновления Майкрософт. Если вы планируете использовать службу RIS
для работы с образами вычислительных узлов, вы должны
воспользоваться служебной программой «Управление дисками» (в разделе
«Управление компьютером») и убедиться в наличии хотя бы двух
логических дисков. В целях экономии места установку с использованием
RIS мы рассматривать не будем.
После того как вы успешно вошли в систему и
обновили сервер, вы запускаете программу установки CCP. Программа
либо установит сама, либо поможет вам загрузить и установить
следующие файлы и обновления:
Программа установки CCP выполняет немалую работу
по проверке готовности системы к установке. Она сообщает о том,
какие компоненты требуются, какие будут установлены в ходе работы
программы, и устанавливает их (см. рис.
1).
Рис.
1 Компоненты, необходимые для
установки CCP
Список
необходимых действий
После завершения установки CCP откроется консоль
администратора и предъявит вам список необходимых действий. Как
показано на рис. 2, список состоит из
нескольких панелей, каждая из которых посвящена отдельной теме. В
этот список включены задания, которые необходимо выполнить для
полной настройки кластера.
Рис.
2 Список заданий, которые
необходимо выполнить для настройки кластера
Список необходимых действий помогает вам
построить намеченную архитектуру кластера, в том числе выбрать и
настроить топологию сети, процедуру установки узлов и модель
управления. Задания в каждой панели перечислены в правой части.
Каждое задание запускает свой мастер. Чтобы полностью настроить
головной узел, с которого будут развертываться образы вычислительных
узлов при помощи службы RIS, и который будет администрироваться и
использовать определенным набором пользователей, выполните по
очереди все перечисленные задания.
Топология
сети WCCS поддерживает пять наиболее распространенных
топологий, применяемых в системах HPC. По крайней мере, все
вычислительные узлы и головной узел должны быть подключены к общей
сети. В топологиях поддерживаются различные виды подключений между
узлами. Они различаются набором преимуществ и объемами затрат.
Выбор топологии сети зависит от требований
кластера к производительности, безопасности и развертыванию. Для
работы ваших приложений, к примеру, может требоваться
высокоскоростное подключение между узлами для обмена сообщениями,
которые лучше не передавать через корпоративную сеть. Или вы можете
предпочесть воспользоваться преимуществами встроенных функций
автоматического развертывания на базе RIS. Или ваше оборудование
допускает установку только одной сетевой платы. Или вы хотите
установить на головном узле службу ICS, обеспечивающую управление
разрешением имен и адресации вычислительных узлов. Мастер настройки
топологии сети кластера, вызываемый из списка задач, предлагает вам
на выбор пять топологий, обычно используемых в реализациях систем
HPC, а также помогает настроить сетевые подключения и брандмауэр
Windows на головном узле и на вычислительных узлах. Рис. 3 иллюстрирует одну из поддерживаемых
топологий сети.
Рис.
3 Одна из топологий сети,
поддерживаемых WCCS
Службы
удаленной установки Как отмечалось выше, служба RIS
обеспечивает автоматическое развертывание узлов кластера.
Управление
узлами Вы можете указать имена тех серверных машин,
которые будут выступать в роли вычислительных узлов кластера. При
запуске CCP на узле указывается головной узел кластера, к которому
нужно присоединить настраиваемый узел.
Управление
пользователями Здесь вы можете указать учетные записи
пользователей или группы в службе каталогов Active Directory,
которые будут выполнять функции системного администратора или
пользователей кластера.
Установка узла
Вычислительные узлы можно развертывать
автоматически при помощи служебной программы RIS или других
поддерживаемых методов. Так же как и на головном узле, на каждом
вычислительном узле необходимо установить CCP. Как видно из рис. 4, параметры настройки CCP для
вычислительного узла гораздо проще. Настройка включает в себя
следующие процессы:
Рис.
4 Установка пакета Compute Cluster
Pack
- Указать, что сервер будет выступать в роли вычислительного (а
не головного) узла.
- Указать имя головного узла, к которому нужно присоединить
настраиваемый сервер.
- Указать, нужно ли устанавливать инструменты пользователя и
средства администрирования на данном вычислительном узле
Консоль
администратора
После подключения всех вычислительных узлов к
головному большинство задач по управлению и администрированию систем
выполняются через консоль администратора — она приведена на
рис. 5. Консоль дает информацию о всем
кластере: предоставляет список связанных узлов, дает доступ к
основным операциям по администрированию и прочим элементам. В самой
левой панели находятся главные элементы, используемые для
перемещения по консоли, в том числе здесь можно получить доступ к
модулю «Администратор кластера», в котором содержится общая
информация о состоянии кластера и статистика по заданиям. Здесь же
можно получить доступ к сеансам удаленного мониторинга компьютеров и
системы в целом. Впрочем, основное время администратор проводит в
модуле «Управление узлами».
Рис.
5 Информация о кластере в консоли
администратора
Консоль администратора вы должны как следует
изучить, поскольку она дает доступ к основным средствам и функциям,
необходимым для централизованного администрирования системы Windows
и вычислительных узлов. Если щелкнуть один раз узел кластера,
указанный в центральной панели, в остальных окнах появится
информация о выбранном узле и вы сможете ознакомиться с его
функциями.
Команды, включенные в контекстные меню, упрощают
централизованное администрирование вычислительных узлов. В модуле
«Управление узлами» вы можете остановить и запустить узел; утвердить
добавление узла и удалить узел из кластера; запустить удаленный
рабочий стол, системный монитор или просмотр событий; извлечь лоток
компакт-диска (так очень удобно находить нужную машину в большом
кластере).
Функция
ClusRun
Самая, пожалуй, удобная функция в этом
списке — команда «Выполнить». Она дает возможность удаленно
запускать любую произвольную команду, как будто вы ее вводите в
командной строке соответствующего компьютера. В WCCS имеется версия
этой функции для командной строки — программа Clusrun.exe.
ClusRun называется и графическая версия, и версия для командной
строки.
Преимущества служебной программы ClusRun сложно
переоценить — особенно если вы имеете дело с большими
кластерами. Она позволяет здорово сэкономить время при выполнении
повторяющихся задач с применением командной строки, а также порой
устраняет необходимость в более сложных сценариях
администрирования.
Чтобы открыть программу, выделите в списке
компьютеры, для которых вы хотите запустить ту или иную команду,
щелкните правой кнопкой мыши и выберите команду «Выполнить».
Появится диалоговое окно, показанное на рис.
6. Теперь вам нужно просто ввести необходимую команду,
запустить ее и дождаться появления выходных данных в окне
результатов. При первом запуске программа ClusRun попросит вас
указать учетные данные, и вы можете их кэшировать для дальнейшего
использования.
Рис.
6 Запуск команды для нескольких
узлов
Для установки исправлений для кластеров или
программ, предусматривающих возможность автоматической установки, из
обычно помещают в общий файловый ресурс, а потом при помощи
программы ClusRun запускается одна команда для всех вычислительных
узлов. Перезагрузить все вычислительные узла кластера можно одной
командой:
CLUSRUN SHUTDOWN –R –F –T 0
Пакет
инструментов
В мае 2007 группа HPC выпустила пакет Compute
Cluster Pack Tool Pack (его можно загрузить по адресу windowshpc.net/resources/Pages/default.aspx).
Этот пакет включает поддержку Windows PowerShellTM, средство MPIPingPong для диагностики
работоспособности подключений и простенький, но очень полезный
графический монитор кластера.
Как видно из рис. 7,
монитор отображает в одном окне все узлы кластера, показывает число
ядер в каждом узле, загрузку каждого ЦП (ярко-зеленый индикатор),
использование памяти (желтый индикатор), процент активности диска
(красный индикатор) и загрузку пропускной полосы сети (оранжевый
индикатор). Это довольно удобное средство, позволяющее
администратору получить общие сведения о работе кластера.
Рис.
7 Контроль нескольких узлов в
мониторе кластера
Монитор кластера обладает свойством
«удаляемости». Первый экземпляр монитора должен быть запущен на
головном узле. После того как вы его запустили, вы можете запустить
другой экземпляр монитора на рабочей станции, привязать его к
головному узлу и получить те же самые данные.
Так и чего вы ждете?
Теперь вы полностью готовы к встрече с HPC и
Windows Server 2003 Compute Cluster Server. Вы знаете, как
установить CCP, вы познакомились с центральной консолью
администратора, вы получили в распоряжение новые команды и
графические средства, способные потрясти не только пользователей, но
и ваших коллег. Дополнительные источники информации по
высокопроизводительным вычислениям вы найдете на врезке «Материалы
по HPC».