Информационно-аналитический портал
Высокопроизводительные
вычисления на WINDOWS-кластерах
   

 
 
  Главная
  Новости
  Как создать Windows-кластер
  Компьютеры
  Технологии
  Параллельное программирование
  Библиотеки, пакеты, приложения
  Метакомпьютинг, GRID
  Alchemi .NET Framework  
  GPE  
  MC# Grid System  
  Обучение
  Исследования
 
  
Логин:    
Пароль:    
Запомнить:
 Забыли пароль? Регистрация 
  
 
Microsoft HPC RussiaМетакомпьютинг, GRIDAlchemi .NET Framework
 

Alchemi .NET Framework

Основные концепции

Сеть как один компьютер

Основная идея метакомпьютинга состоит в использовании независимых компьютеров, объединенных в сеть, как будто они являются одной большой параллельной машиной или виртуальным суперкомпьютером. Эта идея имеет ряд преимуществ, к которым относится, например, низкая стоимость суммарных вычислительных ресурсов.

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

Сегодня наблюдается быстро растущий интерес к технологиям грид со стороны коммерческих предприятий. Операционная система Microsoft Windows широко используется большинством организаций. Для более широкого распространения грид не хватает развития грид-платформ, поддерживающих операционную систему Microsoft Windows. Эта поддержка позволила бы эффективно использовать свободную вычислительную мощность настольных компьютеров и рабочих станций посредством создания виртуального вычислительного ресурса, стоимость которого значительно ниже стоимости традиционных суперкомпьютеров.  В настоящее время практически отсутствует сервисно-ориентированное промежуточное программное обеспечение, поддерживающее Microsoft Windows. Инструментарий Alchemi, основанный на технологии Microsoft.NET, принадлежит к числу таких проектов.

Несмотря на то, что понятие грид может быть дано на интуитивно простом уровне, практическая реализация такой инфраструктуры сталкивается с множеством трудностей. Основные проблемы связаны с разнородностью, надежностью, разработкой приложений, планированием, управлением ресурсами и безопасностью. Технология Microsoft.NET может быть использована для решения всех перечисленных проблем. Отметим, в частности, поддержку удаленного исполнения (.NET Remoting и веб-сервисы), многопоточности, безопасности, асинхронного программирования, удаленного доступа к данным, управления исполнением и поддержку нескольких языков программирования. Все это делает инструментарий Microsoft.NET удобной платформой для разработки промежуточного программного обеспечения грид.

Принцип работы Alchemi

В вычислительной грид-сети, построенной на базе инструментария Alchemi,  участвуют следующие четыре компоненты: Менеджер (Manager), Исполнитель (Executor), Пользователь (User) и Межплатформенный менеджер (Cross-Platform Manager). Взаимосвязи этих сущностей показаны на рисунке.

Схема работы инструментария Alchemi

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

Исполнитель поддерживает два режима работы с Менеджером: выделенный (dedicated) и невыделенный (non-dedicated). Первый режим означает, что Менеджер отдает поток на выполнение незамедлительно, тогда как во втором случае выполнение потока инициируется самим Исполнителем.  В невыделенном режиме Исполнители могут работать через брандмауэры и NAT серверы, так как в этом случае создается лишь односторонняя связь с Менеджером. Выделенный режим лучше подходит для работы в локальной сети, в то время как невыделенный режим предпочтителен для работы в Интернет.

Пользователи могут разрабатывать, выполнять и осуществлять мониторинг грид-приложений, используя специальный .NET API и инструментальные средства, включенные в Alchemi SDK.

Инструментарий предлагает две модели программирования: модель грид-потоков, которая позволяет очень просто разработать новое приложение, а также модель грид-заданий для поддержки уже созданных программ.

Дополнительная компонента (не показана на рисунке) – Межплатформенный менеджер (Cross-Platform Manager) в виде веб-сервиса – предоставляет функциональную совместимость с другим промежуточным программным обеспечением (middleware) грид. Это означает, что грид-сеть, построенная на базе Alchemi, может входить в состав другой, более крупной грид-сети.

Возможные применения инструментария

Компоненты, входящие в состав инструментария Alchemi, могут использоваться для построения различных конфигураций вычислительной сети: кластер (desktop grid), мультикластер (multi-cluster grid), глобальная грид-сеть (global grid).

Кластер

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

Развертывание кластера

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

Мультикластер

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

Развертывание мультикластера и интеграция в глобальную грид

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

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

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

Глобальная грид

Межплатформенный Менеджер может быть использован для конструирования сегмента грид, отвечающего классической схеме. Компонента промежуточного программного обеспечения, такая как брокер ресурсов, может использовать Межплатформенный Менеджер в виде веб-сервиса для исполнения межплатформенных приложений (описываемые файлами задания) на сегменте Alchemi (кластер или мультикластер). Например, Alchemi-грид может входить в состав более крупной грид-сети, построенной на базе Globus Toolkit.


<< вернуться  |   Документ от: 17.09.2007 16:38
 

Новости

26.12.2007
25.12.2007
24.12.2007
17.12.2007
17.12.2007
 

   

© ННГУ, Центр компетенции в области высокопроизводительных вычислений на основе технологий Майкрософт, 2007