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

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

Кластеры обеспечивают постепенное масштабирование если не сотни, то хотя бы 64 процессоров за более низкую цену, чем это делает МРР, в ряде случаев с минимальным перепрограммированием.

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

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

Ново? Разве только для Unix...

В отличие от МРР и SMP, идея кластеризации - отнюдь не нова. Еще в начале 80-х компания Digital Equipment представила VAXCluster с операционной системой OpenVMS. Но вот о кластеризации Unix-машин прежде никто не задумывался. До тех пор пока компании не начали использовать Unix для критически важных приложений, что поставило на повестку дня необходимость высокой готовности, а следовательно, кластеризации.

В 1993 году DEC существенно обогатила свое ноу-хау в области кластеризации, выпустив основанный на Unix пакет DECAdvantage. В том же году IBM для собственной разновидности Unix - AIX разработала систему High-Availability Cluster Multi-Processing (HACMP). Сейчас системы для организации кластеров из Unix-машин предлагают около десятка компаний, и в их числе Data General, Hewlett-Packard, Pyramid Technology, Sequent Computer Systems, Sun Microsystems.

Вовремя

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

На это, например, обращает внимание Питер Смит, системный администратор канадской компании TMI Communications: "Мы не только получили систему с высокой степенью готовности, но и добились эффективного использования средств, вложенных в наши вычислительные мощности". Компания предлагает спутниковые каналы связи MSAT телекоммуникационных служб. Здесь установлены два сервера AlphaServer 2100 с двумя процессорами каждый. Один из них работает, другой находится в режиме "горячего резерва".

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

Службы MSAT известны как альтернатива сотовой системе связи; они обеспечивают каналы для пейджинговой, факсовой и телефонной связи. Что касается компании TMI, один из ее серверов, AlphaServer 2100, вполне справляется с нагрузкой и позволяет служащим компании, ведущей круглосуточное обслуживание семь дней в неделю, работать только с 9 до 5 и отдыхать в выходные, а вторая машина в режиме "горячего резерва" придает уверенности, что тебя не вытащат ночью из дома для устранения неисправностей.

Впрочем, TMI и эту систему намерена улучшить. Для этого она воспользуется решением компании DEC под названием TruCluster. Оно основывается на технологии ширококанальной шины Memory Channel, которая, в свою очередь, разработана по стандарту Peripheral Component Interconnect (PCI) компании Intel и позволяет серверам обрабатывать запросы намного быстрее, чем в случае применения каналов ввода/вывода SCSI. Составной частью TruCluster является Oracle Parallel Server, который прозрачно для пользователя распределяет запросы к базе данных по многочисленным узлам кластера. Memory Channel позволит TMI более эффективно расходовать ресурсы обеих машин. Здесь на одной из машин планируют разместить все системное программное обеспечение и пользовательские данные, а на другой - приложения. Оба сервера смогут работать как единая машина с гораздо более высокой производительностью.

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

На первый взгляд, попытки компаний добиться 99,9999-процентной готовности могут показаться просто стремлением к роскоши. Впрочем, если сравнить время простоя в год, которое для систем с готовностью 99,9% составляет 500 минут, а с готовностью 99,9999% - 30 секунд, такое желание перестает казаться абсурдным. Многие компании решают сейчас такие серьезные задачи, что не могут себе позволить даже тридцатисекундного простоя.

Плановый останов

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

Гибкие возможности

99,9999% - не предел. Существуют отказоустойчивые системы, обладающие 100%-ной готовностью. Однако им не хватает гибкости кластера. Задавая конфигурацию кластеризованной системы, можно добиться нужного вам соотношения масштабируемости и готовности. Например, для повышения готовности на каждый работающий сервер в системе можно предусмотреть один неактивный. С другой стороны, для обеспечения дополнительной масштабируемости две работающие на полную мощность машины может "оберегать" одна резервная. Допустима даже такая конфигурация, при которой работают все машины. В этом случае при отказе одной из них просто снизится общая производительность. Возможно, найдутся компании, которых устроит именно такой вариант.

