Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1,3,4,9,10.docx
Скачиваний:
7
Добавлен:
23.12.2018
Размер:
903.89 Кб
Скачать

9. Кластерная архитектура. Типы кластерных систем (ha, nlb, htc). Проблемы связи узлов в кластерных системах.

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

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

Концепция:

1)Обмен информации между задачами.

2)Удобно реализовать в виде многопроцессорного комплекса общего или разделяемого ОЗУ.

3)Может быть как отдельный ПК, так и вычислительная сеть.

Классификация по степени однородности:

1. Однородные (гемогенные) – содержит однотипные вычислительные ресурсы.

2. Неоднородные (гетерогенные) – узлы не однородные.

Классификация по типу используемых компонентов (классификация Радаевского-Эдлайна):

1. Кластер строиться целиком из стандартных деталей. Т.е. которые легко доступны. (COTS – Common of the Shell)

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

Классификация по назначению:

1. HPC – кластеры предназначенные для высокопроизводительных вычислений  Кластеры используются в вычислительных целях, в частности в научных исследованиях. Существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой (flops) и низкая латентность объединяющей сети, и менее существенными — скорость операций ввода-вывода, которая в большей степени важна для баз данных и web-сервисов.

2. HA – высоконадежные кластеры  Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов.

3. NLB (Network Load Balancing)  обеспечивают масштабируемость и высокую доступность служб и приложений на базе протоколов TCP и UDP, объединяя в один кластер до 32 серверов с одинаковым набором данных, на которых выполняются одни и те же приложения. Каждый запрос выполняется как отдельная транзакция. Применяются для работы с наборами редко изменяющихся данных, вроде WWW, ISA, службами терминалов и другими подобными сервисами.

Достоинства кластерных систем:

1. Высокая производительность

2. Масштабируемость.

3. Наращиваемость.

4. Хорошее соотношение. (Цена/Производительность).

Примером кластерного решения можно назвать системы Compaq AlphaServer на базе своих серверов AlphaServer ES40.

Кластер состоит из:

1-й уровень

Параллельное приложение

2-й уровень

ПО среднего уровня (Специализированное) – Управление узлами, добавления узла, мониторинг кластерной системы в целом. (ПР: OSCAR, SCHD, SCore)

3-й уровень

Операционные системы (ПР: Win, Unix\Linux)

4-й уровень

Сетевые технологии для объединения узлов (ПР: Ethernet, Myrinet, InfiniBand)

5-й уровень

Узлы (Nodes) – вычислительный элемент (в простейшем случае ПК)

6-й уровень

Окружение – место, питание, охлаждение, обслуживающий персонал

Закон Амдала

Любое приложение можно разделить на две части – последовательную и параллельные части.

– какой получим выигрыш (во сколько раз увеличим производительность системы из процессов);

– число процессов;

– доля операций, которые нужно выполнить последовательно;

– доля операций, которые могут выполняться параллельно.

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

Ситуация с масштабируемостью такая же как в SMP , только острее, потому, что объединить тысячи процессоров – это одно, а заставить их эффективно работать – это целая «история», т.о. следует различать просто наращивание числа процессоров и реальное увеличение производительности. Нередко можно видеть такую ситуацию, как на рисунке справа.

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

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

Современные кластерные системы – это сотни, тысячи (до десятков тысяч) процессоров. Иногда объединение просто по сети, иногда – используются специальные топологии. В современных кластерных системах встречается прямое соединение точка-точка каждого узла с каждым узлом, но это очень дорого и сложно, но при этом – это самое быстрое соединение. Существуют и используются специализированные сетевые протоколы для реализации кластерных систем. Это очень важно при построения конкурентно-способного кластера.

Технологии

Задержка (мс)

Пропускная способность

100 Base Fast Ethernet

80

12 Мбайт/Сек

1000 Base Giga Ethernet

50

125 Мбайт/Сек

Myrinet

10

160 Мбайт/Сек

SCI

5

200 Мбайт/Сек

InfiniBand; RDMA (удаленный прямой доступ в память)

1

3 Гбайт/Сек

Сети:

1. Вычислительные – межпроцессное взаимодействие

2. Сервисные – управление и мониторинг

3. Сети хранения данных (SAN)

Проблемы выполнения сети связи процессоров в кластерной системе.

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

Рассмотрим для примера задачу построения симметричной 16-ти процессорной системы, в которой все процессоры были бы равноправны.

Схема соединения процессоров в виде плоской решетки

При таком типе соединения максимальное расстояние между процессорами равно 6 (количество связей между процессорами, отделяющих самый ближний процессор от самого дальнего). Теория же показывает, что если в системе максимальное расстояние между процессорами больше 4, то такая система не может работать эффективно. Поэтому, при соединении 16 процессоров друг с другом плоская схема является не эффективной. Для получения более компактной конфигурации необходимо решить задачу о нахождении фигуры, имеющей максимальный объем при минимальной площади поверхности. В трехмерном пространстве таким свойством обладает шар. Но поскольку нам необходимо построить узловую систему, то вместо шара приходится использовать куб (если число процессоров равно 8) или гиперкуб, если число процессоров больше 8. Размерность гиперкуба будет определяться в зависимости от числа процессоров, которые необходимо соединить. Так, для соединения 16 процессоров потребуется 4-х мерный гиперкуб. Для его построения следует взять обычный 3-х мерный куб, сдвинуть в еще одном направлении и, соединив вершины, получить гиперкуб размером 4.

Примеры гиперкубов

Используются и другие топологии сетей связи: двумерный тор (A), решетка (B), звезда (C), кольцо (D), шина (E), дерево (F), трехмерный тор, плоская бабочка (G) и другие.

Наиболее эффективной является архитектура с топологией "толстого дерева" (fat-tree). Процессоры локализованы в листьях дерева, в то время как внутренние узлы дерева скомпонованы во внутреннюю сеть. Поддеревья могут общаться между собой, не затрагивая более высоких уровней сети.

Кластерная архитектура "Fat-tree"

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]