Программные пакеты, используемые кластерами Беовульф
Рассмотрим типичный набор математического обеспечения для кластера класса Беовульф на платформе 32-разрядных процессоров Intel.
q Операционная система Red Hat Linux, сконфигурированная как однопроцессорная или многопроцессорная в зависимости от типа узла.
q Рекомендованные заплатки для увеличения стабильности и защиты от вирусов.
q Средства объединения сетевых каналов в один (channel bonding). Данная технология предусматривает установку метадрайвера сетевых карт, который назначает одинаковые MAC-адреса двум и более сетевым картам. Сетевые карты подключены к различным физическим сетям (VLAN). В высокоскоростных сетях не используется из-за ограниченной пропускной способности системной шины компьютера.
q Скрипты параллельного администрирования, управления и тестирования кластера bcs-0.2. Позволяют осуществлять проверку состояния и диагностику узлов кластера, создание и модификацию пользовательских бюджетов на узлах кластера, параллельные операции над файлами, и выполнение операций на всех узлах кластера. Скрипты используют стандартные Unix-утилиты.
q Расширяемые средства параллельного управления большим кластером SCMS (Smile Cluster Management System). SCMS содержит графические средства для администрирования кластера, проверки состояния, конфигурирования, мониторинга.
q Компиляторы с языков Си, Си++, Objective C и Fortran-77, интегрированные в одном продукте. В частности, для компиляции ядра Linux необходим компилятор GNU C. Все продукты GNU распространяются бесплатно.
q Оптимизирующие коммерческие компиляторы с языков Fortran-90, Fortran-77, HPF Fortran, С, С++ фирмы Portland Group, либо компилятор с Fortran-90 фирм Absoft или Intel.
q Коммуникационные библиотекиPVM, MPICH, LAM-MPI. Поддерживают стандарты интерфейсов прикладных программ для передачи сообщений. Чрезвычайно широко используются для параллельного программирования. Для них разработаны средства графического мониторинга XPVM и XMPI. Эффективность коммуникации зависит от реализации библиотек и от используемых протоколов передачи данных.
q Параллельные библиотеки линейной алгебры ScaLAPACK и ATLAS.
q Система анализа и автоматического распараллеливания программ BERT-77. Производит анализ программы на Fortran-77 и, с учетом временных соотношений для выбранного кластера, оценивает эффективность выполнения программы на конкретном оборудовании. Коммерческая версия программы также автоматически создает параллельную программу по выбранной автоматически или вручную схеме.
q Системы очередей. Предназначены для удобного и эффективного использования вычислительных ресурсов кластера при большом количестве пользователей. Используются несколько систем очередей. Наиболее распространенной является OpenPBS (Portable Batch System), так как распространяется бесплатно и имеет поддержку самими пользователями в виде Internet-конференции
Сетевые соединения
Сеть превращает набор компьютеров в кластер. Фактически, сеть является шиной кластера, поэтому ее производительность является решающей для производительности кластера.
По опросу Internet-сайта "Top Cluster Computing Systems" наиболее популярными сетевыми стандартами в кластерах являются: Fast Ethernet (36%), Gigabit Ethernet (24%), Myrinet (24%), SCI (8%) и Giganet (4%).
q Fast Ethernet. Является наиболее дешевым и поэтому самым распространенным стандартом. Обеспечивает скорость передачи данных до 100 Мбит/с, но достаточно высокую латентность. Латентность (зависит от используемой аппаратуры) — от 50 мкс.
q Gigabit Ethernet. Это новый сетевой стандарт с теоретической пиковой скоростью передачи данных до 1 Гбит/с. Существует в двух вариантах: с оптическими проводами и медными.
Оптические позволяют обеспечить большую длину соединения, что для кластеров, как правило, не имеет значения, поэтому разумно использовать более дешевые медные соединения. Как и в случае с Fast Ethernet латентность очень сильно зависит от реализации, однако заметно выше, чем в Myrinet или SCI.
q Myrinet 2000. Разработан фирмой Myricom, и одобрен как один из стандартов ANSI. В этом стандарте посылающий узел заносит весь маршрут в заголовок сообщения, каждый маршрутизатор удаляет первый байт, используемый как адрес порта. Ограничением Myrinet является блокировка пакетов при занятости или недоступности получателя. Пиковая пропускная способность Myrinet 2000 — 2 Гбит/с с очень низкой латентностью (менее 5 мкс). При программировании используются специализированные протоколы, отличные от TCP/IP. При использовании в кластерах показал крайне высокую эффективность, но широкое использование сдерживается высокой ценой.
q SCI(Scalable Coherent Interface). Стандарт изначально создавался для соединения систем с общей памятью. Существуют реализации ЭВМ с общим адресным пространством на основе данной сети. SCI отличается низкой латентностью и хорошей пропускной способностью. Так, выпускаемый фирмой Dolphin Interconnect достигает пропускной способности более 600 Гбит/с при аппаратной латентности менее 5 мкс. Однако, с развитием альтернативных сетевых стандартов c низкой латентностью и высокой пропускной способностью (особенно Myrinet) использование SCI для кластеров сокращается.
q Giganet cLAN. Разработан фирмой Giganet. Пиковая пропускная способность — 1.2 Гбит/с при относительно высокой латентности. После приобретения Giganet компанией Emulex Corporation стали возникать проблемы с поддержкой, в частности отсутствием драйверов для Linux.
q QsNet (Quadrix). Производится фирмой Quadrics Supercomputers World Ltd. Именно эта сеть используется фирмой Compaq для создания быстродействующих кластеров Пиковая пропускная способность каналов — 2.7 Гбит/c в каждом направлении. Латентность — порядка 2 мкс.
Сравнение характеристик сетей дело достаточно сложное и неблагодарное, так как эффективность их использования зависит от конкретной реализации, как аппаратной, так и программной.