ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.12.2021
Просмотров: 2465
Скачиваний: 7
5 9 6 Глава 14. Вычислительные системы класса MIMD
Кластеризация с резервированием — наиболее старый и универсальный метод.
Один из серверов берет на себя всю вычислительную нагрузку, в то время как вто-
рой остается неактивным, но готовым перенять вычисления при отказе основного
сервера. Активный или первичный сервер периодически посылает резервному так-
тирующее сообщение. При отсутствии тактирующих сообщений (это рассматри-
вается как отказ первичного сервера) вторичный сервер берет управление на себя.
Такой подход повышает коэффициент готовности, но не улучшает производитель-
ности. Более того, если единственный вид взаимодействия между узлами — обмен
сообщениями, и если оба сервера кластера не используют диски коллективно, то
резервный сервер не имеет доступа к базам данных, управляемым первичным сер-
вером.
Пассивное резервирование для кластеров не характерно. Термин «кластер» от-
носят к множеству взаимосвязанных узлов, активно участвующих в вычислитель-
ном процессе и совместно создающих иллюзию одной мощной вычислительной
машины. К такой конфигурации обычно применяют понятие системы
с активным
вторичным сервером,
и здесь выделяют три метода кластеризации: самостоятель-
ные серверы, серверы без совместного использования дисков и серверы с совмест-
ным использованием дисков.
При первом подходе каждый узел кластера рассматривается как самостоятель-
ный сервер с собственными дисками, причем ни один из дисков в системе не
является общим (см. рис. 14.8, я). Схема обеспечивает высокую производитель-
ность и высокий коэффициент готовности, однако требует специального программ-
ного обеспечения для планирования распределения клиентских запросов по сер-
верам так, чтобы добиться сбалансированной и эффективной нагрузки на каждый
из них. Необходимо также создать условия, чтобы при отказе одного из узлов в
процессе выполнения какого-либо приложения другой узел мог перехватить и за-
вершить оставшееся без управления приложение. Для этого данные в кластере
должны постоянно копироваться, чтобы каждый сервер имел доступ ко всем наи-
более свежим данным в системе. Из-за этих издержек высокий коэффициент го-
товности достигается лишь за счет потери производительности.
Для сокращения коммуникационных издержек большинство кластеров в на-
стоящее время формируют из серверов, подключенных к общим дискам, обычно
представленных дисковым массивом RAID ('рис. 14.8,
6).
Один из вариантов такого подхода предполагает, что совместный доступ к дис-
кам не применяется. Общие диски разбиваются на разделы, и каждому узлу клас-
тера выделяется свой раздел. Если один из узлов отказывает, кластер может быть
реконфигурирован так, что права доступа к его части общего диска передаются
другому узлу.
Во втором варианте множество серверов разделяют во времени доступ к общим
дискам, так что любой узел имеет возможность обратиться к любому разделу каж-
дого общего диска. Эта организация требует наличия каких-либо средств блоки-
ровки, гарантирующих, что в любой момент времени доступ к данным будет иметь
только один из серверов.
Вычислительные машины (системы) в кластере взаимодействуют в соответ-
ствии с одним их двух транспортных протоколов. Первый из них, протокол TCP
(Transmission Control Protocol), оперирует потоками байтов, гарантируя надеж-
Кластерные вычислительные системы 5 9 7
ность доставки сообщения. Второй — UDP (User Datagram Protocol) пытается по-
сылать пакеты данных без гарантии их доставки, В последнее время применяют
специальные протоколы, которые работают намного лучше. Так, возглавляемый
компанией Intel консорциум (Microsoft, Compaq и др.) предложил новый прото-
кол для внутрикластерных коммуникаций, который называется Virtual Interface
Architecture (VIA) и претендует на роль стандарта.
При обмене информацией используются два программных метода:
передачи
сообщений
и
распределенной совместно используемой памяти.
Первый опирается
на явную передачу информационных сообщений между узлами кластера. В аль-
тернативном варианте также происходит пересылка сообщений, но движение дан-
ных между узлами кластера скрыто от программиста.
Кластеры обеспечивают высокий уровень доступности — в них отсутствуют
единая операционная система и совместно используемая память, то есть нет про-
блемы когерентности кэшей. Кроме того, специальное программное обеспечение
в каждом узле постоянно контролирует работоспособность всех остальных узлов.
Этот контроль основан на периодической рассылке каждым узлом сигнала «Пока
жив» (keepalive). Если сигнал от некоторого узла не поступает, то такой узел счи-
тается вышедшим из строя; ему не дается возможность выполнять ввод/вывод, его
диски и другие ресурсы (включая сетевые адреса) переназначаются другим узлам,
а выполнявшиеся им программы перезапускаются в других узлах.
Кластеры хорошо масштабируются в плане производительности при добавле-
нии узлов. В кластере может выполняться несколько отдельных приложений, но
для масштабирования отдельного приложения требуется, чтобы его части согла-
совывали свою работу путем обмена сообщениями. Нельзя, однако, не учитывать,
что взаимодействия между узлами кластера занимают гораздо больше времени,
чем в традиционных ВС.
Возможность практически неограниченного наращивания числа узлов и отсут-
ствие единой операционной системы делают кластерные архитектуры исключи-
тельно успешно масштабируемыми, и даже системы с сотнями и тысячами узлов
показывают себя на практике с положительной стороны.
Топологии кластеров
При создании кластеров с большим количеством узлов могут применяться самые
разнообразные топологии (см. главу 12). В данном разделе остановимся на тех,
которые характерны для наиболее распространенных «малых»- кластеров, состоя-
щих из 2-4 узлов.
Топология кластерных пар
Топология кластерных пар находит применение при организации двух- или четы-
рехузловых кластеров (рис. 14.9).
Узлы группируются попарно. Дисковые массивы присоединяются к обоим уз-
лам пары, причем каждый узел имеет доступ ко всем дисковым массивам своей
пары. Один из узлов является резервным для другого.
Четырехузловая кластерная «пара»- представляет собой простое расширение
двухузловой топологии. Обе кластерные пары с точки зрения администрирования
и настройки рассматриваются как единое целое.
5 9 8 Глава 14. Вычислительные системы класса MIMD
Рис. 14.9. Топология кластерных пар
Эта топология подходит для организации кластеров с высокой готовностью
данных, но отказоустойчивость реализуется только в пределах пары, так как при-
надлежащие ей устройства хранения информации не имеют физического соедине-
ния с другой парой.
Пример: организация параллельной работы СУБД Informix XPS.
Топология N +1
Топология
N+
1 позволяет создавать кластеры из2,3и4 узлов (рис. 14.10).
Рис. 14.10. Топология N +1
Каждый дисковый массив подключаются только к двум узлам кластера. Дис-
ковые массивы организованы по схеме RAID 1. Один сервер имеет соединение со
всеми дисковыми массивами и служит в качестве резервного для всех остальных
(основных или активных) узлов. Резервный сервер может использоваться для под-
держания высокой степени готовности в паре с любым из активных узлов.
Топология рекомендуется для организации кластеров высокой готовности. В тех
конфигурациях, где имеется возможность выделить один узел для резервирова-
ния, эта топология способствует уменьшению нагрузки на активные узлы и гаран-
тирует, что нагрузка вышедшего из строя узла будет воспроизведена на резервном
узле без потери производительности. Отказоустойчивость обеспечивается между
Кластерные вычислительные системы 5 9 9
любым из основных узлов и резервным узлом. В то же время топология не позво-
ляет реализовать глобальную отказоустойчивость, поскольку основные узлы кла-
стера и их системы хранения информации не связаны друг с другом.
Топология N
x
N
Аналогично топологии
N+
1, топология
N
х N(рис. 14,11) рассчитана на создание
кластеров из 2, 3 и 4 узлов, но в отличие от первой обладает большей гибкостью
и масштабируемостью.
Рис. 1 4 . 1 1 . Топология N x N
Только в этой топологии все узлы кластера имеют доступ ко всем дисковым
массивам, которые, в свою очередь, строятся по схеме RAID 1 (с дублированием).
Масштабируемость проявляется в простоте добавления к кластеру дополнитель-
ных узлов и дисковых массивов без изменения соединений в существующей сис-
теме.
Топология позволяет организовать каскадную систему отказоустойчивости, при
которой обработка переносится с неисправного узла на резервный, а в случае его
выхода из строя — на следующий резервный узел и т. д. Кластеры с топологией
Рис. 14.12. Топология с полностью раздельным доступом
6 0 0 Глава 14. Вычислительные системы класса MlМD
N
x
N
обеспечивают поддержку приложения Oracle Parallel Server, требующего
соединения всех узлов со всеми системами хранения информации. В целом топо-
логия характеризуется лучшей отказоустойчивостью и гибкостью по сравнению
с другими решениями.
Топология с полностью раздельным доступом
В топологии с полностью раздельным доступом (рис. 14.12) каждый дисковый
массив соединяется только с одним узлом кластера.
Топология рекомендуется только для тех приложений, для которых характер-
на архитектура полностью раздельного доступа, например для уже упоминавшей-
ся СУБД Informix XPS.
Системы с массовой параллельной
обработкой (МРР)
Основным признаком, по которому вычислительную систему относят к
архитек-
туре с массовой параллельной обработкой
(МРР, Massively Parallel Processing),
служит количество процессоров
п.
Строгой границы не существует, но обычно при
п >=
128 считается, что это уже МРР, а при
п <=
32 — еще нет. Обобщенная структура
МРР-системы показана на рис. 14.13.
Рис. 14.13. Структура вычислительной системы с массовой параллельной обработкой
Главные особенности, по которым вычислительную систему причисляют к клас-
су МРР, можно сформулировать следующим образом:
-
стандартные микропроцессоры;
-
физически распределенная память;
-
сеть соединений с высокой пропускной способностью и малыми задержками;
-
хорошая масштабируемость (до тысяч процессоров);
-
асинхронная MIMD-система с пересылкой сообщений;
-
программа представляет собой множество процессов, имеющих отдельные
адресные пространства.