Когда в 1974 году состоялся дебют Cray-1, определение «векторный» однозначно ассоциировалось с супервычислениями. Однако сегодня векторные операции (правда, над векторами длиной не более 16 элементов, а для чисел с плавающей запятой двойной точности — и вовсе не более двух элементов) реализуются в микропроцессорах для массовых платформ, в том числе, для ПК (Pentium 4/SSEx). А сами суперкомпьютеры в своем большинстве обрели массивно-параллельную архитектуру, без ориентации на обработку векторов.

Закат эпохи векторных суперкомпьютеров пришелся на 90-е годы, когда мировыми лидерами являлись многопроцессорные векторные системы Cray C90/T90 [1]. Затем ведущим производителем векторных систем стала японская корпорация Nippon Electric, или NEC, выпустившая несколько поколений суперкомпьютеров семейства SX [2]. Первый из них, SX-1, появился еще в 1983 году.

В настоящее время самыми мощными векторными суперкомпьютерами, среди серийно выпускаемых систем, являются SX-6 и SX-7 [3]. Более того, звание самого быстродействующего суперкомпьютера в рейтинге TOP500 вот уже второй год удерживает за собой уникальная вычислительная установка — NEC Earth Simulator [4], построенная все на тех же векторных процессорах от NEC.

NEC SX-6/7

КМОП-технология впервые появилась у NEC в SX-4 в 1995 году, а в 2001 году в SX-6/7 векторный процессор, включая скалярное устройство (SU), был реализован на одном кристалле. Заметим, что в SX-5 применялось целых 34 микросхемы, поэтому, естественно, и стоимость SX-5 была существенно выше.

При изготовлении процессора SX-6 применена 0,15-микронная КМОП-технология с медными соединениями. Частота процессора равна 500 МГц; он содержит 8 векторных устройств (VPU), способных выполнять сложение и умножение «с зацеплением», т.е. с образованием единого конвейера «умножить-и-сложить». Это дает 16 результатов с плавающей запятой за такт, или 8 GFLOPS пиковой векторной производительности.

В SX-6 восемь процессоров объединяются в один узел с общей оперативной памятью емкостью 64 Гбайт, и уже эти узлы могут объединяться с помощью коммутатора Internode Crossbar Switch (IXS) в единую суперкомпьютерную систему с глобально адресуемой оперативной памятью. SX-7 предназначена для тех, кому нужны мощные узлы со сверхбольшой емкостью памяти (256 Гбайт, 32 процессора).

Кроме того, имеется специализированная конфигурация SX-6i для «персонального пользования», содержащая один процессор и 16 Гбайт памяти [3].

Процессор, кроме восьми устройств VPU (рис. 1), содержит устройство SU, координатный коммутатор (crossbar switch) для связи с оперативной памятью и другую логику управления.

Рис. 1. Процессоры SX-6

В свою очередь, VPU состоит из управляющего устройства и векторного функционального устройства (VFU), которое содержит конвейеризированные блоки для сложения/сдвига, умножения, деления и логических операций. Помимо VFU, имеется устройство для выполнения операции маскирования, позволяющей векторизовать конструкции ветвления (например, операторы IF в Фортране) и устройство загрузки/записи векторных регистров.

VPU содержит регистр маски и 72 векторных регистра длиной 256 64-разрядных слов, содержимое которых, в отличие от SU, не кэшируется. SU осуществляет функции управления VPU и выполняет скалярные команды, фактически имея микроархитектуру суперскалярного микропроцессора с динамическим предсказанием переходов и спекулятивным внеочередным выполнением команд (рис. 2). (Любопытно, что в предыдущих моделях SX скалярное устройство было копией микропроцессора MIPS R10000.)

Рис. 2. Скалярное устройство процессоров SX-6

SU декодирует, выдает на выполнение и завершает до 4 команд за такт. В микроархитектуре SU применяется буфер переупорядочения команд ROB емкостью 48 строк, что обеспечивает возможность внеочередного выполнения команд. Для предсказания переходов используется таблица их предыстории емкостью 256 строк по два бита. Как и в других суперскалярных процессорах, кэши команд (I) и данных (D) емкостью по 64 Кбайт не блокируются при промахах.

Учитывая, что SU, как и весь процессор, работает на тактовой частоте 500 МГц, скалярная обработка является слабым местом SX-6/7 по сравнению с современными высокопроизводительными микропроцессорами.

Узел SX-6/7 помимо процессоров включает в себя коммутационное соединение процессора с памятью, устройства управления памятью (MMU) и устройство управления удаленным доступом (RCU), служащее для обмена данными с другими узлами, а также до 4 процессоров ввода-вывода IOP (рис. 3). Компоненты используемого в узлах координатного коммутатора расположены в сетевых процессорах (PNU) и в блоках MMU.

Рис. 3. Узлы SX-6

В узлах SX-6 применяются управляемые IOP каналы ввода-вывода с пропускной способностью 8 Гбайт/с. Поддерживаются интерфейсы Gigabit Ethernet, HiPPI (для построения кластеров), FC-AL и SCSI. Всего в компьютере SX-6 может быть до 128 каналов, и, естественно, все каналы работают одновременно.

Всего в узле имеется 32 устройств MMU с суммарной емкостью памяти в 64 Гбайт. Пропускная способность одного устройства MMU равна 8 Гбайт/с, а всех устройств MMU узла — соответственно 256 Гбайт/с (или 32 Гбайт/с на процессор). Плата MMU имеет емкость 2 Гбайт и включает управляющую микросхему и монтируемые на платы модули памяти типа DDR SDRAM. Для ускорения последовательного доступа к оперативной памяти в SX-6 используется 4096-кратное расслоение. Основные характеристики конфигураций SX-6/7 приведены в Таблицах 1 и 2.

Таблица 1. Конфигурации одноузловых систем

  SX-5 SX-6 SX-7
Максимальное число центральных процессоров 16 8 32
Пиковая производительность центрального процессора, GFLOPS 8 8 8,8
Суммарная пиковая производительность, GFLOPS 128 64 282
Максимальная емкость оперативной памяти, Гбайт 128 64 256
Суммарная пропускная способность оперативной памяти, Гбайт/с 1024 256 1129
Пропускная способность памяти в расчете на процессор, Гбайт/с 64 32 35,3

Таблица 2. Конфигурации многоузловых систем

  SX-5 SX-6
Максимальное число узлов 32 128
Максимальное число центральных процессоров 512 1024
Суммарная пиковая производительность, TFLOPS 4 8
Максимальная емкость оперативной памяти, Тбайт 4 8
Суммарная пропускная способность памяти, Тбайт/с 32 32

 

В многоузловой системе отдельные 8-процессорные узлы связываются координатным коммутатором IXS, для чего используются блоки RCU. RCU обеспечивают прием и передачу данных с пропускной способностью 8 Гбайт/с.

Применение большого координатного коммутатора, поддерживающего до 128 узлов, способствует уменьшению вероятности конфликтов по сравнению с многоуровневой системой коммутаторов. Очевидной оборотной стороной такого решения является дороговизна координатного коммутатора.

Связь узлов с IXS осуществляется с половинной пропускной способностью 8 Гбайт/с на канал, работающий на частоте 500 МГц. Это отвечает половинной пропускной способности 128-узловой системы SX-6, равной 1024 Гбайт/с (под половинной пропускной способностью понимается скорость, с которой одна «половина компьютера» может обмениваться данными с другой половиной).

Для повышения надежности при обмене данными используются коды ECC. Заголовки передаваемых данных для любой транзакции содержат информацию о маршрутизации, что упрощает аппаратуру IXS. Передача данных может осуществляться в синхронном и асинхронном режимах.

Для преобразования из логического адреса оперативной памяти в пару (номер узла, адрес памяти в узле) в RCU имеется специальный буфер GATB. Кроме того, для организации синхронизации процессов с использованием команд типа «проверить-и-установить» используется регистр глобальных коммуникаций GCR.

Хотя пиковая производительность процессоров в SX-6 по сравнению с SX-5 не изменилась, в SX-6 на 45% уменьшились задержки оперативной памяти. На тестах Linpack (n=1000) 8-процессорный узел достигает 65% пиковой производительности, демонстрируя хорошую масштабируемость с ростом числа процессоров (Таблица 3). К вопросам производительности мы еще вернемся, а пока остановимся лишь на характеристиках пропускной способности оперативной памяти.

Таблица 3. Результаты тестов Linpack, MFLOPS

Процессор, время цикла Число проце-ссоров Производительность, MFLOPS
n=100 n=1000 Пиковое значение
NEC SX-6, 2 нс 1 1161 7575 8000
  2 н/д 13350 16000
  4 н/д 23680 32000
  8 н/д 41520 64000
NEC SX-5, 4 нс 1 856 7280 8000
Intel Pentium 4/2,53 ГГц, 1 нс 1 1190 2355 5060

Источник: http://netlib2.cs.utk.edu

Современные микропроцессоры могут получать данные с типовой скоростью 6,4 Гбайт/с (в частности, Intel Pentium 4 или Itanium 2). Процессор SX-6 обменивается данными с памятью с пропускной способностью 32 Гбайт/с. Кроме того, в SMP-системах пары процессоров часто разделяют эту полосу пропускания между собой (к примеру, это характерно для процессоров Intel, но для AMD Opteron это не так). Выполненные на многопроцессорных серверах тесты STREAM, служащие для определения пропускной способности оперативной памяти, показывают, что они во много раз уступают NEC SX-6 (Таблица 4).

Таблица 4. Результаты тестов STREAM

Компьютер Число процессоров Производительность, Мбайт/с
copy scale add triad
NEC SX-7 32 876175 865144 869179 872259
NEC SX-6 8 202627 192306 190231 231024
SGI Altix 3000 512 854062 854338 1008594 1007828
HP Alpha Server GS1280 64 347712 341891 373127 377728
IBM eServer p670+/1,5 ГГц 16 32947 33673 35925 36818

Источник: netlib2.cs.utk.edu

NEC Earth Simulator

Сегодня современные MPP-системы и кластеры, построенные на базе массово выпускаемых микропроцессоров, заняли доминирующее положение на суперкомпьютерном рынке, однако некоторые пользователи остаются неудовлетворенными: достигаемая производительность на их приложениях часто гораздо меньше пиковой. Это связано и с трудностями эффективного распараллеливания при большом числе процессоров (в том числе, из-за ограничений быстродействия межсоединения), и с отставанием скорости роста пропускной способности оперативной памяти от производительности процессоров. В поддержанном японским правительством проекте Earth Simulator речь шла и о создании хорошо масштабируемого с ростом числа процессоров приложения (моделирование атмосферных процессов), и о создании самого мощного в мире суперкомпьютера, ориентированного на соответствующие расчеты.

При создании суперкомпьютера Earth Simulator инженеры NEC пошли путем, характерным для Японии как таковой — по пути блестящей технической реализации известных архитектурных решений, что, конечно, предполагает и серьезные собственные разработки. Тот же самый подход использовался и при создании SX-6/7, в которых, например, активно применяется «лобовое» решение с большими и дорогостоящими координатными коммутаторами. Для связи узлов Earth Simulator (они похожи на узлы SX-6 и также содержат 8 векторных процессоров с производительностью по 8 GFLOPS с общим полем памяти) используется еще более масштабный координатный коммутатор, который позволяет объединять уже не 128, а 640 узлов. Соответственно пиковая производительность Earth Simulator, укомплектованного 5120 процессорами, равна 40 TFLOPS.

Нужно сказать, что и процессоры, и узлы Earth Simulator не являются в точности такими, как в NEC SX-6. Процессоры Earth Simulator также изготовлены по 8-слойной КМОП-технологии, с тем же размером транзисторов, что и в SX-6, однако векторные конвейеры работают на тактовой частоте 1 ГГц, и их в Earth Simulator не восемь, как в SX-6, а четыре, так что их пиковая производительность не изменилась. Другие части процессоров, включая интерфейс с оперативной памятью, работают на частоте 500 МГц. Процессор содержит всего 60 млн транзисторов и имеет размер 20,8х20,8 мм, рассеивая в тепло всего 140 Вт, что позволяет обходиться воздушным охлаждением.

