учебники, программирование, основы, введение в,

 

Кластеры и массивно-параллельные системы различных производителей. Примеры кластерных решений IBM. Примеры кластерных решений HP. Примеры кластерных решений SGI

Развитие сетевых технологий привело к появлению недорогих, но эффективных коммуникационных решений. Это и предопределило появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом. Классические суперкомпьютеры, использующие специализированные процессоры таких производителей как Сray или NEC (векторно-параллельные или массивно-параллельные), недешевы, поэтому и стоимость подобных систем несравнима со стоимостью систем, находящихся в массовом производстве.
Вычислительные системы (ВС), создаваемые из массово выпускаемых компонентов, стали альтернативой традиционным суперкомпьютерным системам. При выполнении многих прикладных задач такие ВС, даже с небольшим или средним (до 128–256) числом вычислительных модулей, показывают производительность, не уступающую или даже превосходящую производительность традиционных суперкомпьютеров как с распределенной, так и с разделяемой памятью. При этом такие ВС обладают рядом преимуществ, среди которых: более низкая стоимость, короткий цикл разработки и возможность оперативно использовать наиболее эффективные вычислительные и коммуникационные компоненты из имеющихся на рынке во время создания системы. Поэтому неудивительно, что ведущие разработчики высокопроизводительной техники приступили к созданию кластерных систем.
Примеры кластерных решений IBM
В начале 2000 г. специалисты IBM создали Linux-кластер из установленных в стойке серверов IBM xSeries, объединив их с соответствующими сетями, системами управления (аппаратное и программное обеспечение) и необходимыми услугами. После выпуска в 2001 г. кластера 1300 компания IBM представила кластер 1350 на процессорах Intel Xeon.
Схема Linux-кластера или суперкластера нетривиальна. В ней имеется несколько логических слоев, и уровень сложности возрастает при увеличении размера системы. Стоит отметить, что на больших системах простое воспроизведение в большом количестве малых кластеров почти никогда не приводит к успеху.
Хотя число узлов, необходимых для решения задачи, довольно легко оценивается для любого приложения, требуемое число узлов в действительности оказывается больше из-за необходимости иметь сервисные узлы, обслуживающие инфраструктуру кластера. Так, для каждых 32-64 узлов, в зависимости от компоновки, необходим центральный узел. Если такой узел используется как вычислительный, у него должна быть соответствующая конфигурация.
В любой системе должен быть управляющий узел, который, в частности, может быть и одним из главных узлов. Для организации ввода/вывода также необходимы отдельные узлы, которые работают либо с устройствами хранения информации, либо с сетевыми рутерами.
Основой Linux-кластера являются плотно упакованные системы с процессорами Intel, установленные в стойке. Наиболее часто используемым модулем является стандартная 19" стойка. Внутри стоек устанавливаются узлы, аппаратура для эффективного соединения компонентов, такая как коммутаторы или хабы, аппаратура управления внутренней сетью системы, терминальные серверы и т.п.
Узлы могут быть функционально объединены в две группы:

  1. Вычислительные узлы, выполняющие основные вычислительные задачи, для которых спроектирована система.
  2. Узлы инфраструктуры, такие как узлы ввода-вывода, узлы управления и узлы запоминающих устройств. Узлы инфраструктуры обеспечивают управление системами и заданными функциями, необходимыми для объединения компьютерных узлов в систему.

