2.4.1 Массивно-параллельные суперкомпьютеры серии CRAY T3
Основанная Сеймуром Крэем (Seymour Cray, 1925
÷
1996 г.г.) в 1972 г. фирма Cray Research Inc. (сейчас Cray Inc.), прославившаяся разработкой векторного суперкомпьютера Cray 1 (1975 г., оперативная память 64 Мбит, пиковая производительность 160 Мфлопс), в 1993
÷
1995 г.г. выпустила моде- ли Cray T3D/T3E, полностью реализующие принцип систем с массовым па- раллелизмом (систем MPP-архитектуры). В максимальной конфигурации эти компьютеры объединяют 32
÷
2048 процессоров DEC Alpha 21064/150 MHz,
21164/600 MHz, 21164A/675 MHz (в зависимости от модели), вся предвари- тельная обработка и подготовка программ (напр., компиляция) выполняется на управляющей машине (хост-компьютере).
Разработчики серии Cray T3D/T3E пошли по пути создания виртуальной
общей памяти. Каждый процессор может обращаться напрямую только к своей локальной памяти, но все узлы используют единое адресное простран- ство. При попытке обращения по принадлежащему локальной памяти друго- го процессора адресу генерируется специализированное аппаратное преры- вание и операционная система выполняет пересылку страницы с одного узла на другой, причем вследствие чрезвычайно высокого быстродействия (доро- гостоящей вследствие этого) коммуникационной системы (пиковая скорость передачи данных между двумя узлами достигает 480 Мбайт/с при латентно- сти менее 1 мксек) этот подход в целом оправдан. Однако замечен резко снижающий производительность эффект ‘пинг-понга’ – в случае попадания на одну страницу переменных, модифицируемых несколькими процессора- ми, эта страница непрерывно мигрирует между узлами. Вычислительные уз- лы выполняют программы пользователя в монопольном режиме (однозадач- ный режим).
Конкретное исполнение компьютеров серии Cray T3 характеризуется тройкой чисел, напр., 24/16/576 (управляющие узлы/узлы операционной сис- темы/вычислительные узлы); при используемой топологии ‘трехмерный тор’ каждый узел (независимо от его расположения) имеет шесть непосредствен- ных соседей. При выборе маршрута между двумя узлами А и В (3D- координаты которых суть [1,2,4] и [2,1,2], рис.11) сетевые машрутизаторы, начиная процесс с начальной вершины А, сначала выполняют смещение по координате X таким образом, пока координаты очередного узла связи и узла
- 47 -
B не станут равными (это узел [2,2,4]); затем аналогич- ные действия выполняются по координате Y и далее по Z
(физически подобная мар- шрутизация происходит од- новременно по всем трем ко- ординатам). Смещения могут быть и отрицательными, при отказе одной или нескольких связей возможен их обход.
Другой интересной особен- ностью архитектуры Cray T3 является поддержка барьер-
ной синхронизации – аппа- ратная организация ожида- ния всеми процессами опре- деленной точки в программе, при достижении которой возможна дальнейшая работа [1]. Компьютеры серии T3E демонстрировали производительность
1,8
÷
2,5 Тфлопс (на 2048 микропроцессорах Alpha/600 MHz) [4].
Дальнейшим развитием линии массивно-параллельных компьютеров
Cray T3 является суперкомпьютер Cray XT3. Каждый вычислительный узел
Cray XT3 включает процессор AMD Opteron, локальную память (1
÷
8 Гбайт) и обеспечивающий связь к коммуникационному блоку Cray SeaStar канал
HyperTransport (
http://cray.com/products/xt3
), имеющий пиковую производи- тельность (для AMD Opteron 2,4 GHz) от 2,6 Тфлопс (548 процессоров, опе- ративная память 4,3 Тбайт, топология 6
×
12
×
8) до 147 Тфлопс (30’508 про- цессоров, 239 Тбайт, топология 40
×
32
×
24). Cray XT3 работает под управле- нием ОС UNICOS/lc, позволяющей объединять до 30’000 вычислительных узлов, применяются компиляторы Fortran’77/90/95 и C/C++, коммуникацион- ные библиотеки MPI (Message Passing Interface c поддержкой стандарта MPI
2.0) и ShMem (разработанная Cray Research Inc. библиотека для работы с общей памятью), стандартные библиотеки численных расчетов.
Несмотря на достигнутые столь высокие результаты в области MPP-систем фирма Cray Inc. производит векторно-конвейерный компьютеры (модель C90 с пиковой производительностью 16 Гфлопс при задействовании всех 16 про- цессоров и ее развитие - модель T90 с производительностью до 60 Гфлопс при 32 процессорах), причем эти модели могут быть объединены в MPP- систему. Производительность каждого процессора компьютера Cray SV1 достигает 4 Гфлопс (общая пиковая производительность системы 32
Гфлопс), общее число процессоров может достигать 1000. Векторно- конвейерные процессоры являются основой упоминавшейся выше массивно-
Рисунок 11 — Коммуникационная решетка ‘трех- мерный тор’ компьютера Cray T3E
- 48 - параллельной вычислительной системы ‘the Earth Simulator’ производитель- ностью 40 Тфлопс (
http://www.es.jamstec.go.jp/esc/eng/index.html
).
2.4.2 Кластерные системы класса BEOWULF Запред
ельная стоимость промышленных массивно-параллельных компью- теров не давали покоя специалистам, желающим применить в своих исследо- ваниях
вычислительные системы сравнимой мощности, но не имеющих воз- можностей приобрести промышленные супер-ЭВМ. Поиски в этом на- правлении привели к развитию
вычислительных кластеров (не путать с
кластерами баз данных и
WEB-серверов); технологической основой развития кластеризации стали широкодоступные и относительно недорогие микропроцессоры и коммуникационные (сетевые) технологии, появившиеся в свободной продаже в 90-х г.г.
Вычислительный кластер представляет собой совокупность вычислитель- ных узлов (от десятков до десятков тысяч), объединенных высокоскоростной сетью c целью решения единой вычислительной задачи. Каждый узел вычис- лительного кластера представляет собой фактически ПЭВМ (часто двух- или четырех- процессорный/ядерный SMP-сервер), работающую со своей собст- венной операционной системой (в подавляющем большинстве Linux
(
*
)
); объ- единяющую сеть выбирают исходя из требуемого класса решаемых задач и финансовых возможностей, практически всегда реализуется возможность удаленного доступа на кластер посредством InterNet.
Вычислительные узлы и управляющий компьютер обычно объединяют
(минимум) две (независимые) сети –
сеть управления (служит целям управ- ления вычислительными узлами) и (часто более производительная)
коммуни-кационная сеть (непосредственный обмен данными между исполняемыми на узлах процессами), дополнительно управляющий узел имеет выход в InterNet для д
оступа к ресурсам кластера удаленных пользователей, файл-сервер (в несложных кластерах его функции выполняет управляющий компьютер) вы- полняет функции хранения программ пользователя (рис.12). Администриро- вание кластера осуществляется с управляющей ЭВМ (или посредством уда- ленного д
оступа), пользователи имеют право д
оступа (в соответствие с при- своенными администратором прав
ами) к ресурсам кластера исключительно через управляющий компьютер.
*
Windows-кл
астеры значительной мощности до настоящего времени остаются экзотикой
(например, в 29-й редакции от июня 2007 г. списка
Top500.org под
обные МВС занима- ют только позиции 106 и 193) в силу известных причин (несмотр
я на активно продви- гаемые MS решения класса
Windows Compute Cluster Server - WCCS). Кроме того, автор разделяет известное правило ‘…не стоит класть все
имеющиеся яйца в ед
иную корзину’.
- 49 -
Одним из первых кластерных проектов явился проект BEOWULF
(
http://www.beowulf.org
, название дан
о
в честь героя скандинавской с
а
ги). Проект
‘БЕОВУЛЬФ’ был зал
о
жен в созданном на основе принадлежащей NASA организации
GSFC (Goddard Space Flight Center, http://www.gsfc.nasa.gov
) исследовательском центре CESDIS (Center of Excellence in Space Data and Information Sci-
ences) в 1994 г. и стартов
а
л сб
о
ркой в GSFC 16-узлового кластера (на процессорах 486DX4/100 MHz, 16 Mb памяти, 3 сетевых адаптера на каждом узле и 3 параллельных 10 Mbit Ethernet-кабелей); вычисли- тельная система предназначалась для проведения работ по проекту
ESS (Earth and Space Sciences Project, http://sdcd.gsfc.nasa.gov/ESS/overview.html
).
Позднее в подразделениях NASA были собраны другие модели
BEOWULF-под
о
бных кластеров: напр., theHIVE (Highly-parallel
Integrated Virtual Environment) из 64 двухпроцессорных (Pentium
Pro/200 MHz, 4 Gb памяти и 5 коммутаторов Fast Ethernet в каждом) узлов (общая стоимость 210 тыс. $US). Именно в рамках проекта Beowulf были разра- ботаны драйверы для реализации режима Channel Bonding (см. ниже).
Рисунок 12 — Укрупненная схема вычислительного кластера
‘Беовульф’ – типичный образец многопроцессорной системы MIMD
(Multiple Instruction
−
Multiple Data), при этом одновременно (и относительно независимо друг от друга) выполняются несколько программных ветвей, в определенные промежутки времени обменивающиеся данными. Многие по-
- 50 - следующие разработки во всех странах мира фактически являются кл
анами
Beowulf.
В 1998 г. в национальной лаборатории Лос-Аламос астрофизик Michael
Warren (
http://qso.lanl.gov/msw
) с сотрудниками группы теоретической астро- физики построили вычислительную систему Avalon (
http://cnls.lanl.gov/avalon
), представляющую Linux-кластер на процессорах DEC Alpha/533 MHz. Перво- начально Avalon состоял из 68 процессоров, затем был расширен до 140, в каждом узле установлено 256 MB оперативной памяти, EIDE-жесткий диск
3,2 Gb, сетевой адаптер фирмы Kingston (общая стоимость узла – 1’700 $US).
Узлы соединены с помощью 4-х коммутаторов Fast Ethernet (36 портов каж- дый) и центрального 12-портового коммутатора Gigabit Ethernet фирмы 3Com
(
http://www.3com.com
). Avalon обошелся в 323 тыс. $US и занял 114 место в 12- й редакции ‘Top-500’ (1998); причем 152-процессорный IBM SP2 занял 113-е место! 70-процессорный Avalon по многим тестам показал такую же произ- водительность, как 64-процессорная система SGI Origin2000 / 195 MHz
(
http://www.sgi.com/origin/2000
) стоимостью выше 1 млн. $US.
Из других смежных проектов следует назвать [1] Berkeley NOW (
Network Of Workstations, http://now.cs.berkeley.edu
), Condor (
High Throughput Computing, http://www.cs.wisc.edu/condor
), MOSIX (программное обеспечение поддержки кластерных вычислений в Linux, Hebrew University, Израиль, http://www.mosix.cs.huji.ac.il
), T-Система (программирование на языке T++ и среда времени выполнения динамически распараллеливаемых программ (
Ин-ститут Программных Систем РАН,
Переславль-Залесский, http://www.botik.ru/PSI/PSI.koi8.html
).
Типичным образцом массивно-параллельной кластерной вычислительной системы являются МВС-1000M (коммуникационная сеть – Myrinet 2000, скорость обмена информацией 120
÷
170 Мбайт/сек, http://www.myri.com,
вспо- могательные – Fast и Gigabit Ethernet) и МВС-15000ВС (см. подраздел 1.1 и http://www.jscc.ru
).
Триумфальный успех, явная дешевизн
а и относительная простота изготовления при- вели к возникновению в конце ХХ века в американских околоправительственных кру- гах ‘синдрома Беовульфа’. В самом деле, вычислительный комплекс типа ‘Беовульф’ с достаточной для решения военных и криптографических задач мощностью может быть с
обран в любой стране мира (включая т.н. ‘государства – очаги международного терро- ризма’). Ситуация усугубляется тем, что используемые при сборке ‘Беовульфа’ ком- плектующие для персональных ЭВМ не попадают под
экспортные ограничения прави- тельства США (а при необходимости могут быть приобретены и в третьих странах).
Требование максимальной эффективности использования ресурсов вычис- лительных мощност
ей (как процессорных, так и оперативной и д
исковой па- мяти) отдельных процессоров кластера неизбежно приводит к снижению ‘ин- теллектуальности’
операционной системы вычислительных узлов до уровня
мониторов; с другой стороны, предлагаются
распределенные кластерные - 51 -
операционные системы – напр.,
Amoeba
(
http://www.cs.vu.nl/pub/amoeba/amoeba.html
),
Chorus, Mach и др.
Специально для комплект
ации аппаратной части вычислительных класте- ров выпускаются т.н. Bladed - сервер
а (
*
) – узкие (‘лезв
ийные’) вертикаль- ные платы, включающие процессор, ОП (обычно 256
÷
512 МБайт при L2- кэше 128
÷
256 kБайт), д
исковую память и микросхемы сетев
ой поддержки; эти платы устанавливаются в стандартные ‘корзины’ формата 3U шириной
19” и высотой 5,25” до 24 штук на каждую (240 вычислительных узлов на ст
ойку высотою 180 см). Для снижения общего энергопотребления могут применяться расх
одующие всего
единицы ватт (против 75 W для P4 или
130 W для крист
аллов архитектуры IA-64) процессоры
Transmeta Crusoe (
http://www.transmeta.com
) серии TM 5x00 с технологией VLIW (см. подраздел
1.2.2); при этом суммарная потребляемая мощность при 240 вычислительных узлах не превышает 1 kВт.
2.4.3 Коммуникационные технологии, используемые при создании массово- параллельных суперкомпьютеров Важным компонентом массово-параллельных компьютеров является ком- муникационная сред
а – набор аппаратных и программных средств, обеспечи- вающих обмен сообщениями между процессорами.
Фактически коммуника- ционная среда в данном случае является ан
алогом общей шины традицион- ных ЭВМ и поcему оказывает сильнейшее влияние на производительность всей вычислительной системы.
2.4.3.1 Транспьютерные системы В середине 80-х г.г. фирмой Inmos Ltd. (в дальнейшем вошедшей в объе- динение SGS Thomson) были выпущены специализированные микропроцес- сорные устройства серий T-2xx, T-4xx и T-8xx названные
транспьютерами.
Транспьютеры содержат на едином кристалле собственно процессор, блок памяти и коммуникационные каналы (
линки) для объединения транспьютеров в параллельную систему. Линки (два проводника, позволяющие передавать данные последовательно в противоположных направлениях, т.н. линки типа
OS,
OverSampled) позволяют передавать данные c пропускн
ой способностью
10 Мбит/сек (для транспьютера T-805 дост
упна скорость до 20 Мбит/сек). В
90-е годы SGS Thomson были разработаны более производительные и интел- лектуальные транспьютеры (модель T-9000 поддерживала
виртуальные лин-*
The
Bladed
Beowulf: A Cost-Effective Alternative to Traditional Beowulfs.
W.Fengy, M.Warrenz, E.Weigley. Advanced Computing Laboratory, Computer & Computa- tional Sciences Division, Los Alamos National Laboratory, Theoretical Astrophysics Group,
Theoretical Division, 2002, p.11.
- 52 -
ки, имела аппаратный коммутатор линков C-104 и более производительные двухпроводные DS-линки). Подобные идеи привели к разработке стандарта
IEEE P1355, предусматривающего передачу данных со скоростями от 10
Мбит/сек до 1 Гбит/сек [4]. Во второй половине 90-х фирма Texas Instruments выпустила транспьютероподобные сигнальные микропроцессоры TMS 320
C4x, Analog Device предлагает подобные устройства серии ADSP 2106x
(пропускная способность 20 и 40 Мбит/сек соответственно).
Транспьютеры содержат 4
÷
6 линков, что позволяет аппаратным образом реализовывать топологии ‘двумерная-’ и ‘трехмерная решетки’ (в некоторых случаях ‘гиперкуб’) вычислительных узлов, а также осуществлять связь с дисковыми массивами .
Значительная пропускная способность транспьютеров (наряду с их высо- кой ‘интеллектуальностью’ вследствие наличия 32-битового процессора) привели к созданию вычислительных систем, состоящих из транпьютеропо- добных вычислительных узлов; в этом случае ориентированная на вычисле- ния компонента реализована мощным вычислительным микропроцессором, а коммуникационная – транспьютером. Типичный пример такой конфигурации
– российские суперкомпьютеры семейства MBC-100 и МВС-1000/200 (НИИ
‘Квант’, середина 90-х г.г.), каждый вычислительный узел которых включает вычислительный и коммутационный микропроцессоры (i80860XR/i80869XP фирмы Intel и транспьютеры T-805/T-425 для МВС-100 и DEC Alpha 21164 и
TMS 320C44/ADSP Sharc 21000 для МВС-1000/200).
Структурный модуль МВС-100 представляет собой двумерную матрицу из
16 вычислительных модулей (в каждом использованы транспьютеры с 4-мя линками рис.13a, максимальная длина пути равна 3), для присоединения внешних устройств используются 4 линка угловых вычислительных модулей, для связи с внешними структурными модулями остается 8 линков.
Базовый вычислительный блок объединяет 2 структурных модуля (рис.12б, максимальная длина пути равна 5, имеется еще 16 линков для дальнейшего объединения). Схема объединения двух базовых блоков приведена на рис.13в, максимальная длина пути равна 6), при этом дальнейшее наращива- ние возможно посредством дополнительных транспьютеров (см. выделенный пунктиром компонент рис.13в).
В настоящее время транспьютерные технологии считаются уходящими в прошлое, на смену им пришли более гибкие и технологичные в применении сетевые технологии.
- 53 -
Рисунок 13 — Возможные структурные схемы системы МВС-100: a) – структурный мо- дуль 4
×
4, б) – базовый вычислительный блок (32 вычислительных модуля), в) – возможная схема объединения двух базовых блоков.
2.4.3.2 Универсальные высокопроизводительные коммуникационные сети: производительность, латентность и цена обмена Важной характеристикой коммуникационной сети является (эксперимен- тально замеренная) зависимость ее про- изводительности от размера сообщений; только при достаточно больших (обыч- но выше
≈
100 kбайт) размерах сообще- ний сеть выходит на максимум произ- водительности
Smax
(рис.14).
Производительность канала обмена данными в простейшем случае опреде- ляют на операциях ‘точка-точка’ (обмен между двумя узлами) и замеряют в
Мбайт/сек за достаточное продолжи- тельное время (минуты). Однако в ре- альности межпроцессорный обмен дан- ными характеризуется большим числом относительно коротких (десятки
÷тыся- чи байт) пос