Принципы построения параллельных вычислительных систем
1.2. Примеры параллельных вычислительных систем
Разнообразие параллельных вычислительных систем поистине огромно. В каком-то смысле каждая такая система уникальна. В них устанавливаются различные аппаратные составляющие: процессоры (Intel, Power, AMD, HP, Alpha, Nec, Cray, ѕ), сетевые карты (Ethernet, Myrinet, Infiniband, SCI, ѕ). Они функционируют под управлением различных операционных систем (версии Unix/Linux, версии Windows, ѕ) и используют различное прикладное программное обеспечение. Кажется, что найти между ними что-то общее практически невозможно. Конечно же, это не так, и ниже мы попытаемся с общих позиций сформулировать некоторые известные варианты классификаций параллельных вычислительных систем, но прежде рассмотрим несколько примеров.
1.2.1. Суперкомпьютеры
Началом эры суперкомпьютеров с полным правом может считаться 1976 год – год появления первой векторной системы Cray 1. Результаты, показанные этой системой, пусть и на ограниченном в то время наборе приложений, были столь впечатляющи в сравнении с остальными, что система заслуженно получила название "суперкомпьютер" и в течение длительного времени определяла развитие всей индустрии высокопроизводительных вычислений. Однако в результате совместной эволюции архитектур и программного обеспечения на рынке стали появляться системы с весьма кардинально различающимися характеристиками, потому само понятие "суперкомпьютер" стало многозначным, и пересматривать его пришлось неоднократно.
Попытки дать определение термину суперкомпьютер, опираясь только на производительность, неизбежно приводят к необходимости постоянно поднимать планку, отделяющую его от рабочей станции или даже обычного настольного компьютера. Так, по определению Оксфордского словаря вычислительной техники 1986 года, для того чтобы получить это гордое название, нужно было иметь производительность в 10 MFlops 11MFlops - million of floating point operations per second - миллион операций над числами с плавающей запятой в секунду, GFlops - миллиард, TFlops - триллион соответственно.. Сегодня, как известно, производительность настольных систем на два порядка выше.
Из альтернативных определений наиболее интересны два: экономическое и философское. Первое из них гласит, что суперкомпьютер – это система, цена которой выше 1–2 млн. долларов. Второе – что суперкомпьютер – это компьютер, мощность которого всего на порядок меньше необходимой для решения современных задач.
1.2.1.1. Программа ASCI
Программа ASCI (http://www.llnl.gov/asci/) – Accelerated Strategic Computing Initiative, поддерживаемая Министерством энергетики США, в качестве одной из основных целей имеет создание суперкомпьютера с производительностью в 100 TFlops.
Первая система серии ASCI – ASCI Red, построенная в 1996 г. компанией Intel, стала и первым в мире компьютером с производительностью в 1 TFlops (в дальнейшем производительность системы была доведена до 3 TFlops).
Тремя годами позже появились ASCI Blue Pacific от IBM и ASCI Blue Mountain от SGI, ставшие первыми на тот момент суперкомпьютерами с быстродействием 3 TFlops.
Наконец, в июне 2000 г. была введена в действие система ASCI White (http://www.llnl.gov/asci/platforms/white/) с пиковой производительностью свыше 12 TFlops (реально показанная производительность на тесте LINPACK составила на тот момент 4938 GFlops, позднее данный показатель был доведен до 7304 GFlops).
Аппаратно ASCI White представляет собой систему IBM RS/6000 SP с 512 симметричными мультипроцессорными (SMP) узлами. Каждый узел имеет 16 процессоров, система в целом – 8192 процессора. Оперативная память системы – 4 TB, емкость дискового пространства 180 TB.
Все узлы системы являются симметричными мультипроцессорами IBM RS/6000 POWER3 с 64-разрядной архитектурой. Каждый узел автономен, обладает собственной памятью, операционной системой, локальным диском и 16 процессорами.
Процессоры POWER3 являются суперскалярными 64-разрядными чипами конвейерной организации с двумя устройствами по обработке команд с плавающей запятой и тремя устройствами по обработке целочисленных команд. Они способны выполнять до восьми команд за тактовый цикл и до четырех операций с плавающей запятой за такт. Тактовая частота каждого процессора 375 MHz.
Программное обеспечение ASCI White поддерживает смешанную модель программирования – передача сообщений между узлами и многопотоковость внутри SMP-узла.
Операционная система представляет собой версию UNIX – IBM AIX. AIX поддерживает как 32-, так и 64-разрядные системы RS/6000.
Поддержка параллельного кода на ASCI White включает параллельные библиотеки, отладчики (в частности, TotalView), профилировщики, утилиты IBM и сервисные программы по анализу эффективности выполнения. Поддерживаются библиотеки MPI, OpenMP, потоки POSIX и транслятор директив IBM. Имеется параллельный отладчик IBM.
1.2.1.2. Система BlueGene
Самый мощный на данный момент суперкомпьютер в мире создан IBM. Точнее говоря, работы над ним еще не закончены. В настоящий момент система имеет полное название "BlueGene/L DD2 beta-System" и представляет собой "первую очередь" полной вычислительной системы. Согласно прогнозам, к моменту ввода в строй ее пиковая производительность достигнет 360 TFlops.
В качестве основных областей применения разработчики называют гидродинамику, квантовую химию, моделирование климата и др.
Текущий вариант системы имеет следующие характеристики:
- 32 стойки по 1024 двухъядерных 32-битных процессора PowerPC 440 с тактовой частотой 0,7 GHz;
- пиковая производительность – порядка 180 TFlops;
- максимальная показанная производительность (на тесте LINPACK) – 135 TFlops.
1.2.1.3. МВС-1000
Один из самых известных в России суперкомпьютеров – Многопроцессорная вычислительная система МВС-1000М – был установлен в Межведомственном суперкомпьютерном центре Российской академии наук.
Работы по созданию МВС-1000М проводились с апреля 2000 года по август 2001 года.
Согласно официальным данным (http://www.jscc.ru) состав системы:
- 384 двухпроцессорных модуля на базе Alpha 21264 с тактовой частотой 667 MHz (кэш L2 4 Mb), собранные в виде 6 базовых блоков, по 64 модуля в каждом;
- управляющий сервер и файл-сервер NetApp F840;
- сети Myrinet 2000 и Fast/Gigabit Ethernet;
- сетевой монитор;
- система бесперебойного электропитания.
Каждый вычислительный модуль имеет по 2 Gb оперативной памяти, HDD 20 Gb, сетевые карты Myrinet (2000 Mbit) и Fast Ethernet (100 Mbit).
При обмене данными между модулями с использованием протоколов MPI на сети Myrinet пропускная способность в МВС-1000М составляет 110 — 150 Mb в секунду.
Программное обеспечение системы составляют:
- операционные системы управляющего и резервного управляющего сервера – ОС Linux RedHat 6.2 с поддержкой SMP;
- операционная система вычислительных модулей – ОС Linux RedHat 6.2 с поддержкой SMP;
- операционная среда параллельного программирования – пакет MPICH for GM;
- программные средства коммуникационных сетей (Myrinet, Fast Ethernet);
- оптимизированные компиляторы языков программирования С, C++, Fortran фирмы Compaq;
- отладчик параллельных программ TotalView;
- средства профилирования параллельных программ;
- средства параллельного администрирования.
Обслуживается МВС-1000М двумя основными компонентами:
- подсистемой удаленного управления и непрерывного мониторинга;
- подсистемой коллективного доступа.
В летнем списке Top 500 2004 года система МВС-1000М заняла 391-ю позицию с пиковой производительностью 1024 GFlops и максимально показанной на тесте LINPACK 734 GFlops.
1.2.1.4. МВС-15000
В настоящий момент в МСЦ РАН система МВС-1000М заменена на самый мощный суперкомпьютер России МВС-15000 (согласно последней редакции списка Top 50 стран СНГ – http://supercomputers.ru/index.php).
Аппаратная конфигурация вычислительных узлов МВС-15000 включает в себя:
- 2 процессора IBM PowerPC 970 с тактовой частотой 2,2 GHz, кэш L1 96 Kb и кэш L2 512 Kb;
- 4 Gb оперативной памяти на узел;
- 40 Gb жесткий диск IDE;
- 2 встроенных адаптера Gigabit Ethernet;
- адаптер Myrinet типа M3S-PCIXD-2-I.
Состав программного обеспечения МВС-15000:
- операционные системы SuSe Linux Enterprise Server версии 8 для платформ x86 и PowerPC;
- пакет GM 2.0.12 в качестве коммуникационной среды Myrinet;
- пакет MPICH-GM в качестве среды параллельного программирования;
- средства управления прохождением задач и их пакетной обработки.
На начало 2005 система МВС-15000 имела общее количество узлов 276 (552 процессора), пиковую производительность 4857,6 GFlops и максимальную (показанную на тесте LINPACK) производительность 3052 GFlops.