Вычислительные кластеры

С точки зрения вычислений, задачи высокой доступности и быстрого обслуживания пользовательских запросов, как правило, сравнительно просты. Но если возникает необходимость в решении сложной вычислительной проблемы, например, разложения матрицы объемом 300 ГБ (предположительный объем информации в геноме), проведении связанных с ней расчетов, сравнений и сортировок, то ни кластеры балансировки нагрузки, ни кластеры высокой доступности здесь не помогут. Для решения подобных ресурсоемких задач применяется отдельный тип кластеров, который называют вычислительным или академическим. 

Вычислительные кластеры (High Performance Computing Cluster) обес­печивают повышение производительности целевых приложений, если функции этих приложений — ресурсоемкие вычисления. Рост производительности напрямую связан с распределением одного вычислительного процесса по всем доступным узлам кластера. Такое распределение возможно благодаря специально разработанным программам, обеспечивающим поддержку протокола Message Passing Interface (MPI) — одного из стандартов разработки приложений HPC. В задачи MPI входит создание набора процессов и их сессий, обеспечение передачи данных и сигналов между ними для разделения кода приложения на потоки согласно имеющимся вычислительным ресурсам с целью достижения максимальной производительности.

Вычислительные кластеры оставались вне зоны внимания компании Microsoft до 2005 года, когда на рынок был выпущен Microsoft Windows Compute Cluster Server 2003 (WCCS 2003). Новая версия ОС — Microsoft Windows HPC Server 2008 — должна выйти летом текущего года. (На момент подготовки материала она была доступна в бета‑версии. – Прим. ред.) 

Технологически Microsoft Windows Compute Cluster Server 2003 и ее наследница — Windows HPC Server 2008 — базируются на стандартных версиях Microsoft Windows Server 2003/2008. В поставку продукта входит 2 диска, один из которых содержит несколько модифицированную версию Windows Server 2003 x64 Standard Edition, другой — пакет, называемый Compute Cluster Pack. Модифицированная версия позволяет существенно снизить стоимость конечного узла, поскольку ограничивает возможность работы только в одной роли — узла вычислительного кластера. При этом сохраняются возможности стандартной 64‑битной редакции Windows Server 2003: поддержка 64 ГБ оперативной памяти и 4‑х процессоров. В лицензионных соглашениях Microsoft под «процессором» подразумевается физический сокет CPU, а не отдельные ядра, что позволяет строить мощные и сравнительно доступные многоядерные вычислители на базе современных процессоров. Компоненты, входящие в Compute Cluster Pack, — это набор сервисов, утилит и протоколов (например, в пакет входит упомянутый выше MS MPI). Именно этот набор представляет собой роль «вычислительный кластер» для установки на базовую операционную систему. Для специально разработанных вычислительных задач пользователи могут применять стандартную поставку WCCS 2003. Однако с целью ускорения вычислений, для «внешних» серверных продуктов (например, SQL Server, Excel Services и т.п.) потребуется платформа в виде «полной» ОС Windows Server 2003 разных редакций, поскольку WCCS 2003 ограничена возможностью запуска роли вычислителя. В таком случае в кластер могут быть добавлены узлы под управлением других 64‑битных редакций Windows Server 2003, на которых будут развернуты требуемые серверы приложений путем установки на них компонентов Compute Cluster Pack.

Этап планирования включает в себя определение двух ключевых особенностей архитектуры: физического типа вычислительной сети и назначения узлам ролей внутри вычислительного кластера. Сетевая инфраструктура является одним из ключевых аспектов в управлении производительностью будущего кластера. Хотя строгих ограничений нет (все узлы могут работать в общей, публичной сети организации), рекомендуется разделять сеть на публичную и частную подсети, а также MPI‑соединения. Публичная сеть обеспечивает связь головного узла кластера с общекорпоративной сетью, через которую осуществляется взаимодействие внешних приложений, использующих ресурсы кластера, а также администрирование кластера и запросы отдельных узлов. Внутренняя сеть обеспечивает взаимодействие головного узла кластера с остальными серверами для провижининга, развертывания, администрирования и мониторинга, доступа узлов во внешнюю сеть и т.п. Сеть MS MPI может быть совмещена с внутренней сетью кластера, однако на производительность кластера сильнее всего влияет скорость взаимодействия MPI, а по внутренней сети в определенные моменты времени могут выполняться процедуры развертывания или обслуживания. Поэтому рекомендуется создавать отдельную сеть MS MPI на высокоскоростных сетевых технологиях. Таким образом, идеальной моделью построения сети можно назвать набор аппаратного обеспечения, в котором головной узел кластера будет иметь три сетевых интерфейса, подключенных к публичной, внутренней и MS MPI-сетям, а остальные узлы — по два, для внутренней и MS MPI‑сетей (см. схему).

Поскольку установка вычислительного кластера требует специального программного пакета, возможность запуска внутри вычислительного кластера штатных редакций Windows Server без приобретения пакета Windows HPC Server 2008 невозможна. В отличие от других типов кластеризации, где все зависит прежде всего от понимания и умения администратора пользоваться штатными средствами Windows Server 2008, процесс установки и развертывания Windows HPC Server 2008 крайне прост — необходимо следовать указаниям Мастера. 

Назначение роли головного узла и выбор сетевой топологии будущего кластера выполняется в процессе установки пакета Compute Cluster Pack — обычно это делается на первом устанавливаемом узле, который, собственно, и будет в дальнейшем представлять кластер для подключаемых новых узлов. Мастер позволяет администратору определить роль, топологию и, исходя из выбранных параметров, предлагает список дополнительных операций, например, настройку сетевых служб (WDS, NAT, DHCP, DNS). 

Роль вычислительного узла назначается при установке Compute Cluster Pack для всех остальных узлов кластера, но обычно используются средства провижининга — создается образ WIM‑системы уже установленного эталонного вычислительного узла, после чего все новые добавляемые узлы инсталлируются по внутренней сети в автоматическом режиме средствами RIS или WDS (в зависимости от версии головного узла — 2003 или 2008, соответственно). Обычно вычислительные узлы представляют собой штатные серверы или рабочие станции с достаточно мощными процессорами.