Кластеры

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

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

В сетях первых поколений серверы строились на основе больших и очень дорогих ЭВМ (mainframe), выпускаемых целым рядом компа­ний. Все они работали под управлением ОС Unix и способны были объединяться для совместной работы.

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

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

Цели построения кластеров:

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

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

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

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

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


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

предусматривает, что все элементы кластера имеют аппа­ратную, программную

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

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

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

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

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

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

То— время отказа и восстановления системы, в течение которого она не могла выполнять

свои функции.

Большинство современных серверов имеет 99%-ную готовность. Это означает, что около четырех дней в году они не работают.

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

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

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

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

Эффективное управление и контроль работы системы подразумевает возможность

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: