Многопроцессорные векторные суперкомпьютеры Cray SV1

На этом поле «играют» только избранные — прежде всего это американская компания SGI, производящая компьютеры с маркой Cray, и японские NEC и Fujitsu. Все прогнозы об уходе компьютеров этой архитектуры с рынка пока не оправдались. Векторные процессоры NEC SX-5 и Cray SV-1 по-прежнему значительно опережают по производительности вычислений с плавающей запятой самые быстродействующие микропроцессоры. И все же рискну предположить, что доля векторных систем в парке установленных суперкомпьютеров будет постепенно уменьшаться. В то же время сохраняются серьезные задачи, в которых применение векторных систем весьма эффективно. Ну, а на спрос всегда есть и предложение.

Сray SV1, последнее поколение векторных систем SGI/Cray, о котором было объявлено еще в 1998 году, можно считать наследником мини-суперкомпьютеров Cray J90, представленных в 1994 году. Однако, с моей точки зрения, они могут использоваться и как альтернатива мощным Cray T90, появившимся годом позже Cray J90.

Векторная виктория

Векторные компьютеры Cray J90 были весьма популярны: общее число их установок превысило 400. Но относительная дешевизна этих компьютеров сочеталась с не слишком большой для подобных систем производительностью их центральных процессоров (200 MFLOPS, см. таблицу), которую лучшие RISC-микропроцессоры превзошли уже довольно давно. По-моему, именно производительность центральных процессоров была самым узким местом Cray J90. Поэтому выпуск компьютеров Cray SV1 с относительно невысокой базовой ценой, но с быстродействующими процессорами (1 GFLOPS и более), представляется верным шагом SGI, хотя, возможно, в определенном смысле несколько запоздалым. Вероятно, системы Cray SV1 будут приобретаться в первую очередь для модернизации уже существующих векторных суперкомпьютеров, а не для расширения числа сторонников векторной архитектуры.

Сray SV1, последнее поколение векторных систем SGI/ Cray, можно считать наследником мини-суперкомпьютеров Cray J90

Общая архитектура Cray SV1 представлена на рисунке. Ее анализ стоит начать с главного козыря SV1 — ее центрального процессора. «Базовые» процессоры SV1 имеют по два векторных конвейера, каждый из которых может выполнять две операции с плавающей запятой за один такт. При тактовой частоте в 250 МГц это дает производительность 2 GFLOPS, что в пять раз выше, чем у 100-мегагерцевого Cray J90, но по-прежнему уступает RISC-микропроцессорам. В 1999 году появилась версия Cray SV1 с 300-мегагерцевым процессором с производительностью уже 1,2 GFLOPS, но и это ниже, чем у некоторых RISC-микропроцессоров.

Однако у Сray SV1 есть в запасе «хитрый финт», позволяющий ее центральному процессору обогнать RISC-микропроцессоры. Из обычных процессоров Cray SV1 можно сконфигурировать так называемые многопоточные процессоры путем объединения четырех стандартных двухконвейерных процессоров в один. При этом все векторные регистры отдельных процессоров становятся общими, число конвейеров становится равным восьми, а пиковая производительность — 4/4,8 GFLOPS для процессоров на 250/300 МГц соответственно.

Вот это уже превышает возможности RISC-микропроцессоров, не перешагнувших границу 2 GFLOPS. Многопоточные процессоры побеждают по производительности также и Cray T90 (1,8 GFLOPS), хотя сильно отстают от японских конкурентов — NEC SX-5 (8 GFLOPS, см. таблицу) и Fujitsu VPP5000 (9,6 GFLOPS). Оценка производительности процессора SV1 на тестах Linpack (536 MFLOPS при N = 100, 996 MFLOPS при N = 1000) подтверждает это соотношение. Не стоит забывать и об отношении стоимоcть/производительность, которое для Cray SV1 очень хорошее.

Если задачи хорошо векторизуются, но плохо распараллеливаются, многопоточный центральный процессор — то, что нужно. Процессоры SV1 двоично совместимы с Cray J90/Y-MP, а на уровне исходных текстов — и с Cray T90. Поэтому для Cray SV1 доступно около 500 векторизованных приложений.

Кстати, о совместимости: сохраняя совместимость с предыдущими векторными процессорами Cray, SV1 по-прежнему использует собственный формат представления чисел с плавающей запятой, отличный от cтандарта IEEE 754.

Вся такая симметричная...

C целью сохранения инвестиций в предыдущие модели суперкомпьютеров обеспечена возможность гибкой миграции от J90 к SV1. Допускается, например, размещение процессорных плат SV1 в шкафу от Cray J90. Но наиболее тесная «связь» SV1 и J90 обусловлена тем, что оба компьютера имеют одинаковую подсистему оперативной памяти.

Известно, что одним из основных преимуществ векторно-параллельных суперкомпьютеров перед многопроцессорными системами на базе «серийных» RISC-микропроцессоров является гораздо более высокая пропускная способность памяти. Резкое повышение производительности центрального процессора при сохранении пропускной способности оперативной памяти в Cray SV1 делает эту характеристику потенциально узким местом. IDC в своем отчете отмечает, что SGI следует работать над увеличением пропускной способности памяти.

Для обеспечения быстродействующего процессора SV1 потоком данных он комплектуется векторным кэшем. Ранее в компьютерах Cray отказывались от применения такого кэша: достаточно высокая пропускная способность оперативной памяти обеспечивала необходимый темп поступления данных в векторные регистры. Векторный кэш имеет емкость 256 Кбайт и является четырехканальным частично-ассоциативным. В нем используется алгоритм сквозной записи. Ширина шины кэша равна 8 байт, а ее пропускная способность в 250-мегагерцевом SV1 составляет 8 Гбайт/с. Кэш является неблокирующимся; при необходимости данные в память и из нее могут проходить, минуя кэш. Кэш позволяет достичь пропускной способности, теоретически требуемой центральным процессором, в то время как пропускная способность интерфейса оперативной памяти составляет всего 6,4 Гбайт/с.

