Занятие 16. Современная архитектура распределенных систем



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Занятие 16. Современная архитектура распределенных систем



План занятия:

· Кластерные системы

· Классификация кластерных систем

· Кластерная архитектура Beowulf

· GRID-системы

Кластерные системы

Кластером (cluster) называют распределенную систему, состоящую из набора взаимосвязанных компьютеров, работающих вместе как единый, интегрированный вычислительный ресурс.

Отдельные компьютеры в рамках кластера называют узлами (nodes). Узлы оснащены таким же аппаратным обеспечением, и являются автономным компьютером (памятью, средствами ввода-вывода, в большинстве случаев - жестким диском) который может быть использован отдельно вне кластера. Узлы бывают однопроцессорными и многопроцессорными, на каждом из них выполняется отдельная копия операционной системы. Все узлы кластера в целом должны быть связаны высокопроизводительной сетью (для этого можно воспользоваться такими технологиями, как Fast Ethernet, Gigabit Ethernet и т.д.).

Кластер должен отображаться пользователям как единая система, обладающая большей производительностью, чем отдельные его узлы. Это свойство называют свойством единого образа системы (single system image).

Классификация кластерных систем

Есть разные подходы к классификации кластерных систем. Прежде всего можно выделить категории таких систем, в зависимости от их назначения.

1) Вычислительные кластеры (High-Performance, HP) предназначены для выполнения параллельных программ, описывающих решения сложных научных проблем (расшифровка генома, синтеза молекул и т.д.). Научные задачи сегодня нуждаются в вычислительных мощностях, которых невозможно достичь при использовании отдельных компьютеров. Фактически, такой кластер - это аналог многопроцессорного суперкомпьютера, но при этом стоит значительно дешевле. Большую часть научных вычислительных задач в наше время решают на таких кластерах.

2) Кластеры с выравниванием нагрузки (load balancing) дают возможность распределять процессорную или сетевую нагрузки поровну между узлами кластера. Выравнивание нагрузки требуется, если большое количество пользователей использует один и тот же набор приложений или создает много сетевых соединений одного типа (например, в веб-серверах с высоким входным нагрузкой). Обычно за распределение нагрузки отвечает отдельный сервер, создаваемый на одном из узлов.

3) Кластеры с резервированием (High Availability, НА) необходимы для обеспечения повышенной надежности программного и аппаратного обеспечения компьютерных систем. Такие кластеры предоставляют возможность организовывать горячее резервирование отдельных компонентов или узлов системы. В случае выхода из строя одного из узлов обслуживания сразу продолжает другой узел, при этом для пользователя работа системы не нарушена.

4) Выделенный кластер (dedicated) предусматривает, что все его узлы находятся под единым контролем и могут быть использованы только в рамках кластера.

5) Не выделенный кластер (non-dedicated) состоит из узлов, принадлежащих разным владельцам и преимущественно работающих независимо. В этом случае в рамках кластера используют некоторую часть вычислительных ресурсов узла (например, процессорное время, не занятое выполнением собственных приложений).

На практике часто можно встретить кластеры, которые сочетают свойства различных категорий. Так, вычислительные кластеры могут реализовывать базовые функции резервирования и выравнивания нагрузки.

Кластерная архитектура Beowulf

Архитектура Beowulf была разработана в 1994 году как результат исследований в Агентстве космических исследований NASA. Главной ее особенностью является отказ от использования дорогого аппаратного обеспечения, чтобы достичь оптимального соотношения цены и производительности. Сегодня она является самой распространенной кластерной архитектурой.

Рассмотрим характеристики Beowulf-кластера.

· Основной целью его использования является выполнение параллельных вычислений (Beowulf-кластер всегда вычислительным кластером).

· Узлами такого кластера есть стандартные персональные компьютеры с архитектурой IА-32.

· Все узлы являются выделенными и не могут быть использованы для других целей.

· Все программное обеспечение должно быть доступно в исходных кодах. Большинство Beowulf-кластеров под управлением Linux.

· Связь между узлами осуществляется через выделенную внутреннюю сеть, которая использует Ethernet, Fast Ethernet или другие сетевые технологии, поддерживаемые Linux. Заметим, что, как и для узлов, основным требованием к сети является стандартность и низкая стоимость компонентов.

