Опубликован: 28.01.2014 | Доступ: свободный | Студентов: 2074 / 180 | Длительность: 14:33:00
Лекция 12:

HPC в Windows Azure

Инструментарий Windows (Azure) HPC Server

Одной из особенностей высокопроизводительных вычислений является то, что приложение должно быть разбито на несколько частей, после чего эти части должны быть маршрутизированы на обработку на несколько обработчиков согласно какой-то логике, часто задаваемой разработчиком или пользователем. Для того, чтобы упростить этот процесс, в Windows HPC Server существует специальный компонент, называемый HPC Job Scheduler. HPC Job Scheduler работает на головном узле и служит тем инструментом, который осуществляет планирование, управление состоянием, отправку и распределение задач по доступным и/или выделенным вычислительным узлам.

Используя собственную программную инфраструктуру, Windows HPC Server может выполнять несколько типов приложений – приложения, которые запускаются на нескольких узлах кластера и выполняются, общаясь по возможности между собой – так называемые MPI-приложения, Message Passing Interface, сценарии использования которых типичны для науки – например, моделирование физических процессов или ядерных реакций, приложения, которые выполняются в параллели, но не общаются между собой – так называемые embarrassingly parallel applications, типичные сценарии которых включают, например, финансовые расчеты, и Excel-приложения, которые могут служить для задачи выгрузки задачи по расчетам в кластер, таким образом значительно ускоряя вычисления, которые могли бы выполняться гораздо дольше на одном компьютере (подробнее о том, что такое MPI и как разрабатывать параллельные приложения, можно прочитать на сайте Parallel.ru: http://parallel.ru/tech)

Что касается управления приложениями на кластере, то это зачастую непростая задача – например, администратор должен создать кластер, после чего определить множество настроек, например, самой простой из которых является то, какие вычислительные узлы выделены под расчеты, то есть находятся в статусе онлайн. Кроме этого, есть более сложные с позиции планирования настройки – например, управление так называемыми сетами и ассоциированными с ними вычислительными узлами. Для упрощения этих задач в Windows Azure HPC Server внедрен HPC Cluster Manager, который можно использовать для различных задач – управления состоянием узлов кластера, задач, запущенных на кластере, запуском диагностических тестов, созданием графиков и отчетов о кластере, отчетов о загрузке каждого из узлов. При этом, учитывая упомянутую ранее возможность использовать десктопные станции, локальные сервера и узлы в облаке, HPC Cluster Manager предоставляет ко всей развернутой инфраструктуре единый унифицированный интерфейс управления.

Интерфейс HPC Pack 2012 Cluster Manager

увеличить изображение
Рис. 17.5. Интерфейс HPC Pack 2012 Cluster Manager

Перед тем, как начнется процесс развертывания вычислительных узлов в облако Windows Azure, разработчик должен настроить облачный сервис (Cloud Service), в котором будут храниться узлы, путем создания сервисной модели (подробнее сервисная модель описывается в соответствующем модуле). Важным компонентом, используемым в разработке и развертывании суперкомпьютерных кластеров в облаке Windows Azure, является Windows Azure HPC Scheduler SDK, который включает в себя инструменты разработки и набор плагинов, которые могут быть импортированы в конфигурационном файле ServiceDefinition.csdef. На основе этих плагинов строится такая функциональность кластера, как планировка задач, поддержка параллельных задач и т.д. Например, в типичном проекте развертывания могут быть импортированы следующие плагины:

Плагин головного узла (Head Node): этот плагин является отображением Worker-роли облачного сервиса с добавленным плагином HpcHeadNode. Предоставляет планировку и управление состоянием задач.

Плагин вычислительного узла (Compute node): этот плагин является отображением Worker-роли облачного сервиса с добавленным плагином HpcComputeNode. Предоставляет поддержку MPI и SOA, а также связь со средствами управления, предоставляемыми плагином HpcHeadNode.

Плагин веб-интерфейса (Front end): плагин используется как Web-роль облачного сервиса с добавленным плагином HpcWebFrontEnd. Предоставляет веб-портал в качестве веб-сервиса для прямого управления состоянием задач пользователями.

Справочник:

Embarrassingly Parallel Applications – логика подобных приложений выполняется в нескольких экземплярах на нескольких серверах в изолированном режиме – для экземпляров, несмотря на то, что они выполняются параллельно, нет необходимости взаимодействовать после запуска задачи. Типов подобных задач в Windows HPC Server два: приложения, использующие сервисо-ориентированную архитектуру (SOA) и приложения, работающие в режиме Parametric sweep (то есть одно запускаемое много раз приложение с различным набором данных и/или аргументов). Приложения SOA реализуются с помощью Windows Communication Foundation (WCF), что позволяет пользователю взаимодействовать с этими сервисами с помощью SOAP или REST. Разработка приложений SOA часто требует глубоких соответствующих знаний, разработка же приложений parametric sweep может быть более доступна исследователям и разработчикам, не владеющим навыками создания веб-сервисов.

Embarrassingly Parallel Applications - иллюстрация

увеличить изображение
Рис. 17.6. Embarrassingly Parallel Applications - иллюстрация

MPI – если в случае embarrassingly parallel applications каждый выполняющийся экземпляр приложения работает изолированно от других, то написание приложений с использованием парадигмы MPI (Message Passing Interface) подразумевает часто глубокую интеграцию и взаимодействие между выполняющимися экземплярами. MPI-приложения могут использовать в качестве коммуникационной инфраструктуры высокоскоростную сеть Infiniband.

MPI Applications - иллюстрация

увеличить изображение
Рис. 17.7. MPI Applications - иллюстрация

Excel – начиная с 2010 версии, Excel поддерживает запуск workbooks на суперкомпьютерном кластере под управлением Windows HPC Server. Использование Excel может быть в режиме клиента для задачи SOA – с использованием Visual Studio Tools for Office, разработчик может реализовать подобный сценарий; и с использованием Excel UDF, которые позволяют создать собственный код, который может быть вызван из ячеек рабочего листа. Кроме этих двух подходов может быть использован еще один, когда на нескольких вычислительных узлах кластера разворачивается соответствующее количество экземпляров Excel, и все развернутые экземпляры параллельно просчитывают различные данные из одного workbook.

Рейтинг TOP500 – кластер Faenov

увеличить изображение
Рис. 17.8. Рейтинг TOP500 – кластер Faenov

Говоря о развертывании суперкомпьютерных кластеров в облаке Windows Azure, нельзя обойти вниманием важное событие, произошедшее в 2012 году – корпорация Microsoft развернула кластер под названием Faenov полностью в облаке Windows Azure, который затем занял 165 место в ТОР500 мощнейших суперкомпьютеров в мире. Это, а также возможность в любой момент дополнить вычислительную емкость суперкомпьютерного кластера любым количеством вычислительных узлов, делает Windows Azure потенциально важным игроком на рынке суперкомпьютерных вычислений.

Академические ресурсы

увеличить изображение
Рис. 17.9. Академические ресурсы

К ресурсам, доступным для исследователей, преподавателей и учёных, следует отнести бесплатный академический доступ – после заполнения специальной заявки пользователь может получить полугодовой доступ к большому количеству вычислительных ресурсов, которых при правильном планировании может хватить как на тестовые развертывания, так и на некоторые небольшие исследовательские проекты.

Заключение

Как и в случае с Hadoop и Big Data, High Performance Computing получает при переходе в облако большие преимущества практически неограниченных ресурсов, удобной управляемости и оплаты по факту использования и ухода от капитальных затрат. Однако переход в облако может означать также загрузку больших массивов данных в облако или, если речь идет о гибридной инфраструктуре, размещении части данных в облаке, части локально, что может привести к высоким показателям латентности при работе. Поэтому необходимо четко планировать, какая из опций может быть наиболее эффективна в случае с переходом в облако.

Руслан Муравьев
Руслан Муравьев

Сайт dreamspark пишет что код истек :(

Andriy Zymenko
Andriy Zymenko

Этот курс требует оновления https://portal.azure.com/#create/hub здесь нет пункта Web Site в разделе Compute. К тому же для создание трубуется подписка

Евгений Бородин
Евгений Бородин
Украина, Киев