Впрочем, как и в случае с готовностью, масштабируемость достигается не только конфигурированием кластера. Для этого необходимо ее сочетание с технологиями SMP и МРР. Если, например, требуется воспроизвести вычеслительную мощность мэйнфрейма на Unix-системе, без технологии МРР, вовлекающей в работу сотни микропроцессоров, не обойтись. До недавнего времени объединение в кластер машин с SMP считалось нормой, однако никто не задумывался о возможности использования технологии МРР. Первопроходцем стала компания Pyramid Technology, автор и разработчик Reliant RM1000 Cluster Server, позволяющего объединить Reliant1000 Parallel Server на базе МРР, который может работать с 300 узлами с 16 серверами Nile или RM600SMP (всего до 256 процессоров) в единую систему под Unix-версией компании Pyramid Reliant Unix.

Подобное объединение технологий SMP и МРР при организации кластеров сотрудники Aberdeen Group называют "технологией синтеза". Так, например, если необходима дополнительная процессорная мощность, наиболее дешевый способ получить ее - это добавить еще один процессор в машину с SMP. Но за это придется расплачиваться - получится эффект бутылочного горлышка, и следующим шагом станет покупка новой машины SMP и формирование кластера. Если же нужно перенести систему принятия решений или интерактивной обработки транзакций (OLTP) на кластер и получить гигантскую мощность, добавьте МРР-машину.

Но не для всех

Теперь самое время вспомнить о недостатках. Прежде всего, кластеры безнадежно проигрывают технологиям SMP и МРР в скорости.

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

Успех гарантирован в том случае, если пропускная способность выйдет на уровень от 200 до 300 Мбит/с. В прошлом нормой считался показатель в 20-40 Мбит/с с интерфейсом SCSI для связи с запоминающим устройством, но приложения в этих отраслях плохо работали на кластерах. Система TruCluster на базе Memory Channel, представленная компанией DEC, обеспечивала ширину полосы 100 Мбит/с, что было серьезным шагом вперед.

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

В частности, кластеризация увеличит эффективность таких приложений, как комплект R/3 компании SAP America, если один мощный сервер базы данных будет окружен несколькими (и даже многочисленными) серверами приложений. Кластеризация позволит управлять всем комплексом как единой средой базы данных.

Деятельность Digital в ближайшем будущем сулит радужные перспективы пользователям и производителям Unix-серверов, благодаря созданию быстрых кластеров. Однако не забыта и Windows NT компании Microsoft - Digital будет осуществлять соединение с памятью программного обеспечения кластеризации серверов Prioris на базе процессоров Intel под ОС NT. Единственное, что вызывает определенный скепсис - это возможность масштабирования NT более 4-х процессоров.

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


Data General и Veritas за NT Cluster

В конце августа Data General представила свой первый продукт для обеспечения отказоустойчивости ее серверов Aviion, работающих с Windows NT.

Архитектура NT Cluster, который работает с разделяемым массивом памяти Clariion RAID, представляет собой отказоустойчивое решение. В его основе лежит программное обеспечение FirstWatch для Windows NT компании Veritas Software, а также программа NTAlert компании Data General, информирующая о возникновении сбоев в системе.

Как отметил Френк Кенни, директор по маркетингу NT компании Data General, подобная конфигурация позволяет запускать несколько приложений на обоих серверах и устанавливать отказоустойчивые приложения.

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

"Продукты Veritas специально сделаны простыми, они избавлены от большого количества "свисточков и колокольчиков" и излишней функциональности, - сказал Рой Пескофф, аналитик D.H. Brown and Associates. - Это, вероятно, то, что нужно для среды NT. К тому же предлагаемый сервер гораздо проще администрировать".

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

