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

 

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

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

Круг задач, решаемых серверами, постоянно расширяется, становится многообразным и сложным.

Чем выше ранг сети, тем более специализированными они становятся.

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

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

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

  1. улучшение масштабируемости (способность к наращиванию мощности);
  2. повышение надежности и готовности системы в целом;
  3. увеличение суммарной производительности;
  4. эффективное перераспределение нагрузок между компьютерами кластера;
  5. эффективное управление и контроль работы системы и т.п.

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

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

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

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

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

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

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

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

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

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

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