Уровень
готовности, %
|
Мaкс.
время простоя
|
Тип
системы
|
99,0
|
3,5
дня в год
|
Обычная (Conventional)
|
99,9
|
8,5
часов в год
|
Высокая надежность (High Availability)
|
99,99
|
1 час
в год
|
99,999
|
5
минут в год
|
Безотказная (Fault Tolerant)
|
Таблица
2.
В отличие от отказоустойчивых
систем с избыточными компонентами, а также различных вариантов
многопроцессорности, кластеры объединяют относительно независимые друг от друга
машины, каждую из которых можно остановить для профилактики или
реконфигурирования, не нарушая при этом работоспособности кластера в целом.
Высокая производительность кластера и сведение к минимуму времени простоев
приложений достигается благодаря тому, что:
·
в случае сбоя ПО на одном из узлов приложение
продолжает функционировать или автоматически перезапускается на других узлах
кластера;
·
выход из строя одного из узлов (или нескольких) не
приведет к краху всей кластерной системы;
·
профилактические и ремонтные работы, реконфигурацию
или смену версий программного обеспечения, как правило, можно осуществлять в
узлах кластера поочередно, не прерывая работы других узлов.
Неотъемлемой частью
кластера является специальное программное обеспечение, которое, собственно, и
решает проблему восстановления узла в случае сбоя, а также решает другие
задачи. Кластерное ПО обычно имеет несколько заранее заданных сценариев
восстановления работоспособности системы, а также может предоставлять
администратору возможности настройки таких сценариев. Восстановление после
сбоев может поддерживаться как для узла в целом, так и для отдельных его
компонентов — приложений, дисковых томов и т.д. Эта функция автоматически
инициируется в случае системного сбоя, а также может быть запущена
администратором, если ему, например, необходимо отключить один из узлов для
реконфигурации.
Кластеры могут
иметь разделяемую память на внешних дисках, как правило, на дисковом массиве
RAID. Дисковый массив RAID — это серверная подсистема ввода- вывода для
хранения данных большого объема. В массивах RAID значительное число дисков
относительно малой емкости используется для хранения крупных объемов данных, а
также для обеспечения более высокой надежности и избыточности. Подобный массив
воспринимается компьютером как единое логическое устройство.
Восстановление
после сбоев может поддерживаться как для узла в целом, так и для отдельных его
компонентов — приложений, дисковых томов и т.д. Эта функция автоматически
инициируется в случае системного сбоя, а также может быть запущена
администратором, если ему, например, необходимо отключить один из узлов для
реконфигурации.
Узлы кластера
контролируют работоспособность друг друга и обмениваются специфической
«кластерной» информацией, например, о конфигурации кластера, а также передавать
данные между разделяемыми накопителями и координировать их использование.
Контроль работоспособности осуществляется с помощью специального сигнала,
который узлы кластера передают друг другу, для того чтобы подтвердить свое
нормальное функционирование. Прекращение подачи сигналов с одного из узлов
сигнализирует кластерному программному обеспечению о произошедшем сбое и
необходимости перераспределить нагрузку на оставшиеся узлы. В качестве примера
рассмотрим отказоустойчивый кластер VAX/VMS.
Кластера VAX/VMS
Компания DEC первой
анонсировала концепцию кластерной системы в 1983 году, определив ее как группу
объединенных между собой вычислительных машин, представляющих собой единый узел
обработки информации. По существу VAX-кластер представляет собой слабосвязанную
многомашинную систему с общей внешней памятью, обеспечивающую единый механизм управления
и администрирования.
VAX-кластер
обладает следующими свойствами:
Разделение
ресурсов. Компьютеры VAX в кластере могут разделять
доступ к общим ленточным и дисковым накопителям. Все компьютеры VAX в кластере
могут обращаться к отдельным файлам данных как к локальным.
Высокая
готовность. Если происходит отказ одного из
VAX-компьютеров, задания его пользователей автоматически могут быть перенесены
на другой компьютер кластера. Если в системе имеется несколько контроллеров HSC
и один из них отказывает, другие контроллеры HSC автоматически подхватывают его
работу.
Высокая
пропускная способность. Ряд прикладных систем могут
пользоваться возможностью параллельного выполнения заданий на нескольких
компьютерах кластера.
Удобство
обслуживания системы. Общие базы данных могут
обслуживаться с единственного места. Прикладные программы могут
инсталлироваться только однажды на общих дисках кластера и разделяться между
всеми компьютерами кластера.
Расширяемость. Увеличение вычислительной мощности кластера достигается подключением
к нему дополнительных VAX-компьютеров. Дополнительные накопители на магнитных
дисках и магнитных лентах становятся доступными для всех компьютеров, входящих
в кластер.
Работа VAX-кластера
определяется двумя главными компонентами. Первым компонентом является
высокоскоростной механизм связи, а вторым - системное программное обеспечение,
которое обеспечивает клиентам прозрачный доступ к системному сервису. Физически
связи внутри кластера реализуются с помощью трех различных шинных технологий с
различными характеристиками производительности.
Основные методы
связи в VAX-кластере представлены на рис. 4.
Рис.
4 VAX/VMS-кластер
Шина связи
компьютеров CI (Computer Interconnect) работает со скоростью 70 Мбит/с и
используется для соединения компьютеров VAX и контроллеров HSC с помощью
коммутатора Star Coupler. Каждая связь CI имеет двойные избыточные линии, две
для передачи и две для приема, используя базовую технологию CSMA, которая для
устранения коллизий использует специфические для данного узла задержки.
Максимальная длина связи CI составляет 45 метров. Звездообразный коммутатор
Star Coupler может поддерживать подключение до 32 шин CI, каждая из которых
предназначена для подсоединения компьютера VAX или контроллера HSC. Контроллер
HSC представляет собой интеллектуальное устройство, которое управляет работой
дисковых и ленточных накопителей.
Компьютеры VAX
могут объединяться в кластер также посредством локальной сети
Ethernet, используя
NI - Network Interconnect (так называемые локальные VAX-кластеры), однако
производительность таких систем сравнительно низкая из-за необходимости делить
пропускную способность сети Ethernet между компьютерами кластера и другими
клиентами сети.
Также кластера
могут стоиться на основе шины DSSI (Digital Storage System Interconnect). На
шине DSSI могут объединяться до четырех компьютеров VAX нижнего и среднего
класса. Каждый компьютер может поддерживать несколько адаптеров DSSI. Отдельная
шина DSSI работает со скоростью 4 Мбайт/с (32 Мбит/с) и допускает подсоединение
до 8 устройств. Поддерживаются следующие типы устройств: системный адаптер
DSSI, дисковый контроллер серии RF и ленточный контроллер серии TF. DSSI
ограничивает расстояние между узлами в кластере 25 метрами.
Системное
программное обеспечение VAX-кластеров
Для гарантии
правильного взаимодействия процессоров друг с другом при обращениях к общим
ресурсам, таким, например, как диски, компания DEC использует распределенный
менеджер блокировок DLM (Distributed Lock Manager). Очень важной функцией DLM
является обеспечение когерентного состояния дисковых кэшей для операций
ввода/вывода операционной системы и прикладных программ. Например, в
приложениях реляционных СУБД DLM несет ответственность за поддержание
согласованного состояния между буферами базы данных на различных компьютерах
кластера.
Задача поддержания
когерентности кэш-памяти ввода/вывода между процессорами в кластере подобна
задаче поддержания когерентности кэш-памяти в сильно связанной
многопроцессорной системе, построенной на базе некоторой шины. Блоки данных
могут одновременно появляться в нескольких кэшах и если один процессор
модифицирует одну из этих копий, другие существующие копии не отражают уже
текущее состояние блока данных. Концепция захвата блока (владения блоком)
является одним из способов управления такими ситуациями. Прежде чем блок может
быть модифицирован должно быть обеспечено владение блоком.
Работа с DLM
связана со значительными накладными расходами. Накладные расходы в среде
VAX/VMS могут быть большими, требующими передачи до шести сообщений по шине CI
для одной операции ввода/вывода. Накладные расходы могут достигать величины 20%
для каждого процессора в кластере.
Высокопроизводительные кластеры
Принципы построения
Архитектура высокопроизводительных кластеров появилась как развитие принципов
построения систем MPP на менее производительных и массовых компонентах,
управляемых операционной ситемой общего назначения. Кластеры также как и MPP
системы состоят из слабосвязанных узлов, которые могут быть как однородными,
так и, в отличие от MPP, различными или гетерогенными. Особое внимание при
проектировании высокопроизводительной кластерной архутектуры уделяется
обеспечению высокой эффективности коммуникационной шины, связывающей узлы
кластера. Так как в кластерах нередко применяются массовые относительно
низкопроизводительные шины, то приходится принимать ряд мер по исключению их
низкой пропускной способности на производительность кластеров и организацию
эффективного распараллеливания в кластере. Так например пропускная
способность одной из самых высокоскоростных технологий Fast Ethernet на порядки
ниже, чем у межсоединений в современных суперкомпьютерах МРР-архитектуры.
Для решения проблем низкой
производительности сети применяют несколько методов:
-
кластер разделяется на несколько сегментов, в
пределах которых узлы соединены высокопроизводительной шиной типа Myrinet, а связь между узлами разных сегментов осуществляется низкопроизводительными
сетями типа Ethernet/Fast Ethernet. Это позволяет вместе с
сокращением расходов на коммуникационную среду существенно повысить
производительность таких кластеров при решении задач с интенсивным обменом
данными между процессами.
-
применение так называемого «транкинга», т.е. объединение нескольких
каналов Fast Ethernet в один общий скоростной канал, соединяющий несколько
коммутаторов. Очевидным недостатком такого подхода является «потеря» части
портов, задействованных в межсоединении коммутаторов.
-
для повышения производительности создаются специальные
протоколы обмена информацией по таким сетям, которые позволяют более эффективно
использовать пропускную способность каналов и снимают некоторые ограничения
накладываемые стандартными протоколами (TCP/IP,IPX). Такой
метод часто используют в ситемах класса Beowulf.
Основным качеством, которым
должен обладать высокопроизводительный кластер являтся горизонтальная
масштабируемость, так как одним из главных преимуществ, которые предоставляет
кластерная архитектура является возможность наращивать мощность существующей
системы за счет простого добавления новых узлов в систему. Причем увеличение
мощности происходит практически пропорционально мощности добавленных ресурсов и
может производиться без остановки системы во время ее функционирования. В системах
с другой архитектурой (в частности MPP) обычно возможна только вертикальная
масштабируемость: добавление памяти, увеличение числа процессоров
в многопроцессорных системах или добавление новых адаптеров или дисков. Оно
позволяет временно улучшить производительность системы. Однако в системе будет
установлено максимальное поддерживаемое количество памяти, процессоров или
дисков, системные ресурсы будут исчерпаны, и для увеличеия
производительности придется создавать новую систему или существенно перерабатывать
старую. Кластерная система также допускает вертикальную масштабируемость. Таким образом, за счет вертикального и горизонтального масштабирования
кластерная модель обеспечивает большую гибкость и простоту увеличения
производительности систем.
Проект Beowulf
Beowulf - это скандинавский
эпос, повествующий о событиях VII - первой трети VIII века, участником которых
является одноименный герой, прославивший себя в сражениях.
Одним из примеров
реализации кластерной системы такой структуры являются кластеры Beowulf. Проект
Beowulf объединил около полутора десятков организаций (главным образом
университетов) в Соединенных Штатах. Ведущие разработчики проекта - специалисты
агентства NASA. В данном виде кластеров можно выделить следующие основные
особенности:
-
кластер Beowulf состоит из нескольких отдельных
узлов, объединенных в общую сеть, общие ресурсы узлами кластера не
используются;
-
оптимальным считается построение кластеров на базе
двухпроцессорных SMP систем;
-
для уменьшения накладных расходов на взаимодействие
между узлами применяют полнодуплексный 100 MB Fast Ethernet (реже используют
SCI), создают несколько сетевых сегментов или соединяют узлы кластера через
коммутатор;
-
в качестве программного обеспечения применяют ОС Linux, и
бесплатно распространяемые коммуникационные библиотеки (PVM и MPI);
Также
История проекта Beowulf
Проект начался
летом 1994 года в научно-космическом центре NASA - Goddard Space Flight Center
(GSFC), точнее в созданном на его основе CESDIS (Center of Excellence in Space Data and Information
Sciences).
Первый
Beowulf-кластер был создан на основе компьютеров Intel архитектуры под ОС
Linux. Это была система, состоящая из 16 узлов (на процессорах 486DX4/100MHz,
16MB памяти и 3 сетевых адаптера на каждом узле, 3 "параллельных"
Ethernet-кабеля по 10Mbit). Он создавался как вычислительный ресурс проекта
"Earth and
Space Sciences Project" (ESS).
Далее в GSFC и
других подразделениях NASA были собраны другие, более мощные кластеры.
Например, кластер theHIVE
(Highly-parallel Integrated Virtual Environment) содержит 64 узла по 2
процессора Pentium Pro/200MHz и 4GB памяти в каждом, 5 коммутаторов Fast Ethernet.
Общая стоимость этого кластера составляет примерно $210 тыс. В рамках проекта
Beowulf был разработан ряд высокопроизводительных и специализированных сетевых драйверов
(в частности, драйвер для использования нескольких Ethernet-каналов
одновременно).
Архитектура Beowulf
Узлы
кластера.
Это или однопроцессорные
ПК, или SMP-сервера с небольшим числом процессоров (2-4, возможно до 6). По
некоторым причинам оптимальным считается построение кластеров на базе двухпроцессорных систем,
несмотря на то, что в этом случае настройка кластера будет несколько сложнее (главным
образом потому, что доcтупны относительно недорогие материнские платы для 2
процессоров Pentium II/III). Стоит установить на каждый
узел 64-128MB оперативной памяти (для двухпроцессорных систем 64-256MB).
Одну из машин
следует выделить в качестве центральной
(головной) куда следует установить достаточно большой жесткий диск,
возможно более мощный процессор и больше памяти, чем на остальные (рабочие)
узлы. Имеет смысл обеспечить (защищенную) связь этой машины с внешним миром.
При комплектации рабочих узлов вполне возможно
отказаться от жестких дисков - эти узлы будут загружать ОС через сеть с
центральной машины, что, кроме экономии средств, позволяет сконфигурировать ОС
и все необходимое ПО только 1 раз (на центральной машине). Если эти узлы не
будут одновременно использоваться в качестве пользовательских рабочих мест, нет
необходимости устанавливать на них видеокарты и мониторы. Возможна установка
узлов в стойки (rackmounting), что позволит уменьшить место, занимаемое узлами,
но будет стоить несколько дороже.
Возможна
организация кластеров на базе уже существующих сетей рабочих станций, т.е.
рабочие станции пользователей могут использоваться в качестве узлов кластера
ночью и в выходные дни. Системы такого типа иногда называют COW (Cluster of
Workstations).
Количество узлов
следует выбирать исходя из необходимых вычислительных ресурсов и доступных
финансовых средств. Следует понимать, что при большом числе узлов придется
также устанавливать более сложное и дорогое сетевое оборудование.
Сеть
Основные типы
локальных сетей, задействованные в рамках проекта Beowulf, - это Gigabit
Ethernet, Fast Ethernet и 100-VG AnyLAN. В простейшем случае используется один
сегмент Ethernet (10Mbit/sec на витой паре). Однако дешевизна такой сети,
вследствие коллизий оборачивается большими накладными расходами на
межпроцессорные обмены; а хорошую производительность такого кластера следует
ожидать только на задачах с очень простой параллельной структурой и при очень
редких взаимодействиях между процессами (например, перебор вариантов).
Для получения
хорошей производительности межпроцессорных обменов используют полнодуплексный Fast Ethernet
на 100Mbit/sec. При этом для уменьшения числа коллизий или устанавливают
несколько "параллельных" сегментов Ethernet, или соединяют узлы
кластера через коммутатор
(switch).
Более
дорогостоящим, но также популярным вариантом являются использование
коммутаторов типа Myrinet
(1.28Gbit/sec, полный дуплекс).
Менее популярными,
но также реально используемыми при построении кластеров сетевыми технологиями
являются технологии сLAN,
SCI и Gigabit Ethernet.
Иногда для связи
между узлами кластера используют параллельно несколько физичеких каналов связи
- так называемое «связывание каналов» (channel bonding), которое обычно
применяется для технологии Fast Ethernet. При этом каждый узел
подсоединяется к коммутатору Fast Ethernet более чем одним каналом. Чтобы
достичь этого, узлы оснащаются либо несколькими сетевыми платами, либо
многопортовыми платами Fast Ethernet. Применение связывания каналов в узлах под
управлением ОС Linux позволяет организовать равномерное распределение нагрузки
приема/передачи между соответствующими каналами.
Системное ПО
Операционная
система. Обычно используется система Linux в
версиях, специально оптимизированных под распределенные параллельные
вычисления. Была проведена доработку ядра Linux 2.0. В процессе построения
кластеров выяснилось, что стандартные драйверы сетевых устройств в Linux весьма
неэффективны. Поэтому были разработаны новые драйверы, в первую очередь для
сетей Fast Ethernet и Gigabit Ethernet, и обеспечена возможность логического
объединения нескольких параллельных сетевых соединений между персональными
компьютерами (аналогично аппаратному связыванию каналов) , что позволяет из
дешевых локальных сетей, обладающих низкой пропускной способностью, соорудить
сеть с высокой совокупной пропускной способностью.
Как и в любом
кластере, на каждом узле кластера исполняется своя копия ядра ОС. Благодаря
доработкам обеспечена уникальность идентификаторов процессов в рамках всего
кластера, а не отдельных узлов.
Коммуникационные
библиотеки. Наиболее распространенным интерфейсом
параллельного программирования в модели передачи сообщений является MPI. Рекомендуемая бесплатная реализация MPI -
пакет MPICH, разработанный в Аргоннской Национальной
Лаборатории. Для кластеров на базе коммутатора Myrinet разработана система HPVM, куда также входит реализация MPI.
Для эффективной
организации параллелизма внутри одной SMP-cистемы возможны два варианта:
1.
Для каждого процессора в SMP-машине порождается
отдельный MPI-процесс. MPI-процессы внутри этой системы обмениваются
сообщениями через разделяемую память (необходимо настроить MPICH
соответствующим образом).
2.
На каждой машине запускается только один
MPI-процесс. Внутри каждого MPI-процесса производится распараллеливание в
модели "общей памяти", например с помощью директив OpenMP.
После установки
реализации MPI имеет смысл протестировать реальную
производительность сетевых пересылок.
Пример реализации кластера Beowulf - Avalon
В 1998 году в
Лос-аламосской национальной лаборатории астрофизик Michael Warren и другие ученые из
группы теоретической астрофизики построили суперкомпьютер Avalon,
который представляет из себя Beowulf -кластер на базе
процессоров DEC Alpha/533MHz. Avalon первоначально состоял из 68 процессоров,
затем был расширен до 140. В каждом узле установлено 256MB оперативной памяти,
EIDE-жесткий диск на 3.2GB, сетевой адаптер от Kingston (общая стоимость узла -
$1700). Узлы соединены с помощью 4-х 36-портовых коммутаторов Fast Ethernet
и расположенного "в центре" 12-портового коммутатора Gigabit Ethernet
от 3Com.
Общая стоимость
Avalon - $313 тыс., а
его производительность по LINPACK (47.7
GFLOPS) позволила ему занять 114 место в 12-й редакции списка Top500
(рядом с 152-процессорной системой IBM SP2). 70-процессорная конфигурация
Avalon по многим тестам показала такую же производительность, как
64-процессорная система SGI Origin2000/195MHz стоимость которой превышает $1 млн.
В настоящее время
Avalon активно используется в астрофизических, молекулярных и других научных вычислениях.
На конференции SC'98 создатели Avalon
представили доклад, озаглавленный "Avalon: An Alpha/Linux Cluster Achieves 10 Gflops
for $150k" и заслужили премию по показателю
цена/производительность ("1998 Gordon Bell Price/Performance Prize").
Заключение
Ведущие
производители микропроцессоров: Sun Microsystems, Dell и IBM придерживаются
одинаковой точки зрения на будущее отрасли суперкомпьютеров: на смену
отдельным, независимым суперкомпьютерам должны прийти группы
высокопроизводительных серверов, объединяемых в кластер. Уже сегодня
распределенные кластерные системы опережают современные классические
суперкомпьютеры по производительности: самый мощный
на сегодняшний день компьютер в мире — IBM ASCI White — обладает
производительностью в 12 ТераФЛОП, производительность сети SETI@Home
оценивается примерно в 15 ТераФЛОП. При этом, IBM ASCI White был продан за 110
миллионов долларов, а за всю историю существования SETI@Home было потрачено
около 500 тысяч долларов.
Проанализировав
итоги работ, выполненных в рамках проекта Beowulf, можно прийти к следующему
выводу: найденные решения позволяют самостоятельно собрать
высокопроизводительный кластер на базе стандартных для ПК компонентов и
использовать обычное программное обеспечение. Среди самых крупных экземпляров
нельзя не отметить 50-узловой кластер в CESDIS, включающий 40 узлов обработки
данных (на базе одно- и двухпроцессорных плат Рentium Рro/200 МГц) и 10
масштабирующих узлов (двухпроцессорная плата Рentium Рro/166 МГц). Соотношение
стоимость/пиковая производительность в таком кластере представляется очень
удачным. Вопрос в том, насколько эффективно удается распараллелить приложения -
иными словами, какова будет реальная, а не пиковая производительность. Над
решением этой проблемы сейчас и работают участники проекта.
Литература
1.
#"_Hlt528589455">12.shtml
2.
#"#">#"#">#"#">#"#">#"#">#"#">#"1.files/image006.gif">
MIMD архитектуры далее классифицируются в
зависимости от физической организации памяти, то есть имеет ли процессор свою
собственную локальную память и обращается к другим блокам памяти, используя
коммутирующую сеть, или коммутирующая сеть подсоединяет все процессоры к
общедоступной памяти. Исходя из организации памяти, различают следующие типы
параллельных архитектур:
·
Компьютеры с распределенной памятью (Distributed memory)
Процессор может обращаться к локальной памяти, может посылать и получать
сообщения, передаваемые по сети, соединяющей процессоры. Сообщения используются
для осуществления связи между процессорами или, что эквивалентно, для чтения и
записи удаленных блоков памяти. В идеализированной сети стоимость посылки
сообщения между двумя узлами сети не зависит как от расположения обоих узлов,
так и от трафика сети, но зависит от длины сообщения.
·
Компьютеры с общей (разделяемой) памятью (True shared memory)
Все процессоры совместно обращаются к общей памяти, обычно, через шину или
иерархию шин. В идеализированной PRAM (Parallel Random Access Machine -
параллельная машина с произвольным доступом) модели, часто используемой в
теоретических исследованиях параллельных алгоритмов, любой процессор может
обращаться к любой ячейке памяти за одно и то же время. На практике
масштабируемость этой архитектуры обычно приводит к некоторой форме иерархии
памяти. Частота обращений к общей памяти может быть уменьшена за счет
сохранения копий часто используемых данных в кэш-памяти, связанной с каждым
процессором. Доступ к этому кэш-памяти намного быстрее, чем непосредственно
доступ к общей памяти.
·
Компьютеры с виртуальной общей (разделяемой)
памятью (Virtual shared memory)
Общая память как таковая отсутствует. Каждый процессор имеет собственную
локальную память и может обращаться к локальной памяти других процессоров, используя
"глобальный адрес". Если "глобальный адрес" указывает не на
локальную память, то доступ к памяти реализуется с помощью сообщений,
пересылаемых по коммуникационной сети.
Примером машин с общей памятью могут служить:
·
Sun Microsystems
(многопроцессорные рабочие станции)
·
Silicon Graphics Challenge (многопроцессорные
рабочие станции)
·
Sequent Symmetry
·
Convex
·
Cray 6400.
Следующие компьютеры относятся к классу машин
с распределенной памятью
·
IBM-SP1/SP2
·
Parsytec GC
·
CM5 (Thinking Machine Corporation)
·
Cray T3D
·
Paragon (Intel Corp.)
·
KSR1
·
nCUBE
·
Meiko CS-2
·
AVX (Alex Parallel Computers)
·
IMS B008
MIMD архитектуры с распределенной памятью
можно так же классифицировать по пропускной способности коммутирующей сети.
Например, в архитектуре, в которой пары из процессора и модуля памяти
(процессорный элемент) соединены сетью с топологий реш§тка, каждый
процессор имеет одно и то же число подключений к сети вне зависимости от числа
процессоров компьютера. Общая пропускная способность такой сети растет линейно
относительно числа процессоров. С другой стороны в архитектуре, имеющей сеть с
топологий гиперкуб, число соединений процессора с сетью является
логарифмической функцией от числа процессоров, а пропускная способность сети
растет быстрее, чем линейно по отношению к числу процессоров. В топологии клика
каждый процессор должен быть соединен со всеми другими процессорами.
Сеть с топологией 2D реш§тка(тор)
Сеть с
топологией 2D тор
Сеть с топологией клика
Национального
Центра Суперкомпьютерных Приложений (университет шт. Иллинойс,
Urbana-Champaign)
MPI: The Message Passing Interface
Название "интерфейс передачи
сообщений", говорит само за себя. Это хорошо стандартизованный механизм
для построения параллельных программ в модели обмена сообщениями. Существуют
стандартные "привязки" MPI к языкам С/С++, Fortran 77/90. Существуют
бесплатные и коммерческие реализации почти для
всех суперкомпьютерных платформ, а также для сетей рабочих станций UNIX и Windows
NT. В настоящее время MPI - наиболее широко используемый и динамично
развивающийся интерфейс из своего класса.
Beowulf -
кластеры на базе ОС Linux
Михаил Кузьминский
"Открытые
системы"
На
пороге тысячелетий мы имеем все шансы стать свидетелями монополизации
компьютерной индустрии, которая может охватить как микропроцессоры, так и
операционные системы. Конечно же, речь идет о микропроцессорах от Intel (Merced
грозит вытеснить процессоры архитектуры RISC) и ОС от Microsoft.
В обоих случаях успех во многом определяется
мощью маркетинговой машины, а не только "потребительскими" свойствами
выпускаемых продуктов. По моему мнению, компьютерное сообщество еще не осознало
масштабов возможных последствий.
Некоторые специалисты сопоставляют
потенциальную монополизацию компьютерного рынка с наблюдавшимся в 70-е годы
монопольным господством IBM - как в области мэйнфреймов, так и операционных
систем. Я долгое время работаю с этой техникой и по мере распространения в
нашей стране ОС Unix все больше осознаю многие преимущества операционной
системы MVS производства IBM. Тем не менее я разделяю распространенную точку
зрения, что подобная монополия не способствовала ускорению прогресса.
Западные университеты, которые в свое время
одними из первых перешли к использованию Unix, по-прежнему в своих
перспективных разработках опираются на эту систему, причем в качестве платформы
все чаще избирается Linux. Одной из поучительных академических разработок и
посвящена эта статья.
Linux как общественное явление
Мы уже не удивляемся тому, что Linux cтала
заметным явлением компьютерной жизни. В сочетании с богатейшим набором свободно
распространяемого программного обеспечения GNU эта операционная система стала
чрезвычайно популярна у некоммерческих пользователей как у нас, так и за рубежом.
Ее популярность все возрастает. Версии Linux существуют не только для платформы
Intel x86, но и для других процессорных архитектур, в том числе DEC Alрha, и
широко используются для приложений Internet, а также выполнения задач
расчетного характера. Одним словом, Linux стала своеобразной "народной
операционной системой". Hельзя, впрочем, сказать, что у Linux нет слабых
мест; одно из них - недостаточная поддержка SMР-архитектур.
Самый дешевый способ нарастить компьютерные
ресурсы, в том числе вычислительную мощность, - это построить кластер.
Массивно-параллельные суперкомпьютеры с физически и логически распределенной
оперативной памятью также можно рассматривать как своеобразные кластеры.
Наиболее яркий пример такой архитектуры - знаменитый компьютер IBM SР2.
Весь вопрос в том, что связывает компьютеры
(узлы) в кластер. В "настоящих" суперкомпьютерах для этого
используется специализированная и поэтому дорогая аппаратура, призванная
обеспечить высокую пропускную способность. В кластерах, как правило, применяются
обычные сетевые стандарты - Ethernet, FDDI, ATM или HiРРI.
Кластерные технологии с использованием
операционной системы Linux начали развиваться несколько лет назад и стали
доступны задолго до появления Wolfрack для Windows NT. Так в середине 90-х годов
и возник проект Beowulf.
Герой эпической поэмы
"Беовульф" - это скандинавский эпос,
повествующий о событиях VII - первой трети VIII века, участником которых
является одноименный герой, прославивший себя в сражениях. Неизвестно,
задумывались ли авторы проекта, с кем ныне будет сражаться Beowulf (вероятно, с
Windows NT?), однако героический образ позволил объединить в консорциум около
полутора десятков организаций (главным образом университетов) в Соединенных
Штатах. Нельзя сказать, что среди участников проекта доминируют
суперкомпьютерные центры, однако кластеры "Локи" и
"Мегалон" установлены в таких известных в мире высокопроизводительных
вычислений центрах, как Лос-Аламос и лаборатория Sandia Министерства энергетики
США; ведущие разработчики проекта - специалисты агентства NASA. Вообще, все без
исключения кластеры, созданные участниками проекта, получают громкие имена.
Кроме Beowulf, известна еще одна близкая
кластерная технология - NOW. В NOW персональные компьютеры обычно содержат
информацию о самих себе и поставленных перед ними задачах, а в обязанности
системного администратора такого кластера входит формирование данной
информации. Кластеры Beowulf в этом отношении (то есть с точки зрения
системного администратора) проще: там отдельные узлы не знают о конфигурации
кластера. Лишь один выделенный узел содержит информацию о конфигурации; и
только он имеет связь по сети с внешним миром. Все остальные узлы кластера
объединены локальной сетью, и с внешним миром их связывает только
"тоненький мостик" от управляющего узла.
Узлами в технологии Beowulf являются
материнские платы ПК. Обычно в узлах задействованы также локальные жесткие
диски. Для связи узлов используются стандартные типы локальных сетей. Этот
вопрос мы рассмотрим ниже, сначала же остановимся на программном обеспечении.
Его основу в Beowulf составляет обычная
коммерчески доступная ОС Linux, которую можно приобрести на CD-ROM. Первое
время большинство участников проекта ориентировались на компакт-диски,
издаваемые Slackware, а сейчас предпочтение отдаетcя версии RedHat.
В обычной ОС Linux можно инсталлировать
известные средства распараллеливания в модели обмена сообщениями (LAM MРI 6.1,
РVM 3.3.11 и другие). Можно также воспользоваться стандартом р-threads и
стандартными средствами межпроцессорного взаимодействия, входящими в любую ОС
Unix System V. В рамках проекта Beowulf были выполнены и серьезные
дополнительные разработки.
Прежде всего следует отметить доработку ядра
Linux 2.0. В процессе построения кластеров выяснилось, что стандартные драйверы
сетевых устройств в Linux весьма неэффективны. Поэтому были разработаны новые
драйверы (автор большинства разработок - Дональд Бекер), в первую очередь для
сетей Fast Ethernet и Gigabit Ethernet, и обеспечена возможность логического
объединения нескольких параллельных сетевых соединений между персональными
компьютерами, что позволяет из дешевых локальных сетей, обладающих более чем
скромной скоростью, соорудить сеть с высокой совокупной пропускной
способностью.
Как и во всяком кластере, в каждом узле живет
своя копия ядра ОС. Благодаря доработкам обеспечена уникальность
идентификаторов процессов в рамках всего кластера, а не отдельных узлов, а
также "удаленная доставка" сигналов ОС Linux.
Кроме того, надо отметить функции загрузки по
сети (netbooting) при работе с материнскими платами Intel РR 440FX, причем они
могут применяться и для работы с другими материнскими платами, снабженными AMI
BIOS.
Очень интересные возможности предоставляют
механизмы сетевой виртуальной памяти (Network Virtual Memory) или разделяемой
распределенной памяти DSM (Distributed Shared Memory), позволяющие создать для
процесса определенную "иллюзию" общей оперативной памяти узлов.
Сеть - дело тонкое
Поскольку для распараллеливания
суперкомпьютерных приложений вообще, и кластерных в частности, необходима
высокая пропускная способность и низкие задержки для обмена сообщениями между
узлами, сетевые характеристики становятся параметрами, определяющими
производительность кластера. Выбор микропроцессоров для узлов очевиден - это
стандартные процессоры производства Intel; а вот с топологией кластера, типом
сети и сетевых плат можно поэкспериментировать. Именно в этой области и
проводились основные исследования.
При анализе различных сетевых плат ПК,
представленных сегодня на рынке, особое внимание было уделено таким
характеристикам, как эффективная поддержка широковещательной рассылки
(multicasting), поддержка работы с пакетами больших размеров и т. д. Основные
типы локальных сетей, задействованные в рамках проекта Beowulf, - это Gigabit
Ethernet, Fast Ethernet и 100-VG AnyLAN. (Возможности ATM-технологии также
активно исследовались, но, насколько известно автору, это делалось вне рамок
данного проекта.)
Как самому собрать суперкомпьютер
Проанализировав итоги работ, выполненных в
рамках проекта Beowulf, можно прийти к следующему выводу: найденные решения
позволяют самостоятельно собрать высокопроизводительный кластер на базе
стандартных для ПК компонентов и использовать обычное программное обеспечение.
Среди самых крупных экземпляров нельзя не отметить 50-узловой кластер в CESDIS,
включающий 40 узлов обработки данных (на базе одно- и двухпроцессорных плат
Рentium Рro/200 МГц) и 10 масштабирующих узлов (двухпроцессорная плата Рentium
Рro/166 МГц). Соотношение стоимость/пиковая производительность в таком кластере
представляется очень удачным. Вопрос в том, насколько эффективно удается
распараллелить приложения - иными словами, какова будет реальная, а не пиковая
производительность. Над решением этой проблемы сейчас и работают участники
проекта.
Следует отметить, что построение кластеров из
обычных ПК становится сегодня достаточно модным в научной среде. Некоторые
академические институты в нашей стране также планируют создать подобные
кластеры.
При объединении в
кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных)
кластерах. Узлы кластера могут одновременно использоваться в качестве
пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть
существенно облегчены и/или установлены в стойку.
История развития кластерной архитектуры.
Компания DEC первой
анонсировала концепцию кластерной системы в 1983 году, определив ее как группу
объединенных между собой вычислительных машин, представляющих собой единый узел
обработки информации.
Один из первых
проектов, давший имя целому классу параллельных систем – кластеры Beowulf [2] –
возник в центре NASA Goddard Space Flight Center для поддержки необходимыми
вычислительными ресурсами проекта Earth and Space Sciences. Проект Beowulf
стартовал летом 1994 года, и вскоре был собран 16-процессорный кластер на
процессорах Intel 486DX4/100 МГц. На каждом узле было установлено по 16 Мбайт
оперативной памяти и по 3 сетевых Ethernet-адаптера. Для работы в такой
конфигурации были разработаны специальные драйверы, распределяющие трафик между
доступными сетевыми картами.
Позже в GSFC был
собран кластер theHIVE – Highly-parallel Integrated Virtual Environment [3],
структура которого показана на рис. 2. Этот кластер состоит из четырех
подкластеров E, B, G, и DL, объединяя 332 процессора и два выделенных
хост-узла. Все узлы данного кластера работают под управлением RedHat Linux.
Рис. 5
В 1998 году в
Лос-Аламосской национальной лаборатории астрофизик Майкл Уоррен и другие ученые
из группы теоретической астрофизики построили суперкомпьютер Avalon, который
представляет собой Linux-кластер на базе процессоров Alpha 21164A с тактовой
частотой 533 МГц. Первоначально Avalon состоял из 68 процессоров, затем был
расширен до 140. В каждом узле установлено по 256 Мбайт оперативной памяти,
жесткий диск на 3 Гбайт и сетевой адаптер Fast Ethernet. Общая стоимость
проекта Avalon составила 313 тыс. долл., а показанная им производительность на
тесте LINPACK – 47,7 GFLOPS, позволила ему занять 114 место в 12-й редакции
списка Top500 рядом с 152-процессорной системой IBM RS/6000 SP. В том же 1998
году на самой престижной конференции в области высокопроизводительных
вычислений Supercomputing’98 создатели Avalon представили доклад «Avalon: An
Alpha/Linux Cluster Achieves 10 Gflops for $150k», получивший первую премию в
номинации «наилучшее отношение цена/производительность».
В апреле текущего
года в рамках проекта AC3 в Корнелльском Университете для биомедицинских
исследований был установлен кластер Velocity+, состоящий из 64 узлов с двумя
процессорами Pentium III/733 МГц и 2 Гбайт оперативной памяти каждый и с общей
дисковой памятью 27 Гбайт. Узлы работают под управлением Windows 2000 и
объединены сетью cLAN компании Giganet.
Проект Lots of
Boxes on Shelfes [4] реализован в Национальном Институте здоровья США в апреле
1997 года и интересен использованием в качестве коммуникационной среды
технологии Gigabit Ethernet. Сначала кластер состоял из 47 узлов с двумя
процессорами Pentium Pro/200 МГц, 128 Мбайт оперативной памяти и диском на 1,2
Гбайт на каждом узле. В 1998 году был реализован
следующий этап
проекта – LoBoS2, в ходе которого узлы были преобразованы в настольные
компьютеры с сохранением объединения в кластер. Сейчас LoBoS2 состоит из 100
вычислительных узлов, содержащих по два процессора Pentium II/450 МГц, 256
Мбайт оперативной и 9 Гбайт дисковой памяти. Дополнительно к кластеру
подключены 4 управляющих компьютера с общим RAID-массивом емкостью 1,2 Тбайт.
Одной из последних кластерных
разработок стал суперкомпьютер AMD Presto III, представляющий собой
кластер Beowulf из 78 процессоров Athlon. Компьютер установлен в Токийском
Технологическом Институте. На сегодняшний день AMD построила 8 суперкомпьютеров,
объединенных в кластеры по методу Beowulf, работающих под управлением ОС Linux.
Кластеры IBM
RS/6000
Компания IBM
предлагает несколько типов слабо связанных систем на базе RS/6000, объединенных
в кластеры и работающих под управлением программного продукта High-Availability
Clastered Multiprocessor/6000 (HACMP/6000).
Узлы кластера
работают параллельно, разделяя доступ к логическим и физическим ресурсам
пользуясь возможностями менеджера блокировок, входящего в состав HACMP/6000.
Начиная с объявления
в 1991 году продукт HACMP/6000 постоянно развивался. В его состав были включены
параллельный менеджер ресурсов, распределенный менеджер блокировок и
параллельный менеджер логических томов, причем последний обеспечил возможность
балансировки загрузки на уровне всего кластера. Максимальное количество узлов в
кластере возросло до восьми. В настоящее время в составе кластера появились
узлы с симметричной многопроцессорной обработкой, построенные по технологии
Data Crossbar Switch, обеспечивающей линейный рост производительности с
увеличением числа процессоров.
Кластеры RS/6000
строятся на базе локальных сетей Ethernet, Token Ring или FDDI и могут быть
сконфигурированы различными способами с точки зрения обеспечения повышенной
надежности:
·
Горячий резерв или простое переключение в случае
отказа. В этом режиме активный узел выполняет прикладные задачи, а резервный
может выполнять некритичные задачи, которые могут быть остановлены в случае
необходимости переключения при отказе активного узла.
·
Симметричный резерв. Аналогичен горячему резерву,
но роли главного и резервного узлов не фиксированы.
·
Взаимный подхват или режим с распределением
нагрузки. В этом режиме каждый узел в кластере может "подхватывать"
задачи, которые выполняются на любом другом узле кластера.
·
IBM SP2
IBM SP2 лидируют в
списке крупнейших суперкомпьютеров TOP500 по числу инсталляций (141 установка,
а всего в мире работает 8275 таких компьютеров с общим числом узлов свыше 86
тыс. В основу этих суперкомпьютеров заложенный в основу архитектуры кластерный
подход с использованием мощного центрального коммутатора. IBM использует этот
подход уже много лет.
Общая архитектура SP2
Общее представление об архитектуре SP2 дает
рис. 1. Основная ее особенность архитектуры — применение высокоскоростного
коммутатора с низкими задержками для соединения узлов между собой. Эта внешне
предельно простая схема, как показал опыт, оказалась чрезвычайно гибкой.
Сначала узлы SP2 были однопроцессорными, затем появились узлы с
SMP-архитектурой.
Рис. 7
Собственно, все
детали скрываются в строении узлов. Мало того, узлы бывают различных типов,
причем даже процессоры в соседних узлах могут быть разными. Это обеспечивает
большую гибкость
выбора конфигураций. Общее число узлов в вычислительной системе может достигать
512. Узлы SP2 фактически являются самостоятельными компьютерами, и их прямые
аналоги продаются корпорацией IBM под самостоятельными названиями. Наиболее
ярким примером этого является четырехпроцессорный SMP-сервер RS/6000 44P-270 c
микропроцессорами Power3-II, который сам по себе можно отнести к классу
компьютеров среднего класса или даже к мини-суперкомпьютерам.
Устанавливавшиеся в
узлах SP2 микропроцессоры развивались по двум архитектурным линиям: Power —
Power2 — Power3 — Power3-II и по линии PowerPC вплоть до модели 604e с тактовой
частотой 332 МГц.
Традиционными для
SP2 являются «тонкие» (Thin Node) и «широкие» (Wide Node) узлы, обладающие
SMP-архитектурой. В них могут устанавливаться как PowerPC 604e (от двух до
четырех процессоров), так и Power3-II (до четырех). Емкость оперативной памяти
узлов составляет от 256 Мбайт до 3 Гбайт (при использовании Power3-II — до 8
Гбайт). Основные отличия между тонкими и широкими узлами касаются подсистемы
ввода/вывода. Широкие узлы предназначены для задач, требующих более мощных
возможностей ввода/вывода: в них имеется по десять слотов PCI (в том числе три
64-разрядных) против двух слотов в тонких узлах. Соответственно, и число
монтажных отсеков для дисковых устройств в широких узлах больше.
Быстродействие
коммутатора характеризуется низкими величинами задержек: 1,2 мс (до 2 мс при
числе узлов свыше 80). Это на порядок лучше того, что можно получить в
современных Linux-кластерах Beowulf. Пиковая пропускная способность каждого
порта: она составляет 150 Мбайт/с в одном направлении (то есть 300 Мбайт/с при
дуплексной передаче). Той же пропускной способностью обладают и расположенные в
узлах SP2 адаптеры коммутатора. IBM приводит также отличные результаты по
задержкам и пропускной способности.
Наиболее мощные
узлы SP2 — «высокие» (High Node). Высокий узел — это комплекс, состоящий из
вычислительного узла с подсоединенными устройствами расширения ввода/вывода в
количестве до шести штук. Такой узел также обладает SMP-архитектурой и содержит
до 8 процессоров Power3 с тактовой частотой 222 или 375 МГц.
Рис. 8
Кроме того, узел
этого типа содержит плату ввода/вывода, которая также подсоединена к системной
плате. Плата ввода/вывода содержит два симметричных логических блока SABER,
через которые осуществляется передача данных к внешним устройствам, таким
как диски и
телекоммуникационное оборудование. На плате ввода/вывода имеется четыре слота
64-разрядной шины PCI и один 32-разрядный слот (частота 33 МГц), а также
интегрированы контроллеры UltraSCSI, Ethernet 10/100 Мбит/с, три
последовательных и один параллельный порт.
C появлением
высоких узлов и микропроцессоров Power3-II/375 МГц на тестах Linpack parallel
системы IBM SP2 достигли производительности 723,4 GFLOPS. Этот результат
достигнут при использовании 176 узлов (704 процессора). Учитывая, что узлов
можно установить до 512, этот результат показывает, что серийно выпускаемые IBM
SP2 потенциально близки к отметке 1 TFLOPS.
Кластерные решения Sun Microsystems
Sun Microsystems
предлагает кластерные решения на основе своего продукта SPARCclaster PDB
Server, в котором в качестве узлов используются многопроцессорные SMP-серверы
SPARCserver 1000 и SPARCcenter 2000. Максимально в состав SPARCserver 1000
могут входить до восьми процессоров, а в SPARCcenter 2000 до 20 процессоров
SuperSPARC. В комплект базовой поставки входят следующие компоненты: два
кластерных узла на основе SPARCserver 1000/1000E или SPARCcenter 2000/2000E,
два дисковых массива SPARCstorage Array, а также пакет средств для построения
кластера, включающий дублированное оборудование для осуществления связи,
консоль управления кластером Claster Management Console, программное
обеспечение SPARCclaster PDB Software и пакет сервисной поддержки кластера.
Для обеспечения
высокой производительности и готовности коммуникаций кластер поддерживает
полное дублирование всех магистралей данных. Узлы кластера объединяются с
помощью каналов SunFastEthernet с пропускной способностью 100 Мбит/с. Для
подключения дисковых подсистем используется оптоволоконный интерфейс Fibre Channel
с пропускной способностью 25 Мбит/с, допускающий удаление накопителей и узлов
друг от друга на расстояние до 2 км. Все связи между узлами, узлами и дисковыми
подсистемами дублированы на аппаратном уровне. Аппаратные, программные и
сетевые средства кластера обеспечивают отсутствие такого места в системе,
одиночный отказ или сбой которого выводил бы всю систему из строя.
Университетские проекты
Интересная
разработка Университета штата Кентукки – кластер KLAT2 (Kentucky Linux Athlon
Testbed 2 [5]). Система KLAT2 состоит из 64 бездисковых
узлов с процессорами AMD Athlon/700 МГц и оперативной памятью 128 Мбайт на
каждом. Программное обеспечение, компиляторы и математические библиотеки
(SCALAPACK, BLACS и ATLAS) были доработаны для эффективного использования технологии
3DNow! процессоров AMD, что позволило увеличить производительность.
Значительный интерес представляет и использованное сетевое решение, названное
«Flat Neighbourghood Network» (FNN). В каждом узле установлено четыре сетевых
адаптера Fast Ethernet от Smartlink, а узлы соединяются с помощью девяти
32-портовых коммутаторов. При этом для любых двух узлов всегда есть прямое
соединение через один из коммутаторов, но нет необходимости в соединении всех
узлов через единый коммутатор. Благодаря оптимизации программного обеспечения
под архитектуру AMD и топологии FNN удалось добиться рекордного соотношения
цена/производительность – 650 долл. за 1 GFLOPS.
Идея разбиения
кластера на разделы получила интересное воплощение в проекте Chiba City [6],
реализованном в Аргоннской Национальной лаборатории. Главный раздел содержит
256 вычислительных узлов, на каждом
из которых
установлено два процессора Pentium III/500 МГц, 512 Мбайт оперативной памяти и
локальный диск емкостью 9 Гбайт. Кроме вычислительного раздела в систему входят
раздел визуализации (32 персональных компьютера IBM Intellistation с
графическими платами Matrox Millenium G400, 512 Мбайт оперативной памяти и
дисками 300 Гбайт), раздел хранения данных (8 серверов IBM Netfinity 7000 с
процессорами Xeon/500 МГц и дисками по 300 Гбайт) и управляющий раздел (12
компьютеров IBM Netfinity 500). Все они объединены сетью Myrinet, которая
используется для поддержки параллельных приложений, а также сетями Gigabit
Ethernet и Fast Ethernet для управляющих и служебных целей. Все разделы делятся
на «города» (town) по 32 компьютера. Каждый из них имеет своего «мэра», который
локально обслуживает свой «город», снижая нагрузку на служебную сеть и
обеспечивая быстрый доступ к локальным ресурсам.
Кластерные проекты в России
В России всегда
была высока потребность в высокопроизводительных вычислительных ресурсах, и
относительно низкая стоимость кластерных проектов послужила серьезным толчком к
широкому распространению подобных решений в нашей стране. Одним из первых
появился кластер «Паритет», собранный в ИВВиБД и состоящий из восьми
процессоров Pentium II, связанных сетью Myrinet. В 1999 году вариант
кластерного решения на основе сети SCI был апробирован в НИЦЭВТ, который, по
сути дела, и был пионером использования технологии SCI для построения
параллельных систем в России.
Высокопроизводительный
кластер на базе коммуникационной сети SCI, установлен в
Научно-исследовательском вычислительном центре Московского государственного
университета [7]. Кластер НИВЦ включает 12 двухпроцессорных
серверов «Эксимер» на базе Intel Pentium III/500 МГц, в общей сложности 24
процессора с суммарной пиковой производительностью 12 млрд. операций в секунду.
Общая стоимость системы – около 40 тыс. долл. или примерно 3,33 тыс. за 1
GFLOPS.
Вычислительные узлы
кластера соединены однонаправленными каналами сети SCI в двумерный тор 3x4 и
одновременно подключены к центральному серверу через вспомогательную сеть Fast
Ethernet и коммутатор 3Com Superstack. Сеть SCI – это ядро кластера, делающее
данную систему уникальной вычислительной установкой суперкомпьютерного класса,
ориентированной на широкий класс задач. Максимальная скорость обмена данными по
сети SCI в приложениях пользователя составляет более 80 Мбайт/с, а время
латентности около 5,6 мкс. При построении данного вычислительного кластера
использовалось интегрированное решение Wulfkit, разработанное компаниями
Dolphin Interconnect Solutions и Scali Computer (Норвегия).
Основным средством
параллельного программирования на кластере является MPI (Message Passing
Interface) версии ScaMPI 1.9.1. На тесте LINPACK при решении системы линейных
уравнений с матрицей размера 16000х16000 реально полученная производительность
составила более 5,7 GFLOPS. На тестах пакета NPB производительность кластера
сравнима, а иногда и превосходит производительность суперкомпьютеров семейства
Cray T3E с тем же самым числом процессоров.
Основная область
применения вычислительного кластера НИВЦ МГУ – это поддержка фундаментальных
научных исследований и учебного процесса.
Из других
интересных проектов следует отметить решение, реализованное в
Санкт-Петербургском университете на базе технологии Fast Ethernet [8]:
собранные кластеры могут использоваться и как полноценные независимые учебные
классы, и как единая вычислительная установка, решающая единую задачу. В
Самарском научном центре
пошли по пути
создания неоднородного вычислительного кластера, в составе которого работают
компьютеры на базе процессоров Alpha и Pentium III. В Санкт-Петербургском
техническом университете собирается установка на основе процессоров Alpha и
сети Myrinet без использования локальных дисков на вычислительных узлах. В
Уфимском государственном авиационном техническом университете проектируется
кластер на базе двенадцати Alpha-станций, сети Fast Ethernet и ОС Linux.