Обычно один из узлов является главным (head node). Его преимущественно оснащают монитором и клавиатурой, связывают с внешней сетью, и он играет роль управляющего узла для различных функций системы. Рекомендуется, чтобы другие вычислительные узлы (computing nodes) имели одинаковую аппаратную конфигурацию (так легче поддерживать выполнение параллельных приложений).

Для повышения производительности сетевого обмена есть возможность установить набор модификаций ядра Linux, при помощи которого реализуют поддержку параллельного использования нескольких сетевых интерфейсов (в этом случае все интерфейсы рассматривают как один виртуальный канал с большей пропускной способностью).

Общий образ системы может быть реализован с использованием пакета распределенного пространства процессов Beowulf (Beowulf distributed Process space, BPROC). Он состоит из модификаций ядра и утилит режима пользователя, которые поддерживают единое пространство процессов.

При разработке параллельного программного обеспечения для Beowulf-систем можно использовать любые средства, доступные в Linux (например, PVM или реализации стандарта MPI).

GRID-системы

В последнее время развитие технологий распределенных систем привело к ситуации, когда стало возможным организовывать системы, позволяющие использовать свободные вычислительные ресурсы, распределенные по всему миру. Рассмотрим особенности таких grid-систем.

Вычислительные grid-системы дают возможность совместно использовать географически и организационно распределенные, неоднородные вычислительные ресурсы, отражая их как единый, унифицированный вычислительный ресурс. К ресурсам, которые можно таким образом использовать, относятся отдельные компьютеры, кластеры, средства хранения данных, сетевые ресурсы и т.д..

Название «grid» отражает аналогию между использованием такого унифицированного ресурса и доступом к электрической сети (power grid). Пользователи электросети получают доступ к ресурсу (электроэнергии) независимо от конфигурации источников энергии и линий электропередачи. Аналогично для пользователей grid-системы не имеет значения, какой из компонентов предоставил им вычислительный ресурс.

Grid-системы содержат следующие компоненты:

  • средства, которые транслируют запросы пользователей в запросы к ресурсам grid-системы (компьютеры, сети, дисковые пространства, базы данных и т.д.);
  • средства, которые выполняют поиск ресурсов, их подбор и размещение, планирование и координацию вычислительных задач, а также сбор результатов;
  • средства безопасности, позволяющие управлять аутентификацией и авторизацией пользователей. Они должны поддерживать единый вход в систему, отображение на механизмы защиты локальных систем, возможность запуска приложений с правами пользователя;
  • средства разработки приложений, использующие особенности grid-архитектуры.

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

Grid-системы является географично распределенными (связанными глобальными сетями) и неоднородными (в них входят компоненты с различной аппаратной и программной архитектурой). Кроме того, их компоненты могут находиться в разном административном подчинении. Узлы кластеров обычно связаны локальной сетью, находятся в централизованном подчинении и имеют одинаковую архитектуру.

Кластерная архитектура обычно включает в себя централизованный менеджер ресурсов. Для grid-архитектур вследствие большего масштаба системы каждый узел имеет свой менеджер ресурсов.

Узлы grid-систем всегда невыделенные. Любой вычислительный ресурс, входящий в такую ​​систему, может одновременно использоваться для других целей. Для использования в пределах grid-системы выделяются только ресурсы, свободные в конкретный момент.

Конфигурация grid-систем постоянно меняется. Хотя кластеры рассчитаны на то, что их конфигурация может измениться, такие изменения для них являются необычной ситуацией.

Grid-системы могут самостоятельно распределять свои ресурсы. Кроме этого вычисляются производственные мощности, к ним относятся сетевые ресурсы, ресурсы хранения данных, информационные ресурсы (доступ к распределенным базам данных), программное обеспечение и аппаратные устройства.

Поскольку grid-системы являются неоднородными, большое значение в их разработке играет стандартизация. Организован специальный комитет по стандартизации grid- разработок - Grid Forum, результатом работы которого является общепринятый стандарт Open Grid Service Architecture (OGSA). Существует программная реализация этого стандарта - Globus Toolkit, которую можно использовать для практической разработки grid-систем.



Последнее изменение этой страницы: 2016-04-08; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.186.43 (0.006 с.)