Новосибирский государственный университет

Факультет информационных технологий

ICT SBRAS

Словарь-справочник по информатике (онтология информатики)

Кластерные вычислительные системы

Синонимы: кластерные вычислительные системы; кластер;

Кластер - группа взаимно соединенных вычислительных систем (узлов), работающих совместно и составляющих единый вычислительный ресурс, создавая иллюзию наличия единственной ВМ. Для связи узлов используется одна из стандартных сетевых технологий (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.

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

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

Кластеры больших SMP-систем

Огромный потенциал масштабирования, свойственный кластерной архитектуре, делает ее очень перспективным направлением в области создания высокопроизводительных вычислительных систем. Масштабирование возможно как за счет увеличения числа узлов, так и путем применения в качестве узлов не одиночных ВМ, а также хорошо масштабируемых вычислительных систем, обычно SMP-типа. Это направление получило настолько широкое развитие, что было выделено в отдельную группу MIMD-устройств - Constellations. Термин, обусловленный названием одной из первых ВС данного типа - Sun «Constellation», - можно перевести как «созвездие».

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

Перспективность Constellation-систем обусловлена удачным сочетанием преимуществ распределенной памяти (возможности наращивания количества узлов) и разделяемой памяти (эффективного доступа множества ПЭ к памяти).

Формально структура Constellation-системы полностью соответствует кластерной архитектуре, однако явная направленность на высокую производительность может отражаться в некоторых конструктивных решениях.

В качестве примера Constellation-системы можно привести систему Tera 10 фирмы Bull с теоретической пиковой производительностью 58,8 TFLOPS. Система представляет собой кластер из 544 узлов, в котором каждый узел - это SMP-система, образованная 8 2-ядерными процессорами Itanium 2.

Ключевые термины, связанные с термином "кластерные вычислительные системы":

  1. Кластер

Ссылки на персон:

  1. Хорошевский Виктор Гаврилович

Ключевые термины:  архитектура вычислительной машины;   классификация флинна;   mimd-архитектура;   симметричные мультипроцессорные системы;   flops;   системы с массовой параллельной обработкой;


Контекстный поиск: Задайте образец для поиска:
    

|А.М.Федотов| |Преподавание| |Современные проблемы информатики| |Информатика| |Ключевые термины| |Персоны|

Федотова Ольга Анатольевна
[SBRAS]
НГУ
ФИТ НГУ
ИВТ СО РАН
© 2007-2024, Новосибирский государственный университет, Новосибирск
© 1998-2024, Институт вычислительных технологий СО РАН, Новосибирск
© 1998-2024, Федотов А.М.
    Дата последней модификации: 16.08.2013