Упаковка вычислительных узлов, насколько это возможно, должна быть плотной и иметь достаточные возможности для эффективного соединения компонентов. Существенно включение сервисного процессора для функций управления системами. Стандартным вычислительным узлом для кластера 1350 является IBM xSeries 335. Это позволяет один или два процессора Intel Pentium 4 (Xeon) с быстрой динамической памятью и диском размещать в стандартном корпусе размером «1U». Символ 1U обозначает 1,75 дюймов высоты в стандартном 19-дюймовом корпусе. Х335 имеет встроенный сервисный процессор и два слота для соединения с другими компонентами системы.
Головные узлы, узлы управления и узлы запоминающих устройств обеспечивают особые функции для управления кластером (обеспечение загрузки, управление устройствами, внешний ввод/вывод и т.д). Сервер 2U IBM xSeries 345, основанный на процессорах Xeon, в кластере 1350 используется как узел управления и хранения данных и может также применяться как вычислительный узел. Коммутаторы используются для межпроцессорного соединения в параллельном программировании и для различных функций управления.
Для параллельного программирования в качестве межпроцессорного соединения обычно используется коммутатор Myrinet фирмы Myricom. Пропускная способность канала составляет приблизительно 200 Мбайт/с в каждом направлении со временем задержки 6-8 мкс.
Если параллельное программное окружение требует меньше межпроцессорных соединений, то высокоскоростные соединения можно заменить на более дешевые продукты типа Ethernet. Для заказчика могут быть выбраны GigaNet, Quadratics, SCI или ServerNet. В дальнейшем, после доработки, можно выбрать InfiniBand.
Коммутаторы используются для построения внутренних сетей для систем управления и интерфейса внешних сетей. В качестве альтернативных решений заказчику предлагаются различные коммутаторы от Cisco.
Терминальные серверы обеспечивают удаленный доступ к консолям ОС узлов через последовательную сеть. Дополнительные функциональные возможности добавляются посредством клавиатуры, мыши, монитора.
Внешние устройства ввода/вывода, такие как SCSI Raid, должны быть в стойках с узлами, коммутаторами и т.д.
Основное отличие состоит в сборке (интеграции). В то время как кластер для заказчиков может быть собран в любом учреждении или даже на полу у заказчика (неудачная идея), то аппаратная часть кластера 1350 производится (т.е. интегрируется) и тестируется на заводе IBM. Процесс сборки кластера в заводских условиях обладает рядом преимуществ.
Пример конфигурации кластера 1350 приведен в таблице 13.1.
Программное обеспечение (ПО) для кластера 1350 существенно зависит от требований заказчика. Дополнительные технические условия могут потребовать особых программных пакетов. Коммерческий программный пакет, например, может включать в себя WebSphere, DB2, MySQL и т.д. HPC пакет может включать MPICH, PVM, Maui Scheduler, математические библиотеки, трансляторы, профилировщики и т.д.
Оперативная система Linux инсталлирована на каждом узле кластера. Кластер 1350 запускается под Red Hat Linux. В дальнейшем планируется ставить ОС SuSE (4Q02).
Управление системами кластера для Linux (CSM) — это лицензионный программный продукт IBM. Он обеспечивает функции управления системами, сходными по форме с программами поддержки параллельных систем (Parallel System Support Programs — PSSP) для AIX-систем уровня поддержки на RS/6000 SP. CSM — это стандартный программный продукт для кластера 1350.
CSM для Linux включает технологию, извлеченную из PSSP, и сейчас доступную на AIX для управления кластерами, собранными из серверов xSeries и запускаемыми под Linux, серверами IBM pSeries, управляемыми AIX, или комбинацией обеих операционных систем.


Таблица 13.1. Конфигурация кластера 1350.

Класс

Число узлов кластера

Скорость процессора, ГГц

Память системы, Гбайт

Внутренняя память, Гбайт

Соединение кластера, Мбит/с

Начальный

8

2,0

0,512

18

10/100 Ethernet

Средний

32

2,4

1

18

10/100 Ethernet

Профессиональный

128

2,8

1

36

Gigabit Ethernet

Высоко-производительный

64

2,8

1

36

Myrinet-2000

Примеры кластерных решений HP
Слияние в 2002 г. компаний Hewlett Packard и Compaq обеспечило HP прочное положение лидера по продаже Linux-систем, соответствующих индустриальным стандартам на базе архитектур IA-32 и IA-64. Данная технология дополнена мощной поддержкой разработок ядра Linux на базе семейства Itanium, а также разработок с открытым кодом в целом.
Кластеры HP строятся путем объединения компьютеров в группы, которые называются «кластерами предприятия». Каждый узел кластера имеет по крайней мере один процессор, оперативную память и образ операционной системы. Для связи между узлами используются специальные протоколы связи и системные процессы.
Поддержка ОС Linux со стороны HP охватывает все семейство серверов HP, основанных на архитектуре Intel (IA-32 и IA-64), включая все серверы промышленного стандарта HP ProLiant, сверхплотную (blade) архитектуру, рабочие станции HP, настольные компьютеры Evo, отдельные портативные компьютеры, серверы ProLiant для применения в качестве межсетевых экранов и даже портативные устройства iPAQ. HP также продолжает поддерживать технологию ОС Linux для архитектуры AlphaServer, разработанную компанией Compaq. ОС Linux работает на Alpha системах, начиная с 1994 г. Это был первый пример 64-разрядной системы с поддержкой Linux. Именно с него начались современные разработки ОС Linux на базе семейства Itanium. HP поддерживает на своих серверах дистрибутивы Red Hat и SuSE, планируя осуществлять поддержку дистрибутивов операционной системы UnitedLinux после ее выпуска. HP предлагает заказчикам возможность предварительно установить любую ОС Linux на выбранные серверы ProLiant и рабочие станции Evo.
HP поддержала лабораторию Sandia в ее планах по развертыванию кластерной системы Cplant на базе ОС Linux с самой высокой на сегодня производительностью. Сейчас HP совместно с Pacific Northwest National Laboratories работает над созданием вычислительной системы, основанной на 1400 процессорах Itanium 2 с оптоволоконными межсоединениями на основе решений Quadrics.
Программное обеспечение НР может поддерживать большинство современных средств разработки и настройки производительности для кластерных решений на базе системы Linux. При выборе этих средств действуют ограничения, связанные с типами процессоров и межузловых соединений. В число программных продуктов входят:

  • Транслятор Intel C++ Compiler для Linux;
  • Транслятор Intel Fortran Compiler для Linux;
  • Библиотека Intel Math Kernel Library;
  • Intel Vtune Performance Analyzer — средство оптимизации программного кода.

