Кластер Beowulf — это компьютерный кластер из того, что обычно является идентичными, компьютерами товарного класса, объединенными в небольшую локальную сеть с установленными библиотеками и программами, которые позволяют им совместно использовать обработку. Результатом является высокопроизводительный параллельный вычислительный кластер из недорогого оборудования для персональных компьютеров .
Первоначально «Беовульф» относился к конкретному компьютеру, созданному в 1994 году Томасом Стерлингом и Дональдом Беккером в NASA . [1] Они назвали его в честь древнеанглийской эпической поэмы «Беовульф» . [2]
Ни одно конкретное программное обеспечение не определяет кластер как Beowulf. Обычно используется только бесплатное и открытое программное обеспечение , как для экономии средств, так и для возможности настройки. Большинство кластеров Beowulf работают под управлением Unix-подобной операционной системы, такой как BSD , Linux или Solaris . Обычно используемые библиотеки параллельной обработки включают Message Passing Interface (MPI) и Parallel Virtual Machine (PVM). Обе они позволяют программисту разделить задачу между группой сетевых компьютеров и собирать результаты обработки. Примерами программного обеспечения MPI являются Open MPI или MPICH . Доступны и другие реализации MPI.
Системы Beowulf работают по всему миру, в основном для поддержки научных вычислений . С 2017 года каждая система в списке Top500 самых быстрых суперкомпьютеров мира использовала программные методы Beowulf и операционную систему Linux . Однако на этом уровне большинство из них ни в коем случае не являются просто сборками товарного оборудования; для узлов (часто блейд-серверов ), сетей и систем охлаждения часто требуется индивидуальная разработка .
Описание кластера Beowulf из оригинального руководства, опубликованного Яцеком Радаевским и Дугласом Эдлайном в рамках проекта Linux Documentation Project в 1998 году: [3]
Beowulf — это многокомпьютерная архитектура , которая может использоваться для параллельных вычислений . Это система, которая обычно состоит из одного серверного узла и одного или нескольких клиентских узлов, подключенных через Ethernet или какую-либо другую сеть. Это система, построенная с использованием стандартных аппаратных компонентов, таких как любой ПК, способный работать под управлением Unix-подобной операционной системы, со стандартными адаптерами Ethernet и коммутаторами. Она не содержит никаких специальных аппаратных компонентов и является тривиально воспроизводимой. Beowulf также использует стандартное программное обеспечение, такое как операционные системы FreeBSD, Linux или Solaris, параллельная виртуальная машина ( PVM ) и интерфейс передачи сообщений ( MPI ). Серверный узел управляет всем кластером и обслуживает файлы клиентским узлам. Он также является консолью кластера и шлюзом во внешний мир. Большие машины Beowulf могут иметь более одного серверного узла и, возможно, другие узлы, выделенные для определенных задач, например, консоли или станции мониторинга. В большинстве случаев клиентские узлы в системе Beowulf являются тупыми, чем тупее, тем лучше. Узлы настраиваются и контролируются серверным узлом и выполняют только то, что им сказано делать. В конфигурации бездискового клиента клиентский узел даже не знает свой IP-адрес или имя, пока сервер не сообщит ему об этом.
Одно из главных отличий Beowulf от кластера рабочих станций (COW) заключается в том, что Beowulf ведет себя скорее как отдельная машина, а не как множество рабочих станций. В большинстве случаев клиентские узлы не имеют клавиатур или мониторов, и доступ к ним осуществляется только через удаленный вход или, возможно, последовательный терминал. Узлы Beowulf можно рассматривать как пакет ЦП + память, который можно подключить к кластеру, так же как ЦП или модуль памяти можно подключить к материнской плате.
Beowulf — это не специальный программный пакет, новая сетевая топология или последний хак ядра. Beowulf — это технология кластеризации компьютеров для формирования параллельного виртуального суперкомпьютера. Хотя существует множество программных пакетов, таких как модификации ядра, библиотеки PVM и MPI, а также инструменты конфигурации, которые делают архитектуру Beowulf быстрее, проще в настройке и намного более удобной в использовании, можно построить машину класса Beowulf, используя стандартный дистрибутив Linux без какого-либо дополнительного программного обеспечения. Если у вас есть два сетевых компьютера, которые разделяют как минимум файловую
/home
систему через NFS и доверяют друг другу выполнение удаленных оболочек ( rsh ), то можно утверждать, что у вас простая двухузловая машина Beowulf.
По состоянию на 2014 год [update]ряд дистрибутивов Linux и по крайней мере один BSD предназначены для построения кластеров Beowulf. К ним относятся:
Следующие элементы больше не поддерживаются:
Кластер можно настроить с помощью загрузочных компакт-дисков Knoppix в сочетании с OpenMosix . Компьютеры будут автоматически связаны между собой, без необходимости сложных конфигураций, для формирования кластера Beowulf, используя все процессоры и оперативную память в кластере. Кластер Beowulf масштабируется до практически неограниченного числа компьютеров, ограничиваясь только накладными расходами сети.
Подготовка операционных систем и другого программного обеспечения для кластера Beowulf может быть автоматизирована с помощью программного обеспечения, такого как Open Source Cluster Application Resources . OSCAR устанавливается поверх стандартной установки поддерживаемого дистрибутива Linux на головном узле кластера.