Краткая история появления и обзор существующих кластерных систем
Идея построения кластеров зародилась ещё в начале 80-х годов, когда компанией Digital Equipment был представлен кластер VAXCluster, использовавший операционную систему OpenVMS. Далее пришло время кластеров на основе Unix-подобных операционных систем.
В 90-х годах начался процесс интенсивного развития кластерных технологий.
Перечислим наиболее интересные проекты, связанные с кластерными технологиями.
Проект Beowulf (www.beowulf.org). Этот проект возник летом 1994 года в научно-космическом центре NASA. Всё начиналось сборкой 16-процессорного кластера на процессорах 486DX4/100 MHz
Проект Avalon (cnls.lanl.gov). Avalon берёт своё начало в 1998 году в Лосаламосской национальной лаборатории для группы теоретической астрофизики. Avalon представляет из себя Linux-кластер на базе процессоров DEC Alpha/533 MHz. Первоначально он состоял из 68 процессоров, затем был расширен до 140. В каждом узле установлено 256 MB оперативной памяти, EIDE-жесткий диск на 3.2 GB (общая стоимость узла — 1700 $). Узлы соединены с помощью 4-х 36-портовых коммутаторов и расположенного "в центре" 12-портового коммутатора. Общая стоимость Avalon — 313 тыс. $, а его производительность 47.7 GFlops.
В настоящее время Avalon активно используется в астрофизических, молекулярных и других научныхвычислениях.
Также внимания заслуживают следующие кластерные системы:
• CLiC (Chemnitzer Linux Cluster, www.tu-chemnitz.de), созданный в Техническом университете города Кемнитц (Chemnitz), Германия. Использует операционную систему Linux и содержит 528 узлов;
• Lots of Boxes on Shelves (LoBoS, www.lobos.nih.gov), реализованный в Национальном Институте здоровья США в 1997 году.
Кластеры класса Беовульф
Определение Беовульф
Существует столько же определений кластера Беовульф. Некоторые утверждают, что система может называться Беовульф только, если она построена так же, как оригинальная машина в NASA. Другие бросаются в другую крайность и называют Беовульфом любую сеть из рабочих станций, выполняющую параллельную программу.
Приведем определение, предложенное Язеком Радаевски и Дугласом Эдлайном:
Беовульф — это мультикомпьютерная архитектура, которая может использоваться для параллельных вычислений. Это система, обычно состоящая из одного серверного узла и одного или более клиентских узлов, соединенных при помощи Ethernet или некоторой другой сети. Это система, построенная из готовых промышленных компонент, например ПЭВМ, на которых может работать ОС Linux, стандартных адаптеров Ethernet и коммутаторов. Она не содержит специфических аппаратных компонентов и легко воспроизводима. Беовульф также использует программные продукты, такие как ОС Linux, среды программирования Parallel Virtual Machine (PVM) и Message Passing Interface (MPI). Серверный узел управляет всем кластером и является файл-сервером для клиентских узлов. Он также является консолью кластера и шлюзом во внешнюю сеть. Большие системы Беовульф могут иметь более одного серверного узла, а также возможно специализированные узлы, например, консоли или станции мониторинга. В большинстве случаев клиентские узлы в Беовульфе пассивны. Они конфигурируются и управляются серверными узлами и выполняют только то, что предписано серверным узлом. В бездисковой конфигурации клиентов, клиентские узлы даже не имеют IP-адресов или имен, пока их не назначит сервер. Одно из основных отличий Беовульфа от кластера рабочих станций состоит также в том, что Беовульф работает как одна машина. В большинстве случаев клиентские узлы не имеют клавиатур и мониторов, и могут быть доступны только через удаленное подключение. Узлы Беовульфа могут рассматриваться как элементы процессор+память, которые вставляются в кластер так же как процессор или модуль памяти вставляются в материнскую плату.
Беовульф — это не специфический пакет программ, а новая топология сети или новейшая модификация ядра ОС.
Беовульф — это технология кластеризации компьютеров, работающих под управлением ОС Linux в разновидность параллельного, виртуального суперкомпьютера. Хотя существует много программных пакетов, таких как модификации ядра, библиотеки PVM и MPI и конфигурационные утилиты, которые делают архитектуру Беовульф более быстрой, простой в конфигурировании и эффективной, можно построить машину класса Беовульф, используя только стандартный дистрибутив Linux, без какого либо дополнительного математического обеспечения.
Классификация Беовульф
Системы Беовульф строятся из различных частей. Ради производительности могут применяться некоторые не совсем стандартные компоненты. Язеком Радаевски и Дугласом Эдлайном предложена следующий подход.
Беовульф класса I.
Этот класс машин строится целиком из стандартных деталей, которые продают многие продавцы компьютерных компонент.
Преимущества систем класса I:
q аппаратура доступна из различных источников (низкие цены, простое обслуживание);
q отсутствие зависимости от одного поставщика;
q поддержка драйверов от сообщества Linux;
q обычно основывается на стандартах (SCSI, Ethernet и др.).
Недостатки систем класса I:
q для наилучшей производительности требуется оборудование класса II.
Беовульф класса II.
Это машина, содержащая эксклюзивные или не широко распространенные детали. Надо заметить, что понятие эксклюзивных деталей может зависеть от страны.
Преимущества систем класса II:
q производительность может быть очень хорошей.
Недостатки систем класса II:
q возможны проблемы с поддержкой драйверов;
q зависимость от поставщика аппаратуры;
q более высокая стоимость, чем системы класса I.
Нельзя сказать, что один класс лучше другого. Все зависит от потребностей и имеющегося бюджета.