Серверные кластеры
Содержание:
Введение…………………………………………………………
1. История развития…………………………………………………………
2. Общие сведения…………………………………………
3. Типичные задачи кластерных систем…………………………………………5
4. Архитектура кластерных систем………………………………………………7
5. Классификация кластерных систем………………………………………….10
6. Типы кластерных систем……………………
7. Высокопроизводительные кластеры...………………………………………16
Заключение……………………………………………………
Введение
В данной курсовой работе рассматриваются
общие данные об одном из молодом
и динамично развивающимся
1)Надёжность;
2)Быстродействие;
3)Дешевизна, относительно суперкомпьютеров,
при незначительном отставании от большинства
"супермашин";
Серверные кластеры завоёвывают
всё больше сторонников. Многочисленные
компании-разработчики серверных систем,
такие как: HP, Intel, DELL, предлагают всё
новые и новые серверные
1. История развития
История создания кластеров
неразрывно связана с ранними
разработками в области компьютерных
сетей. Одной из причин для появления
скоростной связи между компьютерами
стали надежды на объединение
вычислительных ресурсов. В начале
1970-х гг. группой разработчиков
протокола TCP/IP и лабораторией Xerox PARC
были закреплены стандарты сетевого
взаимодействия. Появилась и операционная
система Hydra ("Гидра") для компьютеров
PDP-11 производства DEC, созданный на этой
основе кластер был назван C.mpp (Питтсбург,
шт. Пенсильвания, США, 1971). Тем не менее,
только около 1983 г. были созданы механизмы,
позволяющие с лёгкостью
Первым коммерческим проектом кластера
стал ARCNet, созданный компанией Datapoint в
1977 г. Прибыльным он не стал, и поэтому
строительство кластеров не развивалось
до 1984 г., когда DEC построила свой VAXcluster
на основе операционной системы VAX/VMS. ARCNet
и VAXcluster были рассчитаны не только на совместные
вычисления, но и соместное использование
файловой системы и периферии с учётом
сохранения целостности и однозначности
данных. VAXCluster (называемый теперь VMSCluster)
и сейчас можно приобрести для систем
HP OpenVMS, использующих процессоры Alpha и Itanium.
Два других ранних кластерных
продукта, получивших признание, включают
Tandem Hymalaya (1994, класс HA) и IBM S/390 Parallel Sysplex
(1994).
История создания кластеров из обыкновенных
персональных компьютеров во многом обязана
проекту Parallel Virtual Machine. В 1989 г. это ПО для
объединения компьютеров в виртуальный
суперкомпьютер открыло возможность мгновенного
создания кластеров. В результате суммарная
производительность всех созданных тогда
дешёвых кластеров обогнала по производительности
сумму мощностей "серьёзных" коммерческих
систем.
Создание кластеров на основе дешёвых
персональных компьютеров, объединённых
сетью передачи данных, продолжилось в
1993 г. силами Американского аэрокосмического
агентства (NASA), затем в 1995 г. получили развитие
кластеры Beowulf, специально разработанные
на основе этого принципа. Успехи таких
систем подтолкнули развитие grid-сетей,
которые существовали ещё с момента создания
UNIX.
2. Общие сведения
Серверный Кластер - это группа серверов (именуемых "нодами"), которые работают вместе, выполняют общие задачи и клиенты видят их как одну систему. Благодаря специальному оборудованию и программному обеспечению, обеспечивается такой уровень защиты от сбоев, который невозможен при использовании одного сервера. В случае выхода из строя одного из серверов, задачи, которые он выполнял, берёт на себя другой сервер и работоспособность системы восстанавливается. При этом пользователи замечают лишь временную потерю работоспособности, а если приложение написано грамотно, то и вовсе не замечают (кроме небольшой паузы).
3. Типичные задачи кластерных систем
Сегодня можно говорить о
том, что кластерные системы успешно
применяются для всех задач суперкомпьютинга
- от расчетов для науки и промышленности
до управления базами данных. Практически
любые приложения, требующие
Для практических расчетов (3D-анимация,
крэш-тесты, разведка нефтяных и газовых
месторождений, прогнозирование погоды)
обычно используются кластеры из 10-200 узлов.
При этом основная задача - обеспечение
эффективной работы кластера с конкретным
приложением. Архитектура кластера должна
обеспечивать масштабируемость ПО при
увеличении количества узлов, т. е. прирост
производительности при добавлении новых
вычислительных модулей. Для этого важно
правильно выбрать конфигурацию кластера
в зависимости от профиля обмена данными
между экземплярами программы, запущенными
на разных узлах. Здесь нужно учитывать
общий объем пересылаемых данных, распределение
длин сообщений, использование групповых
операций и т. п.
Сегодня даже те задачи, для решения которых
традиционно применялись многопроцессорные
системы с общей памятью, такие, как управление
крупными базами данных, успешно решаются
на кластерах. Появление на рынке таких
продуктов, как, например, Oracle RAC (Real Applications
Cluster), дало возможность применять кластерные
системы в области баз данных, а новая
версия СУБД Oracle 10g, построенная на базе
GRID-технологий, обеспечивает максимально
эффективное использование кластерной
архитектуры для решения этих задач. Таким
образом, благодаря доступности кластерных
решений число предприятий, которые могут
позволить себе кардинально упростить
и ускорить работу с корпоративной базой
данных, существенно увеличивается.
Кластерные решения - наиболее экономически обоснованный выбор. В отличие от большинства серверных систем с общей памятью кластерные решения легко масштабируются до систем большей производительности. Таким образом, при ужесточении требований заказчика к производительности необязательно покупать новую систему - можно добавить стандартные вычислительные узлы и легко нарастить старую. Причем диапазон масштабируемости очень широк: например, 288-узловой кластер "СКИФ К-1000" с пиковой производительностью 2,5 TFlops можно нарастить до системы мощностью 30 TFlops путем объединения стандартных вычислительных модулей.
Кластерные решения обладают
наилучшим на сегодня соотношением
цена/производителыюсть и
4. Архитектура кластерных систем
Итак, в настоящее время
кластер состоит из вычислительных
узлов на базе стандартных процессоров,
соединенных высокоскоростной системной
сетью (интер-коннектом), а также, как
правило, вспомогательной и сервисной
сетями. Большинство кластерных систем
списка Тор500 выполнены на процессорах
Intel (Intel Xeon, Intel Xeon EM64T, Intel Itanium 2). Часто
используются процессоры Power и PowerPC компании
IBM. В последнее время
В качестве вычислительных узлов чаще всего используются двухпроцессорные SMP-серверы в корпусе от 1U до 4U, собранные в 19-дюйм стойки. Компактные устройства позволяют создавать высокопроизводительные решения с максимальной удельной плотностью, более крупные - недорогие системы. Иногда ведущие изготовители предлагают собственный формфактор: например, IBM, Verari, LinuxNetworx и другие компании предлагают вычислительные узлы на основе блэйд-технологий, которые обеспечивают высокую плотность установки, но удорожают решение. На российском рынке блэйд-решения пока мало востребованы из-за их высокой стоимости.
Каждый узел работает под
управлением своей копии
Кластер - это сложный программно-аппаратный
комплекс, и задача построения кластера
не ограничивается объединением большого
количества процессоров в один сегмент.
Для того чтобы кластер быстро и правильно
считал задачу, все комплектующие должны
быть тщательно подобраны друг к другу
с учетом требований программного обеспечения,
так как производительность кластерного
ПО сильно зависит от архитектуры кластера,
характеристик процессоров, системной
шины, памяти и интерконнекта. Использование
тех или иных компонентов сильно зависит
от задачи, для которой строится кластер.
Для некоторых хорошо распараллеливаемых
задач (таких, как рендеринг независимых
сюжетов в видеофрагменте) основной фактор
быстродействия - мощный процессор, и производительность
интерконнекта не играет основной роли.
В то же время для задач гидро- и аэродинамики,
расчета крэш-тестов важна производительность
системной сети, иначе увеличение числа
узлов в кластере будет мало влиять на
скорость решения задачи.
Системная сеть, или высокоскоростная
коммуникационная среда, выполняет задачу
обеспечения эффективности вычислений.
Gigabit Ethernet - наиболее доступный тип коммуникационной
среды, оптимальное решение для задач,
не требующих интенсивных обменов данными
(например, визуализация трехмерных сцен
или обработка геофизических данных).
Эта сеть обеспечивает пропускную способность
на уровне MPI* (около 70 Мбайт/с) и задержку
(время между отправкой и получением пакета
с данными) примерно 50 мкс. Myrinet - наиболее
распространенный тип коммуникационной
среды с пропускной способностью до 250
Мбайт/с и задержкой 7 мкс, а новое, недавно
анонсированное ПО для этой сети позволяет
сократить эту цифру в два раза. Сеть SCI
отличается небольшими задержками - менее
3 мкс на уровне MPI - и обеспечивает пропускную
способность на уровне MPI от 200 до 325 Мбайт/с.
QsNet - очень производительное и дорогое
оборудование, обеспечивающее задержку
менее 2 мкс и пропускную способность до
900 Мбайт/с. Наиболее перспективная на
сегодня технология системной сети - InfiniBand.
Ее текущая реализация имеет пропускную
способность на уровне MPI до 1900 Мбайт/с
и время задержки от 3 до 7 мкс. Один из наиболее
интересных продуктов, появившихся в последнее
время, - высокоскоростной адаптер компании
PathScale, который реализует стандартные
коммутаторы и кабельную структуру InfiniBand,
используя собственный транспортный протокол.
Это позволило достичь рекордно низкого
времени задержки - 1,3 мкс.
* MPI - наиболее распространенный и производительный
протокол передачи сообщений в кластерных
системах, а также интерфейс программирования
для создания параллельных приложений.
Сейчас существуют два способа внутреннего устройства стандартных системных сетей. Например, сеть SCI имеет топологию двух- или трехмерного тора и не требует применения коммутаторов, что уменьшает стоимость системы. Однако эта технология имеет существенные ограничения по масштабируемости.
Остальные общедоступные высокоскоростные технологии системных сетей Myrinet, QsNet, InfiniBand используют коммутируемую топологию Fat Tree. Вычислительные узлы кластера соединяются кабелями с коммутаторами нижнего уровня (leaf, или edge switches), которые в свою очередь объединяются через коммутаторы верхнего уровня (core, или spine switches). При такой топологии имеется много путей передачи сообщений между узлами, что позволяет повысить эффективность передачи сообщений благодаря распределению загрузки при использовании различных маршрутов. Кроме того, при помощи Fat Tree можно объединить практически неограниченное количество узлов, сохранив при этом хорошую масштабируемость приложений.
Задача эффективного доступа
узлов к данным (например, к внешнему
хранилищу) чаще всего решается с
помощью вспомогательной сети (как
правило, Gigabit Ethernet). Иногда для этого
применяют каналы Fibre Channel (это значительно
увеличивает стоимость системы)
или системную сеть (например, InfiniBand
в кластерах баз данных). Вспомогательная
(или сервисная) сеть также отвечает
за распределение задач между
узлами кластера и управление работой
заданий. Она используется для файлового
обмена, сетевой загрузки ОС узлов
и управления узлами на уровне ОС, в
том числе мониторинга
Суперкомпьютеры - это всегда очень большие
мощности. В сложившейся ситуации уже
невозможно рассматривать высокопроизводительные
вычислительные системы отдельно от систем
их размещения, охлаждения и электропитания.
Например, "СКИФ К-1000" потребляет
более 89 кВт, и практически все уходит
в тепло. Такой мощности было бы достаточно
для обогрева небольшого дома, но все 288
узлов формфактора 1U стоят в восьми стойках,
и без продуманного теплового дизайна
не обойтись. В первых суперкомпьютерах
использовалось жидкостное охлаждение,
но такие охладительные системы нередко
выходили из строя. В современных суперкомпьютерах
применяют воздушное охлаждение, и необходимый
температурный режим обеспечивается двумя
факторами. Во-первых, продуманным тепловым
дизайном вычислительного узла: стандартные
шасси необходимо модернизировать для
того, чтобы воздушный поток, создаваемый
внутренними вентиляторами, максимально
эффективно охлаждал процессоры. Во-вторых,
поддержанием рабочей температуры в помещении:
горячий воздух должен быть либо отведен
от узлов и кондиционирован, либо направлен
за пределы помещения.
Оптимизация энергопотребления - не менее
серьезная задача. По мнению мировых экспертов,
при современных темпах роста производительности
систем и сохранении характеристик их
энергопотребления уже к 2010 г. самые мощные
суперкомпьютеры будут потреблять столько
энергии, что обеспечить ее подачу и отвод
тепла будет невозможно. Однако проблема
обеспечения бесперебойного питания существует
и для систем со средней производительностью,
и каждый изготовитель решает ее по-своему.
5. Классификация кластерных систем
Кластерные системы могут
использовать самые разные платформы
и типы интерконнектов л, как правило,
классифицируются не по набору комплектующих,
а по областям применения. Выделяют
четыре типа кластерных систем: вычислительные
кластеры, кластеры баз данных, отказоустойчивые
кластеры и кластеры для распределения
загрузки. Самая многочисленная группа
- вычислительные кластеры. Она может
быть разбита на подгруппы; правда,
классификации внутри этой группы подлежат
уже не собственно вычислительные машины,
а готовые программно-
Основные типы готовых решений в мировой
практике:
- промышленные кластеры для инженерных задач;
- кластеры для нефте- и газодобывающей промышленности;
- кластеры для исследований в области "наук о жизни", или life sciences (поиск новых лекарств, генетика, молекулярное моделирование, биоинформатика);
- кластеры для стратегических исследований (исследования погоды и климата, ядерная физика и физика частиц, космические исследования, оборонные программы);
- кластеры для индустрии развлечений (компьютерная графика и спецэффекты, компьютерные онлайновые игры);
- грид-решения*;
- кластеры для высокопроизводительных вычислений в различных областях науки и образования.
Кластеры баз данных появились недавно. Эти системы работают с параллельными версиями баз данных и используются в крупных организациях для работы CRM-и ERP-систем, а также трапзакционных баз данных. Сегодня эти системы - серьезный конкурент традиционным серверам
с общей памятью благодаря лучшему соотношению цена/производительность, масштабируемости и отказоустойчивости.
Отказоустойчивые кластеры
строят для того, чтобы наилучшим
образом обеспечить надежность работы
критически важных приложений. Работа
приложения дублируется на разных узлах,
и в случае ошибки на одном из
них приложение продолжает работать
или автоматически
- *Грид (GRID) - перспективное направление развития ИТ технологий. Хотя оно пока не воплощено в индустриальных стандартах, все страны - лидеры ИТ-рынка - имеют государственные программы разработки грид-технологий. Цель этих программ;
- интеграция вычислительных мощностей - интеграция разнородных вычислительных систем в единое пространство с динамическим распределением ресурсов между приложениями;
- интеграция емкостей хранилищ - нечто подобное территориально распределенным RAID-системам;
- интеграция источников данных
- например, интеграция в единую виртуальную
базу разнородных баз данных, распределенных
территориально, реализованных на разных
аппаратных платформах и принципах.
Термин "грид" создан по аналогии
с понятием "power grid" - система, интегрирующая
генерирующие мощности электрических
сетей в единое "хранилище" энергии,
откуда она перераспределяется вне зависимости
от ее источника. Внедрение таких технологий
в сфере высокопроизводительных вычислений
позволит кардинально упростить доступ
к вычислительным ресурсам и сделать их
использование на порядок более эффективным.
Помимо интеграции вычислительных ресурсов
грид-технологии позволят интегрировать
разнородные емкости хранения информации
и базы данных для создания глобального
информационного пространства. Сегодня
ясно, что грид-системы получат большое
распространение в научных и академических
кругах, т. е. в условиях относительной
открытости информационных ресурсов.
В коммерческом сегменте, где очень остро
стоит вопрос обеспечения безопасности
обмена информацией и защиты интеллектуальной
собственности, такие системы, по-видимому,
будут востребованы в меньшей степени.
6. Типы кластерных систем
Для каждого класса кластеров характерны свои особенности архитекуры и применяемые аппаратные средства. Рассмотрим их более подробно.
- Отказоустойчивые кластеры
Для обеспечения надежности
и отказоустойчивости вычислительных
систем применяется множество
Уровень готовности |
Мaкс. время |
Тип системы |
99,0 |
3,5 дня в год |
Обычная (Conventional) |
99,9 |
8,5 часов в год |
Высокая надёжность (High Availability) |
99,99 |
1 час в год |
Отказоустойчивая (Fault Resilient) |
99,999 |
5 минут в год |
Безотказная (Fault Tolerant) |
В отличие от отказоустойчивых систем
с избыточными компонентами, а
также различных вариантов
КластераVAX/VMS Компания DEC первой
анонсировала концепцию кластерной системы
в 1983 году, определив ее как группу объединенных
между собой вычислительных машин, представляющих
собой единый узел обработки информации.
По существу VAX- кластер представляет собой
слабосвязанную многомашинную систему
с общей внешней памятью, обеспечивающую
единый механизм управления и администрирования.
VAX-кластер обладает следующими свойствами:
Разделение ресурсов. Компьютеры VAX в кластере
могут разделять доступ к общим ленточным
и дисковым накопителям. Все компьютеры
VAX в кластере могут обращаться к отдельным
файлам данных как к локальным. Высокая
готовность. Если происходит отказ одного
из VAX-компьютеров, задания его пользователей
автоматически могут быть перенесены
на другой компьютер кластера. Если в системе
имеется несколько контроллеров HSC и один
из них отказывает, другие контроллеры
HSC автоматически подхватывают его работу.
Высокая пропускная способность. Ряд прикладных
систем могут пользоваться возможностью
параллельного выполнения заданий на
нескольких компьютерах кластера. Удобство
обслуживания системы. Общие базы данных
могут обслуживаться с единственного
места. Прикладные программы могут инсталлироваться
только однажды на общих дисках кластера
и разделяться между всеми компьютерами
кластера. Расширяемость. Увеличение вычислительной
мощности кластера достигается подключением
к нему дополнительных VAX-компьютеров.
Дополнительные накопители на магнитных
дисках и магнитных лентах становятся
доступными для всех компьютеров, входящих
в кластер. Работа VAX-кластера определяется
двумя главными компонентами. Первым компонентом
является высокоскоростной механизм связи,
а вторым - системное программное обеспечение,
которое обеспечивает клиентам прозрачный
доступ к системному сервису. Физически
связи внутри кластера реализуются с помощью
трех различных шинных технологий с различными
характеристиками производительности.
Шина связи компьютеров CI (Computer Interconnect)
работает со скоростью 70 Мбит/с и используется
для соединения компьютеров VAX и контроллеров
HSC с помощью коммутатора Star Coupler. Каждая
связь CI имеет двойные избыточные линии,
две для передачи и две для приема, используя
базовую технологию CSMA, которая для устранения
коллизий использует специфические для
данного узла задержки. Максимальная длина
связи CI составляет 45 метров. Звездообразный
коммутатор Star Coupler может поддерживать
подключение до 32 шин CI, каждая из которых
предназначена для подсоединения компьютера
VAX или контроллера HSC. Контроллер HSC представляет
собой интеллектуальное устройство, которое
управляет работой дисковых и ленточных
накопителей. Компьютеры VAX могут объединяться
в кластер также посредством локальной
сети Ethernet, используя NI - Network Interconnect (так
называемые локальные VAX- кластеры), однако
производительность таких систем сравнительно
низкая из-за необходимости делить пропускную
способность сети Ethernet между компьютерами
кластера и другими клиентами сети. Также
кластера могут стоиться на основе шины
DSSI (Digital Storage System Interconnect). На шине DSSI могут
объединяться до четырех компьютеров
VAX нижнего и среднего класса. Каждый компьютер
может поддерживать несколько адаптеров
DSSI. Отдельная шина DSSI работает со скоростью
4 Мбайт/с (32 Мбит/с) и допускает подсоединение
до 8 устройств. Поддерживаются следующие
типы устройств: системный адаптер DSSI,
дисковый контроллер серии RF и ленточный
контроллер серии TF. DSSI ограничивает расстояние
между узлами в кластере 25 метрами.
Системное программное обеспечение VAX-кластеров.
Для гарантии правильного
взаимодействия процессоров друг с
другом при обращениях к общим
ресурсам, таким, например, как диски,
компания DEC использует распределенный
менеджер блокировок DLM (Distributed Lock Manager).
Очень важной функцией DLM является обеспечение
когерентного состояния дисковых кэшей
для операций ввода/вывода операционной
системы и прикладных программ. Например,
в приложениях реляционных СУБД
DLM несет ответственность за поддержание
согласованного состояния между
буферами базы данных на различных
компьютерах кластера. Задача поддержания
когерентности кэш-памяти ввода/вывода
между процессорами в кластере подобна
задаче поддержания когерентности
кэш-памяти в сильно связанной многопроцессорной
системе, построенной на базе некоторой
шины. Блоки данных могут одновременно
появляться в нескольких кэшах и
если один процессор модифицирует одну
из этих копий, другие существующие копии
не отражают уже текущее состояние
блока данных. Концепция захвата
блока (владения блоком) является одним
из способов управления такими ситуациями.
Прежде чем блок может быть модифицирован
должно быть обеспечено владение блоком.
Работа с DLM связана со значительными накладными
расходами. Накладные расходы в среде
VAX/VMS могут быть большими, требующими передачи
до шести сообщений по шине CI для одной
операции ввода/вывода. Накладные расходы
могут достигать величины 20% для каждого
процессора в кластере.
7. Высокопроизводительные кластеры
Архитектура высокопроизводительных
кластеров появилась как
Для решения проблем низкой
производительности сети применяют
несколько: методов:
- кластер разделяется на несколько сегментов,
в пределах которых узлы соединены высокопроизводительной
шиной типа Myrinet, а связь между узлами разных
сегментов осуществляется низкопроизводительными
сетями типа Ethernet/Fast Ethernet. Это позволяет
вместе с сокращением расходов на коммуникационную
среду существенно повысить производительность
таких кластеров при решении задач с интенсивным
обменом данными между процессами.
- применение так называемого «транкинга»,
т.е. объединение нескольких каналов Fast
Ethernet в один общий скоростной канал, соединяющий
несколько коммутаторов. Очевидным недостатком
такого подхода является «потеря» части
портов, задействованных в межсоединении
коммутаторов.
- для повышения производительности создаются
специальные протоколы обмена информацией
по таким сетям, которые позволяют более
эффективно использовать пропускную способность
каналов и снимают некоторые ограничения
накладываемые стандартными протоколами
(TCP/IP,IPX).
Такой метод часто используют в ситемах
класса Beowulf. Основным качеством, которым
должен обладать высокопроизводительный
кластер являтся горизонтальная масштабируемость,
так как одним из главных преимуществ,
которые предоставляет кластерная архитектура
является возможность наращивать мощность
существующей системы за счет простого
добавления новых узлов в систему. Причем
увеличение мощности происходит практически
пропорционально мощности добавленных
ресурсов и может производиться без остановки
системы во время ее функционирования.
В системах с другой архитектурой (в частности
MPP) обычно возможна только вертикальная
масштабируемость: добавление памяти,
увеличение числа процессоров в многопроцессорных
системах или добавление новых адаптеров
или дисков. Оно позволяет временно улучшить
производительность системы. Однако в
системе будет установлено максимальное
поддерживаемое количество памяти, процессоров
или дисков, системные ресурсы будут исчерпаны,
и для увеличеия производительности придется
создавать новую систему или существенно
перерабатывать старую. Кластерная система
также допускает вертикальную масштабируемость.
Таким образом, за счет вертикального
и горизонтального масштабирования кластерная
модель обеспечивает большую гибкость
и простоту увеличения производительности
систем.