Кластер – это группа компьютеров, которые работают вместе и составляют единый унифицированный вычислительный ресурс. Хотя кластер и состоит из множества машин, операционных систем и приложений, пользователи «видят» его как одну систему. Объединение в кластеры позволяет создавать высокопроизводительные и надежные системы с использованием стандартных структурных компонентов.
Возникновение кластеров было обусловлено ростом популярности интернета – стандартные серверные процессоры и системы, рассчитанные на обработку больших объемов данных, начали использоваться для обслуживания внешних приложений (хотя каждая система, как правило, управлялась отдельно, имела собственную операционную систему и прикладное ПО), что обеспечивало более высокую надежность.
Разработка кластерных версий основных приложений уровня предприятия (таких как Oracle 9i с Real Application Clusters (RAC)) и компонентного программного обеспечения (такого как виртуальная машина Java J2EE), позволяющих распределять ПО между несколькими серверами, способствовала повышению интенсивности использования кластеров на уровне предприятия.
В результате кластеры на базе процессоров Intel начали вытеснять мейнфреймы и большие многопроцессорные серверы в качестве средства обслуживания внутренних приложений благодаря более эффективному соотношению «цена – качество», а также лучшим показателям масштабируемости и готовности.
Для корпорации Intel это означает, что процессоры на базе архитектуры Intel будут все шире использоваться для обслуживания приложений в вычислительных центрах, что до недавнего времени оставалось прерогативой мейнфреймов и больших многопроцессорных RISC-серверов.
Объединение в кластеры начинает практиковаться и в сфере высокопроизводительных вычислений. Высокоскоростные межкомпонентные соединения в сочетании с двухпроцессорными системами, обладающими прекрасными показателями производительности при выполнении операций с целыми числами и плавающей запятой, делают возможным создание очень больших кластеров для решения таких задач, как моделирование катастроф, вычисления в области гидроаэродинамики и финансовое моделирование. Ряд коммерческих и научных организаций (таких как CERN и TeraGrid) уже используют кластеры из двухпроцессорных серверов на базе процессора Intel Itanium 2 для решения задач, требующих высокой производительности.
Следующий этап развития высокопроизводительных вычислений – так называемые матричные вычисления. Эта технология позволяет объединять свободные ресурсы процессора и устройств хранения данных и использовать их совместно в глобальной сети серверов, обеспечивая распределенную параллельную обработку данных.
Объединение в кластеры – путь в вычислительные центры
Технология объединения в кластеры применяется уже более 20 лет. Традиционно она использовалась для обеспечения надежности, готовности, удобства в обслуживании, эксплуатации и управлении – за счет таких функций, как горячее резервирование и переключение при отказе. Хотя эта технология и позволяла повысить надежность и готовность малых систем до уровня больших систем, весь потенциал производительности таких кластеров из-за ограничений программного обеспечения реализовать все равно было невозможно.
Особенно популярно объединение в кластеры тех серверов, которые обслуживают внешние приложения (web-серверы, межсетевые защитные экраны и прокси-серверы), а в последнее время – и серверов среднего уровня (обслуживающих приложения для бизнеса). Научные организации – например, CERN (Европейский центр ядерных исследований), который переводит крупный кластер рабочих станций на базе процессоров Intel Xeon на процессоры Intel Itanium, уже давно использует кластеры для выполнения самых сложных научных расчетов.
Новая же тенденция заключается в том, что благодаря эффективному соотношению «цена – производительность» систем на базе процессоров семейств Intel Xeon и Intel Itanium коммерческие предприятия начинают менять большие компьютеры-мейнфреймы и крупные единые многопроцессорные системы, обслуживающие корпоративные базы данных, на кластеры из высокопроизводительных компьютеров на базе процессоров Intel. Распространению технологии объединения в кластеры в среде внутренних вычислений способствует применение таких приложений, как Oracle 9i с Real Application Clusters, оптимизированных под архитектуру Intel.
Объединение серверов в кластеры имеет следующие преимущества:
стоимость – серверы на базе архитектуры Intel, ставшей отраслевым стандартом, предлагают лучшее соотношение «цена – производительность» по сравнению с серверами на базе архитектуры RISC и мейнфреймами;
готовность – кластеры не имеют единой «точки выхода из строя», таким образом, поломка любого сервера или его компонента не приведет к прекращению обслуживания конечного пользователя;
масштабируемость – многие современные кластеры построены на основе стандартных структурных компонентов, рассчитанных на обработку больших объемов данных, что делает наращивание ресурсов по мере необходимости сравнительно простым и экономически эффективным.
Объединение серверов в кластеры является ключевой областью применения архитектуры Intel и прекрасным примером того, как продукция для обработки больших объемов данных, основанная на отраслевых стандартах (например, процессорах семейств Intel Xeon и Intel Itanium), может оказаться в сердце решений самых сложных вычислительных проблем.
Типы объединения в кластеры для внутренних приложений
Существует две модели объединения в кластеры, каждая из которых имеет свои преимущества и недостатки.
«С совместным использованием диска» – все серверы в кластере используют одно устройство (массив) хранения данных. Преимущество этой модели заключается в возможности переключения при отказе, так как все серверы используют одинаковые данные; недостаток состоит в том, что, например, при обслуживании большой базы данных обмен информацией между компьютерами в кластере (по мере того, как они «обновляют» друг друга) может негативно повлиять на производительность. Устранить этот недостаток позволяет использование таких инструментальных средств, как Oracle Cache Fusion, которое входит в состав Oracle 9i RAC.
«Без совместного использования» – все серверы абсолютно независимы друг от друга и сами управляют своими периферийными устройствами. В случае сбоя данные перераспределяются на другие серверы. Эта модель дает широкие возможности для масштабирования и предполагает минимум «служебного» трафика между серверами, но в то же время может налагать определенные ограничения на устройство базы данных.
Корпорация Intel и будущее технологии объединения в кластеры
В одном из отчетов компании Meta Group говорится: «В течение ближайших пяти лет организации, связанные с информационными технологиями, все чаще будут использовать решения для управления базами данных на основе кластерных архитектур, стремясь снизить стоимость инфраструктуры и повысить степень доступности приложений».
Руководители отделов информационных технологий все чаще будут задаваться вопросом: «Почему мы не объединяем наши системы в кластеры?» Преимущество в стоимости уже сейчас слишком привлекательно, чтобы его игнорировать. А с учетом того, что все крупнейшие разработчики баз данных уже создают версии своего программного обеспечения для процессоров семейства Intel Itanium, показатели производительности станут еще более высокими. Кроме того, такие новые технологии ввода-вывода, как Infiniband, будут также способствовать увеличению скорости межузлового обмена данными внутри кластеров.