Aviion NT Cluster, выпуск которого запланирован на октябрь, может использоваться с четырехпроцессорными серверами, монтируемыми в стойку, с AV 5900 производства Data General или с любыми низкоуровневыми машинами той же компании.

- Джуди Демокер

Планирование широкомасштабных продаж и маркетинг систем хранилищ данных

Анализ состояния рынка

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

Разделять диски или не разделять ничего

Дебаты на эту тему могут оказаться пустой болтовней.

Рост

Приготовьтесь к тому, что хранилища данных будут расти быстрее и до гораздо больших размеров, чем вы ожидали

Киоски данных

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

Инструментарий

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


Microsoft и Digital создают свою технологию кластеризации

Компании Microsoft и Digital Equipment, стремясь заменить мэйнфреймы на серверы с Windows NT, инициировали новый проект по кластеризации NT.

Microsoft представила для своей технологии кластеризации API, получивший название WolfPack. По словам Эрика Хокенсена, менеджера по программам для Windows NT, он позволяет некоторым разработчикам просматривать диспетчер программ Windows NT.

Но Microsoft до конца года не планирует закончить работу над WolfPack. Digital же, которая совместно с Microsoft разрабатывает технологию кластеризации для NT, ждать не намерена.

Начиная с апреля Digital широко распространяет бета-версию модулей кластеризации, которые послужат дополнением операционной системы Windows NT. Они позволят организовать отказоустойчивый кластер, объединяющий два узла. По словам Эрни Лоу из Digital, менеджера группы по совместной разработке с Microsoft, он намерен работать с WolfPack.

AT&T Global Information Solutions уже предлагает кластерные отказоустойчивые решения, объединяющие два узла для серверов Globalist NT.

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

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

"В дальнейшем, если вы хотите организовать что-то вроде торговой точки или реализовывать другой вид электронной коммерции, без кластеризации вам не обойтись. Благодаря новой технологии в этой области предпочтение будет отдано Windows NT", - считает Брайан Моура, заместитель мэра города Сан Карлос.

На конференции Windows Hardware Engeenering Conference, состоявшейся в апреле, Microsoft представила производителям список требований, которым должно удовлетворять аппаратное обеспечение для поддержки кластеров. Если API будут приняты разработчиками и у производителей аппаратуры не возникнет возражений, то Microsoft, как отметил Хокенсен, собирается реализовать свою технологию кластеризации в два этапа.

На первом этапе, который должен начаться с выпуска WolfPack в качестве дополнения к Windows NT 4.0 еще до конца этого года, WolfPack будет поддерживать парные серверы NT, так что, когда на одном сервере возникает сбой, другой без прерывания может взять на себя функции первого. На втором этапе (предполагается, что он начнется в 1997 году) WolfPack будет объединять до 16 узлов.

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

В то же время, традиционные серверы масштаба предприятия, такие как Solaris компании Sun Microsystems или OpenVMS компании Digital, получат преимущества, поскольку они могут объединять до 16 и 120 узлов соответственно.

"NT долго шла к кластеризации, в отличие от Unix. Пока NT не начала об этом заботиться, она была непригодна для работы целого круга приложений масштаба предприятия", - сказал Дэн Кузнецки, аналитик International Data Corp.

- Джейсон Понтин

Время собирать камни...

Симметричная многопроцессорная обработка (SMP) и кластеризация - понятия, о которых большинство потребителей и сотрудников компаний, производящих серверы, в наши дни имеет весьма слабое представление. Основное внимание уделялось поставщикам - сторонникам Intel и Windows NT, которые наполняли рынок RISC-системами. Поставщики Unix тоже здесь не новички, но их присутствие было не столь ощутимо.

