Студопедия

Главная страница Случайная страница

Разделы сайта

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






Кластеры






Вычислительные системы как мощные средства обработки заданий пользователей широко используются не только автономно, но и в сетях ЭВМ в качестве серверов (см. рис. 11.5).

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

В сетях первых поколений серверы строились на основе больших и очень дорогих ЭВМ (mainframe), выпускаемых целым рядом компаний: Digital Equipment, Tandem, влившихся в корпорацию Compaq, IBM, Hewlett-Packard. Все они работали под управлением ОС Unix и способны были объединяться для совместной работы.

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

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

Целями построения кластеров могут служить:

· улучшение масштабируемости (способность к наращиванию мощности);

· повышение надежности и готовности системы в целом;

· увеличение суммарной производительности;

· эффективное перераспределение нагрузок между компьютерами кластера;

· эффективное управление и контроль работы системы и т.п.

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

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

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

Коэффициент готовности систем рассчитывается по формуле

Кг = Тр /(Тр + То),

где: Тр - полезное время работы системы;

То - время отказа и восстановления системы, в течение которого она не могла выполнять свои функции.

Большинство современных серверов имеет 99%-ную готовность. Это означает, что около четырех дней в году они не работают. Подчеркнем, что готовность 99, 9%, достигаемая обычно спаркой серверов - основного и резервного, означает годовой простой около 500 мин., 99, 999% - 5 мин., а 99, 9999% - 30 с.

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

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

Совокупные вычислительные мощности кластеров могут быть сравнимы с мощностями суперЭВМ и даже превышать их при неизмеримо меньшей стоимости. Такие технологии применительно к отдельным классам задач хорошо отработаны. Например, существует задача анализа сигналов, принимаемых радиотелескопами, с целью поиска внеземных цивилизаций; имеется проект distribIUed.net, реализующий алгоритм дешифрирования, и др. Круг подобных задач не очень широк, но число одновременно привлекаемых компьютеров для этих целей может быть громадным - десятки, сотни и даже тысячи.

Работа кластера под управлением единой операционной системы позволяет оперативно контролировать процесс вычислений и эффективно перераспределять нагрузки между компьютерами кластера.

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

Эффективное управление и контроль работы системы подразумевает возможность работы отдельно с каждым узлом, вручную или программно отключать его для модернизации либо ремонта с последующим возвращением его в работающий кластер. Эти операции скрыты от пользователей, они просто не замечают их. Кластерное ПО, интегрированное в операционные системы серверов, позволяет работать с узлами как с единым пулом ресурсов (Single System Image, SSI), внося необходимые общие изменения с помощью одной операции для всех узлов.

Какие же средства имеются для построения кластеров?

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

Кластеры объединяют несколько серверов под единым управлением. Все новые серверы, как правило, являются многопроцессорными и относятся к SMP-структурам, что обеспечивает многоступенчатую возможность переключения нагрузки отказавшего элемента как внутри кластера, так и внутри сервера. Существуют серверы с различным количеством процессоров (от 2 до 16). Правда, фирма Sun работает над созданием 64-процессорной SMP-модели сервера. IBM предполагает с появлением микропроцессора. 1А-64 Merced (новое название его - Itanium) выпустить SMP-систему, рассчитанную на 16 процессоров. Напротив, фирма Dell считает, что применение более восьми процессоров в SMP-структуре нецелесообразно из-за трудностей преодоления конфликтов при обращении их к общей оперативной памяти.

Большой интерес к построению кластеров стала проявлять фирма Microsoft. В связи с широкой популярностью операционной системы Windows NT, предназначенной для управления сетями крупных предприятий, появились различные варианты кластерного обеспечения. Сама фирма Microsoft предлагает бесплатную версию своего кластерного ПО, встроенного в Windows NT и поддерживающего Microsoft Cluster Server (MSCS). Этот кластерный продукт, известный под названием Wolfpack (" волчья стая"), еще достаточно слаб, но уверенно прогрессирует. В настоящее время он обеспечивает разделение нагрузки между двумя узлами-серверами и то только путем замены одного сервера другим, а не путем ее перераспределения.

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

Унификация инженерно-технических решений предполагает соответственно и стандартизацию аппаратных и программных процедур обмена данными между серверами. Для передачи управляющей информации в кластере используются специальные магистрали, имеющие более высокие скорости обмена данными. В качестве такого стандарта предлагается интеллектуальный ввод-вывод (Intellident InpIU/ OIUpIU - I2O). Спецификация I2O определяет унифицированный интерфейс между операционной системой и устройствами ввода-вывода, освобождая процессоры и их системные шины от обслуживания периферии.

Как и у любой новой технологии, у кластеризации имеются свои недостатки:

· задержки разработки и принятия общих стандартов;

· большая доля нестандартных и закрытых разработок различных фирм, затрудняющих их совместное использование;

· трудности управления одновременным доступом к файлам;

· сложности с управлением конфигурацией, настройкой, развертыванием, оповещениями серверов о сбоях и т.п.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.