Для сравнения, IBM Power4, построенный по технологии 0,18 мкм, имеет площадь 415 кв. мм и теплорассеяние 125 Вт при работе на частоте 1,3 ГГц. В настоящее время Power4+ производится по 0,13-микронной технологии; он содержит свыше 180 миллионов транзисторов при площади 265 кв. мм и имеет энергопотребление 70 Вт при работе на частоте 1,7 ГГц. Теплорассеяние также производимого по 0,13-микронной технологии Itanium 2/1,5 ГГц, содержащего 410 млн транзисторов, при площади 374 кв. мм составляет 130 Вт.

В узлах Earth Simulator используется оперативная память меньшей емкости, чем в SX-6 — 16 Гбайт; уровень расслоения памяти также вдвое ниже — 2048. Пропускная способность оперативной памяти в Earth Simulator та же, что в SX-6: 32 Гбайт/с в расчете на процессор, или 256 Гбайт/с на узел.

Рис. 4. Построение многоузловых систем SX-6

Как и в SX-6, узлы Earth Simulator содержат блоки RCU, отвечающие за межузловые коммуникации; за ввод-вывод отвечают процессоры IOP.

Самые главные особенности Earth Simulator связаны с организацией межузлового коммутатора и с иерархической системой объединения узлов, которую разработчики назвали двухуровневым кластером. Этот межузловой коммутатор, как и собственно пиковая производительность Earth Simulator, поражает воображение: он соединяет 640 узлов, причем любая их пара может обмениваться данными с пропускной способностью, равной 12,3 Гбайт/с в одном направлении, так что суммарная пропускная способность коммутатора равна 7,9 Тбайт/с.

Межузловой коммутатор состоит из управляющего устройства и 128 коммутаторов данных шириной в один байт. Каждый из 640 узлов связан с каждым однобайтным коммутатором данных, так что тракт обмена данными разбивается на однобайтные секции (byte slicing). Для соединений применяются медные кабели, работающие на частоте 1,25 ГГц, и каждый узел использует 130 пар кабелей для подсоединения к коммутатору. (Это дает 83200 кабелей на всю конфигурацию общей длиной 2400 километров!)

Не менее впечатляют и габариты. Сам суперкомпьютер занимает площадь порядка 1600 кв. м (41х40м), будучи установлен в помещении размерами 65х50 м. Всего имеется 320 «кабинетов», содержащих по два узла, да еще сам коммутатор занимает 65 кабинетов, которые расположены в центре данного помещения, занимая площадь 180 кв. м (14х13 м). Кабинеты коммутатора габаритами 120х130х200 см кроме собственно логики коммутатора содержат блоки питания, вентиляторы и кабели для соединения узлов. Кабинеты узлов габаритами 100х140х200 см содержат процессоры, оперативную память, RCU, IOP, диагностический процессор, источники электропитания и др.

Управляющее устройство и коммутаторы данных работают асинхронно, всей передачей данных управляют узлы. Общая последовательность передачи выглядит примерно следующим образом: узел М запрашивает у управляющего устройства резервирование пути к узлу N; управляющее устройство резервирует путь и отправляет подтверждение в узел М; после этого узел М начинает передачу в узел N, по окончании которой тот отправляет подтверждение в узел М. Для того, чтобы обеспечить надежность передачи, используются коды ЕСС.

Межузловой коммутатор поддерживает глобальную адресацию и синхронизацию. Для синхронизации используются специальные аппаратные средства — глобальный барьерный счетчик в устройстве управления и глобальные барьерные флаги в узлах. В Earth Simulator удалось достигнуть высокой масштабируемости коллективных операций при распараллеливании: синхронизация более чем 500 узлов осуществляется всего за 3,5 мкс. Поддерживаемая пропускная способность передачи данных между узлами превышает 12 Гбайт/с, т.е. очень близка к пиковой величине.

Таким образом, эта гигантская вычислительная система может на практике достигать характеристик производительности, сопоставимых с пиковыми, что в скалярных MPP-системах бывает достаточно редко.

