Типичная архитектура HPC кластера
Основными компонентами любого высокопроизводительного кластера являются его вычислительные узлы или ноды, именно от их количества и конфигурации зависит производительность всего кластера, т.к. непосредственно на них и выполняются расчетные задачи. Обычно считается, что кластер состоит из одинаковых с точки зрения аппаратных компонентов серверов, но, тем не менее, часто бывают ситуации, когда в кластере встречаются и разные серверы. В этом случае узлы разной конфигурации в рамках одного кластера объединяют в группы из однотипных серверов.
Важное значение в вычислительном кластере имеет применяемый интерконнект, т.е. применяемые межузловые связи. Интерконнект должен обеспечивать взаимодействие между процессами, выполняемыми на вычислительных узлах, с целью синхронизации и обмена данными. Обычно для решения этой задачи применяется высокоскоростная шина Infiniband (40 или 56 Гб/с). Кроме этого, для управления вычислительными узлами применяется традиционный Ethernet.
Работа вычислительных узлов контролируется управляющими узлами. Как минимум один такой узел должен присуствовать даже в небольшом по размеру кластере, в крупных же кластерах их обычно бывает несколько с целью обеспечения отказоустойчивости. Управляющие узлы формируют очередь задач, распределяют их между вычислительным узлами и их группами, при этом сами задачи запускаются пользователями непосредственно со своего рабочего места.
Так как вычислительные узлы работают с данными, важным вопросом может быть их размещение в структуре кластера. Так, может использоваться отдельная сетевая система хранения данных, к которой могут подключаться все узлы, либо, особенно в случае крупных кластеров, может использоваться так называемая параллельная файловая система. Параллельная файловая система обеспечивает распределенное хранение данных, когда их части хранятся на разных узлах, но при этом доступны каждому из них. Она обеспечивает распределение между узлами не только задач, но и соответствующих данных.
Что же касается среды HPC, то она ориентирована в первую очередь на неинтерактивные задачи, выполняемые на наборе вычислительных узлов. При этом на одном кластере одновременно может выполняться несколько задач.
Особенности программного стека HPC и сфера применения HPC Cluster Suite
Главной особенностью программного стека HPC является необходимость его установки на десятки и тысячи однотипных серверов (вычислительных узлов), при этом все системы должны иметь соответствующие базовые наборы различных настроек. Например, идентификаторы пользователей и групп, а также соответствующие пароли должны быть одинаковыми на всех вычислительных узлах, которые также должны иметь одинаковый доступ к файловой системе. Кроме этого необходимо иметь инструменты, позволяющие быстро вводить в эксплуатацию новые или заменять вышедшие из строя вычислительные узлы.
Очевидно, что в таких условиях изменение, например, только одного пароля на тысяче узлов может привести к значительным затратам времени, если при этом не применять специальное программное обеспечение, которое позволит либо централизованно управлять паролями, либо автоматизирует их замену на всех серверах кластера.
Следующая проблема, с которой сталкиваются администраторы кластеров, — это подбор программного обеспечения и драйверов. В настоящий момент можно найти огромное количество различных версий ПО, использующегося в кластерных решениях, например, различных компиляторов, менеджеров ресурсов или MPI. Соответственно, подбор этих компонентов, их тестирование на взаимную совместимость и совместимость с железом, их настройка и синхронизация оказывается весьма трудоемким процессом и может отнимать значительное время.
Именно здесь и может помочь предлагаемое Fujitsu комплексное решение HPC Cluster Suite, так как оно представляет собой набор заранее протестированного и проверенного программного обеспечения, созданного в альянсе с ведущими разработчиками, которое гарантированно будет работать на оборудовании Fujitsu.
Для лучшего понимания назначения и функциональности данного продукта рассмотрим типичный программный стек HPC, он представлен на диаграмме ниже. На этой диаграмме пунктиром обведены те компоненты стека, которые реализованы в HPC Cluster Suite. Как можно видеть, фактически HCS позволяет заполнить все необходимое пространство между непосредственно приложением и вычислительными узлами, являясь полнофункциональным пакетом для управления кластерами, построенными на основе серверов Fujitsu PRIMERGY.
Компоненты HPC Cluster Suite
Теперь на основе представленной выше диаграммы кратко разберем основные компоненты HPC Cluster Suite:
Программная поддержка ускорителей nVidia Tesla K20/K20X и сопроцессоров Intel® Xeon Phi™. Что говорит о том, что выполняемые на кластере задачи могут ориентироваться не только на вычислительную мощь центральных процессоров, но и на возможности гетерогенных и параллельных вычислений доступных на названных ускорителях вычислений.
Важную роль в представленном продукте играет Cluster Deployment Manager (CDM) – пакет, разработанный непосредственно компанией Fujitsu, обеспечивающий автоматизированную установку и конфигурирование вычислительных узлов, а также их ввод в эксплуатацию; содержит интерфейс администратора для выполнения вышеназванных задач и мониторинга состояния узлов кластера, управления пользовательскими средами и проверки работоспособности кластера.
В качестве Workload manager предлагается на выбор три программных средства с открытым исходным кодом (TORQUE, SGE, SLURM – последние 2 будут доступны начиная с третьего квартала 2013) или коммерческий продукт (PBS Professional – только в HCS Advanced edition), которые уже зарекомендовали себя на рынке.
Параллельное middleware (связующее ПО) включает стороннее программное обеспечение, в частности, варианты с открытым исходным кодом: OpenMPI, MPICH, MVAPICH. Кроме этого HPC Cluster Suite полностью совместим с Intel MPI (приобретается отдельно).
Библиотеки (Scientific Libraries) включают Lapack, ScalaPack, BLAS, netcdf, netcdf-devel, hdf5, fftw, fftw-devel, atlas, atlas-devel, GMP, Global Arrays, MKL. Также предлагается поддержка следующих компилляторов, средств оптимизации и профайлинга: GNU c, c++, gfort, Open64 (PathScale compiler), Intel Cluster studio, Allinea DDT, Intel vtune, PAPI, TAU. При этом все коммерческие продукты приобретаются отдельно, фактически гарантируется их совместимость и возможность интеграции.
Важным компонентом является разработанная Fujitsu параллельная файловая система Fujitsu Exabyte File System (FEFS) основанная на Lustre. В ее названии неслучайно присутствует слово Exabyte, ведь максимальный размер ее файловой системы и одного файла составляет 8 ЭБ, а параллельная реализация ввода/вывода позволяет достигать скоростей порядка ТБ/с.
Графический интерфейс пользователя в HCS называется HPC Gateway, он представляет собой портал, созданный на основе Liferay, и позволяет организовать совместную работу пользователей и их групп благодаря интеграции в него блогов, форума, Wiki, базы знаний и других компонентов.
Редакции HPC Cluster Suite
HPC Cluster Suite представлен тремя редакциями – Open, Basic и Advanced, отличающимися комплектом входящих в пакет поставки программных средства, подпиской на обновления и техническую поддержку и ограничением на количество используемых вычислительных узлов в кластере. Что касается комплектов поставки различных ревизий, они наглядно представлены в таблице ниже.
Что касается остальных особенностей редакций, то для каждой из редакций исключая Open edition, которая лишена опций подписки на техническую поддержку и имеет ограниченный доступ к обновлениям, существуют одно, трех и пятилетние опции подписки. Также Open edition поддерживает до 128 узлов в кластере, в то время как остальные редакции не имеют такого ограничения и фактически позволяют использовать неограниченное количество узлов. Конечная цена пакета HCS зависит от редакции пакета, сегмента использования (академическая или коммерческая лицензии) и количества узлов в кластере.
ссылка на оригинал статьи http://habrahabr.ru/company/fujitsu/blog/183320/
Добавить комментарий