Архитектура Cray SV1-1A с коммутатором 4х4

Длина строки кэша равна 8 байт, что эквивалентно одному элементу векторного регистра. Если в Cray J90 восемь векторных регистров по 64 элемента в каждом, то есть всего 512 элементов, то емкость векторного кэша SV1 — уже 32К элементов. Однако для оптимизации использования векторного кэша существующие векторные приложения для компьютеров Cray предыдущих поколений должны быть переработаны.

На каждой процессорной плате размещается по четыре процессора, которые разделяют общий интерфейс к оперативной памяти. На процессорной плате имеется также интерфейс к каналу ввода/вывода GigaRing с пропускной способностью 1 Гбайт/с. Шкаф SV1 содержит систему с симметрично-многопроцессорной архитектурой, основанной на коммутаторе 8х8 c конструктивом backplane. Его восемь портов используются для подсоединения восьми процессорных плат, а другие восемь портов — для подсоединения оперативной памяти. Соответственно SMP-система SV1 может масштабироваться до 32 двухконвейерных центральных процессоров. Общее число каналов GigaRing на систему может при этом достигать восьми.

При конфигурировании многопоточных центральных процессоров каждый такой восьмиконвейерный процессор объединяет в себе четыре двухконвейерных — по одному из четырех разных процессорных плат (см. рисунок). Поэтому многопоточный ЦП обменивается данными с ОП сразу через четыре интерфейса ОП, и ПС ОП для такого ЦП составляет 25,6 Гбайт/с.

В обычном шкафу SV1 можно сконфигурировать до шести многопоточных процессоров плюс восемь обычных двухконвейерных. Возможность создания различных смешанных конфигураций, отличающихся числом процессоров разных типов, позволяет точно подстроить конфигурацию SV1 под конкретные особенности задач пользователя. Однако суммарная пиковая производительность SV1 при такой переконфигурации не меняется (до 32/38 GFLOPS при 250/300 МГц соответственно).

Оперативная память SV1 построена по технологии DRAM и имеет емкость от 2 до 32 Гбайт. Она может включать 256, 512 и 1024 банка; соответственно максимальный уровень расслоения (чередования адресов) оперативной памяти, используемого для повышения ее пропускной способности, равен 1024.

Кроме SMP-систем SV1, SGI предлагает также кластеры на их основе. Конечно, если воспользоваться журналистским штампом, то можно сказать, что кластеры нынче не предлагает только ленивый. Однако кластер кластеру рознь. Такого высокоскоростного соединения узлов, как используемые SGI каналы GigaRing, конкуренты предложить не могут.

Основным «строительным блоком» кластера являются четырехузловые системы. До восьми таких блоков можно объединить, доведя общее число процессоров до 1024 (192 многопоточных). Это позволяет иметь суперкомпьютерную систему с емкостью оперативной памятью свыше 1 Тбайт и производительностью свыше 1 TFLOPS (отметим, что самые мощные массивно-параллельные системы, в том числе от самой SGI, этот рубеж превзошли еще раньше). Такие высокие характеристики масштабирования векторных многопроцессорных систем — одна из наиболее привлекательных черт Cray SV1, на что указывает и сама аббревиатура SV (Scalable Vector).

Топология кластера может быть различной, но SGI предполагает, что для «маленьких» конфигураций будут чаще использоваться соединения «точка-точка», а для больших — двухмерный тор. Вообще-то Cray SV1 использует воздушное охлаждение, но в кластерных конфигурациях возможно и водяное охлаждение.

Стоимость минимальной конфигурации SV1-1A (восемь двухконвейерных центральных процессоров) составляет 500 тыс. долл., а такой же, но с возможностью расширения SV1-1 — 1 млн. долл. Очевидно, что соотношение стоимость/производительность для таких систем выглядит весьма привлекательно.

Мостик в будущее

SGI переживает сейчас бурные времена. Необходимость консолидации четырех линеек суперкомпьютерных систем (Origin, T3E, J90, T90), планы выделения Cray в самостоятельную компанию — все это делает ситуацию быстро меняющейся.

В планах SGI — миграция к общей архитектуре распределенной памяти (SV1, а затем SV1e — это шаги в данном направлении), причем J90 и Т90 должны «слиться» в архитектуре SV2, а T3E и Origin (пройдя по пути через SN1) — в SN2. Плюс слияние ОС UNICOS и IRIX. Остается ли все это в силе с учетом относительно недавних организационных изменений, автору неизвестно. Ясно одно: такая cолидная фирма в состоянии гарантировать безболезненный переход пользователей от существующих систем к компьютерам новых поколений. И в этом смысле Cray SV1 — мостик в счастливое «интегрированное» будущее.

Михаил Кузьминский — старший научный сотрудник Центра компьютерного обеспечения химических исследований РАН. С ним можно связаться по телефону (095) 135-6388


Кто быстрее?

Характеристики производительности центральных процессоров векторных суперкомпьютеров
  J90 YMP C90 T90 SV1 (2 конвейера) SV1 (8 конвейеров) NEC SX-5
GFLOPS 0,2 0,33 0,96 1,80 1,2 4,8 8,0
Пропускная способность памяти, Гбайт/с 1,6 4,0 11,5 21,6 6,4 25,6 32,0