Cуперкластерная система

Для того чтобы эффективно управлять и распределять ресурсы Earth Simulator, в NEC организовали ее в виде двухуровневого кластера, назвав его суперкластерной системой.

Набор из 640 узлов разбит на 40 кластеров, по 16 узлов на кластер. Предусмотрено два типа кластеров — S-кластер (один на всю конфигурацию Earth Simulator) и L-кластеры (остальные 39). S-кластер имеет два специализированных узла для интерактивной обработки; другие узлы S-кластера используются для относительно небольших пакетных заданий. Только S-кластер содержит «пользовательские» диски суммарной емкостью 255 Тбайт.

Помимо узлов кластер содержит управляющую станцию кластера CCS, управляющую станцию ввода-вывода IOCS и системные диски суммарной емкостью 415 Тбайт. CCS осуществляет общее управление кластером, включая IOCS, а та, в свою очередь, отвечает за передачу данных между системными дисками и подсистемой массовой памяти на магнитных лентах суммарной емкостью 1,5 Петабайт.

На самом верхнем уровне находится «супервизор» — управляющая станция суперкластера SCCS, которая управляет всеми 40 кластерами, обеспечивая представление Earth Simulator как единого целого. Строго говоря, SCCS представлена в четырех экземплярах (две пары с общей дисковой памятью), что дополнительно повышает надежность. Детальнее соответствующие характеристики конфигурации Earth Simulator рассмотрены в [4].

Страсть к длинным векторам

Суперкомпьютеры NEC SX имеют высокие показатели на тестах Linpack с длинными векторами. Высокие показатели демонстрируются и на аналогичных приложениях. Так, в спектральном методе для глобальной атмосферной циркуляции в модели, специально разработанной в рамках проекта Earth Simulator, удалось достигнуть производительности 26,6 TFLOPS, т.е. около 65% пикового значения, что сопоставимо с 36 TFLOPS, полученными при прогоне типового теста Linpack parallel (Таблица 5).

Таблица 5. Результаты тестов Linpack parallel

Компьютер Число процессоров Достигнутая производи-тельность, GFLOPS Пиковая производи-тельность, GFLOPS
NEC Earth Simulator 5120 35860 40960
ASCI White IBM SP3 8000 7226 12000
Compaq AlphaServer SC ES45/EV68 3016 4463 6032
NEC SX-5/128 128 1192 1280
NEC SX-6/128 128 982 1024

 

В то же время, на коротких векторах (n=100) на тестах Linpack процессоры SX-6 уступают обычным микропроцессорам Pentium 4 уже на тактовой частоте 2,5 ГГц. При скалярной обработке SX-6/7 будут сильно уступать современным массовым микропроцессорам: достаточно вспомнить, что тактовая частота процессора SX-6 равна всего 500 МГц. Наконец, по пиковой производительности (8 GFLOPS; кстати, этот уровень был получен NEC уже несколько лет назад) процессор SX-6 лишь немного опережает устанавливаемый в обычные «персоналки» Pentium 4/3,4 ГГц (6,8 GFLOPS), а IBM PowerPC 970fx/2 ГГц вообще уже достиг тех же самых 8 GFLOPS.

Поэтому представляется, что в ближайшие годы применение NEC SX-6/7 будет ограничено научно-техническими приложениями, работающими с длинными векторами и требующими большой пропускной способности оперативной памяти, а также, возможно, унаследованными приложениями.

Литература
  1. Михаил Кузьминский, «Cray под микроскопом". Computerworld Россия, № 4, 1995.
  2. М.Кузьминский, "Векторно-параллельные суперкомпьютеры NEC». Открытые системы, № 3, 1999, с. 16.
  3. S. Kitagawa, S. Tagaya, Y. Hagihara, Y. Kanoh, Hardware Overview of SX-6 and SX-7. NEC Res. & Develop., vol. 44, no. 1, 2003.
  4. S. Habata, M. Yokokawa, S. Kitawaki, The Earth Simulator System. NEC Res. & Develop., vol. 44, no. 1, 2003.