Примеры кластерных решений SGI
Седьмого января 2003 г. компания SGI представила новое семейство 64-разрядных Linux-серверов и суперкластеров, названных SGI Altix 3000 (серверы SGI Altix 3300 и суперкластеры SGI Altix 3700). Система SGI Altix 3000 использует процессоры Intel Itanium 2 и основана на архитектуре глобальной разделяемой памяти SGI NUMAflex, которая является реализацией архитектуры неоднородного доступа к памяти (NUMA). NUMAflex появилась в 1996 г. и с тех пор использовалась в известной серии серверов и суперкомпьютеров SGI Origin, основанных на процессорах MIPS и 64-разрядной операционной системе IRIX. Дизайн NUMAflex позволяет помещать процессор, память, систему ввода/вывода, соединительные провода, графическую подсистему в модульные компоненты, иначе называемые блоками или кирпичиками. Эти кирпичики могут комбинироваться и конфигурироваться с большой гибкостью, чтобы удовлетворять потребности клиента в ресурсах и рабочей нагрузке. Используя этот дизайн третьего поколения, компания SGI смогла создать систему SGI Altix 3000 на основе традиционных блоков ввода/вывода (IX- и PX-блоки), хранения данных (D-блоки) и соединительных компонентов (маршрутизирующие блоки/R-блоки). Основным отличием этой новой системы является процессорный блок (C-блок), который содержит процессоры Itanium 2.
Ключевой особенностью системы является использование каскадируемых коммутаторов в маршрутизирующих элементах. Каскадируемые коммутаторы обеспечивают системе малое время задержки, или замедление доступа к памяти, несмотря на модульную конструкцию. Это критично для машин, использующих архитектуру неоднородного доступа к памяти (NUMA). Задержки всегда были проблемой в архитектуре NUMA, так как память распределяется между узлами, а не сосредоточена в одном месте. Каскадируемые коммутаторы используют каталогизируемую схему памяти для отслеживания данных, находящихся в разных кэшах. В результате меньшие объемы данных пересылаются между частями памяти, что выливается в снижение задержек по сравнению с традиционными системами, основанными на шинах.
Системное ПО для SGI Altix 3000 состоит из стандартного дистрибутива Linux для процессоров Itanium и SGI ProPack – продукта, добавляющего особые свойства Linux. SGI ProPack включает ядро 2.4, HPC-библиотеки, настроенные для использования особенностей архитектуры SGI, утилиты для работы с NUMA и драйверы. Также SGI ProPack включает дополнительные инструменты и библиотеки для улучшения работы больших NUMA-систем, особенно при одновременном выполнении нескольких ресурсоемких приложений. Это позволяет эффективно использовать системные ресурсы и доставлять результаты в разумное время: характеристики, критичные для сред высокопроизводительных вычислений.
Утилиты работы с NUMA, библиотеки HPC и дополнительное ПО, установленные на стандартный дистрибутив Linux, создают программное окружение для высокопроизводительных вычислений, эффективное при больших вычислительных нагрузках и нагрузках, связанных с передачей данных. SGI ProPack создает промежуточный слой ПО, которое позволяет на основе Linux создавать блоки для построения больших сред высокопроизводительных вычислений.
Высокопроизводительные программы требуют баланса между процессором и подсистемой памяти для поддержания постоянного уровня потока данных. Кластеры SGI Altix 3000 были протестированы с помощью тестов STREAM Triad, которые измеряют скорость работы памяти. 64-процессорная система достигла уровня производительности памяти в 125 Гбайт/с на едином образе операционной системы: превосходство в 460% над 64-процессорной системой HP Superdome, которая показала производительность 27 Гбайт/с. По сравнению с 32-процессорным сервером IBM eServer p690, система SGI Altix показывает удвоенную производительность, а при вдвое меньшей стоимости — улучшение показателя цена/производительность на 640 %. Результаты также показывают, что Linux может хорошо масштабироваться за рамками ограничения в 8 процессоров.
Семейство SGI Altix 3000 демонстрирует пропускную способность системы ввода/вывода более чем 2 Гбайт/с при использовании единого образа Linux — лучший результат для Linux-систем. При постоянном увеличении объемов обрабатываемых данных возможности перемещения информации с диска в память играют все более важную роль в общей производительности системы. Это достижение позволяет приложениям Linux решить проблемы оперирования большими объемами данных в средах высокопроизводительных вычислений.

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г.Яндекс.Метрика