Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Кластерные структуры




Кластер - группа взаимно соединенных вычислительных систем (узлов), работающих совместно и составляющих единый вычислительный ресурс, создавая иллюзию наличия единственной ВМ. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. Примеры кластерных вычислительных систем: NT-кластер в NCSA, Beowulf-кластеры.

 

Одно из самых современных направлений в области создания вычислительных систем - кластеризация. Помимо термина «кластерные вычисления», достаточно часто применяют такие названия: кластер рабочих станций (workstation cluster), гипервычисления (hypercomputing), параллельные вычисления на базе сети (network-based concurrent computing), ультравычисления (ultracomputing).

 

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

 

Архитектура кластерных систем во многом похожа на архитектуру МРР-систем.

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

 

В качестве узла кластера может выступать как однопроцессорная ВМ, так и ВС типа SMP (логически SMP-система представляется как единственная ВМ). Как правило, это не специализированные устройства, приспособленные под использование в вычислительной системе, как в МРР, а серийно выпускаемые вычислительные машины и системы. Еще одна особенность кластерной архитектуры состоит в том, что в единую систему объединяются узлы разного типа, от персональных компьютеров до мощных ВС. Кластерные системы с одинаковыми узлами называют гомогенными кластерами, а с разнотипными узлами - гетерогенными кластерами.

 

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

 

Узлы в кластерной системе объединены высокоскоростной сетью. Решения могут быть простыми, основанными на аппаратуре Ethernet, или сложными с высокоскоростными сетями пропускной способности в сотни мегабайтов в секунду (Мбит/с). К последней категории относятся сети SCI компании Scali Computer (≈100 Мбит/с) и Mirynet (≈120 Мбит/с). В принципе, за основу кластерной системы может быть взята стандартная локальная сеть (или сеть большего масштаба), с сохранением принятых в ней протоколов (правил взаимодействия). Аппаратурные изменения могут не потребоваться или, в худшем случае, сводятся к замене коммуникационного оборудования на более производительное. При соединении машин в кластер почти всегда поддерживаются прямые межмашинные связи.

 

Вычислительные машины (системы) в кластере взаимодействуют в соответствии с одним из двух транспортных протоколов. Первый из них, протокол TCP (Transmission Control Protocol), оперирует потоками байтов, гарантируя надежность доставки сообщения. Второй - UDP (User Datagram Protocol) пытается посылать пакеты данных без гарантии их доставки. В последнее время применяют специальные протоколы, которые работают намного лучше, например Virtual Interface Architecture (VIA).

 

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

 

Подключение узлов к сети осуществляется посредством сетевых адаптеров. Учитывая роль коммуникаций, для связи ядра вычислительного узла с сетью используется выделенная шина ввода/вывода. К этой шине также подключаются локальные магнитные диски. Наличие таких дисков типично для кластерных систем, но не характерно для МРР-систем. Элементы вычислительного ядра объединяются посредством локальной системной шины. Связь между этой шиной и шиной ввода/ вывода обеспечивает мост.

 

Неотъемлемая часть кластера - специализированное программное обеспечение (ПО), организующее бесперебойную работу при отказе одного или нескольких узлов. Такое ПО должно быть установлено на каждый узел кластера. Оно реализует механизм передачи сообщений над стандартными сетевыми протоколами и может рассматриваться как часть операционной системы. Именно благодаря специализированному ПО группа ВМ, объединенных сетью, превращается в кластерную вычислительную систему. Кластерное ПО перераспределяет вычислительную нагрузку при отказе одного или нескольких узлов кластера, а также восстанавливает вычисления при сбое в узле. ПО каждого узла постоянно контролирует работоспособность всех остальных узлов. Этот контроль основан на периодической рассылке каждым узлом сигнала, известного как keepalive («пока жив») или heartbeat («сердцебиение»). Если сигнал от некоторого узла не поступает, то узел считается вышедшим из строя; ему не дается возможность выполнять ввод/ вывод, его диски и другие ресурсы (включая сетевые адреса) переназначаются другим узлам, а выполнявшиеся им программы перезапускаются в других узлах. При наличии в кластере совместно используемых дисков, кластерное ПО поддерживает единую файловую систему.

 

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

 

При создании кластерных систем используется один из двух подходов.

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

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

 

Кластеры хорошо масштабируются путем добавления узлов, что позволяет достичь высочайших показателей производительности. Благодаря этой особенности архитектуры кластеры с сотнями и тысячами узлов положительно зарекомендовали себя на практике. До недавнего времени именно кластерная ВС занимала первую позицию в этом списке самых производительных систем. Речь идет о кластерной системе Roadrunner BladeCenter QS22, созданной компанией IBM. Теоретическая пиковая производительность системы составляет 1376 TFLOPS, состоит она из 122 400 узлов на базе процессоров Opteron и PowerXCell.

 

Четыре преимущества, достигаемые с помощью кластеризации:

 

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

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

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

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

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


Поможем в написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой





Дата добавления: 2015-10-15; просмотров: 416. Нарушение авторских прав; Мы поможем в написании вашей работы!

Studopedia.info - Студопедия - 2014-2022 год . (0.024 сек.) русская версия | украинская версия
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7