Число узлов
SMP
Кластеризация
MPP
До 16 процессоров
До 8 узлов (возможна реализация SMP в каждом узле)
До сотен узлов
Системное администрирование
Одна система
Мультисистемность (некоторый инструментарий)
Мультисистемность с инструментарием
Готовность
Единственная точка сбоя
Нет единственной точки сбоя
Несколько точек сбоя
Возможности роста
Модернизация
Добавление к существующим системам
Модернизация
Поддержка приложений и подсистем
Практически все
Необходимы распределенные или распараллеленные версии
Необходимы распределенные или распараллеленные версии

Если и есть человек, по-настоящему разбирающийся в вопросах, связанных с технологиями кластеризации, то это, несомненно, Грег Пападопулос, один из руководителей компании Sun Microsystems Computer. В своих многочисленных интервью Пападопулос пропагандировал свои взгляды на ситуацию в этом сегменте рынка с его постоянно растущей конкуренцией. Пападопулос входит в число основателей трех компаний, в том числе PictureTel; преподавал в Массачусетском Технологическом Институте и являлся старшим конструктором компании Thinking Machines.

Как вы связываете SMP и кластеризацию с приложениями и масштабируемостью?

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

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

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

Является ли SMP шагом к кластеризации, или для большинства пользователей это в основном вынужденное решение?

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

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

А с технологической точки зрения, имеют ли поставщики RISC/Unix преимущество перед поставщиками Intel/Windows, если учесть их опыт использования SMP?

Дело обстоит следующим образом: машины SMP труднее создавать, но на них проще вести разработки и развертывать приложения. Кластеры/MPP-машины создавать проще, но работать с ними труднее. Ценность SMP-машины и масштабируемости в том, что им по зубам самые трудные задачи.

Как вы думаете, способны ли компьютеры с процессорами Pentium Pro и операционной системой WinNT на равных конкурировать с кластерами?

Да, системы с процессорами P6 - это просто более эффективная четырехпроцессорная реализация. Так, у сообщества P6/NT нет выбора, кроме кластеризации машин в попытке масштабировать системы. Предположим, вам нужна система с 1000 дисками, 100 процессорами и памятью емкостью 20 Гбайт. У вас есть возможность выбрать из двух конфигураций: а) 25 четырехпроцессорных систем, каждая с 40 дисками и оперативной памятью емкостью 20 Гбайт, или б) четыре 25-процессорные системы, каждая с 250 дисками и оперативной памятью 5 Гбайт. Что вы предпочтете? Почти наверняка вариант б). Эту систему гораздо проще разработать и администрировать. Большие SMP машины более предпочтительны, поскольку они проще в разработке, развертывании и поддержке по сравнению с кластером аналогичного размера, состоящим из небольших узлов. Поставщикам систем Intel/NT предстоит немало потрудиться для того, чтобы подобного рода обыденное масштабирование стало такой же привычной работой, как и для хорошо спроектированных SMP-машин с Unix.


Такие вот кластеры

"Поучительный пример"

(Из журнала "LAN Magazine/Русское Издание")

AAC Branch Cluster для рабочих станций NASA Ames имеет следующие характеристики:

  • В настоящее время кластер объединяет 32 системы Indigo и Indigo2, а также 2 системы HP 755.
  • Четырнадцать из них имеют процессоры R4400/75 МГц и память емкостью 128 Мбайт, а восемнадцать - процессоры R4000/50 МГц и память объемом 96 Мбайт. Системы HP оснащены процессорами PA-RISC/99 МГц и памятью емкостью 128 Мбайт.
  • Связь между компьютерами осуществляется через простой или коммутируемый Ethernet.
  • Имеющиеся в кластере машины в первую очередь обычно используются для вычислений и визуализации.
  • Обслуживание кластеров проводятся с 7 часов вечера до 5 часов утра, включая субботы и воскресенья. Программное обеспечение, поддерживающее очереди заданий, не используется (применяются электронные таблицы, в которых перечислены задания).
  • В качестве программного обеспечения предлагается PVM 3.3.4.

Поделитесь материалом с коллегами и друзьями