MPP-системы SR2201 от Hitachi

Векторно-конвейерные суперкомпьютеры становятся такими же "бронтозаврами", как мэйнфреймы IBM. Как и традиционные мэйнфреймы, они стоят значительно дороже альтернативных систем на базе микропроцессоров RISC-архитектуры. Аналогично мэйнфреймам, их доля на суперкомпьютерном рынке резко снизилась. Подобно мэйнфреймам, во многом присутствие векторных суперкомпьютеров на рынке диктуется наличием важных приложений, перенос которых на другую платформу - очень сложная задача. Как и мэйнфреймы, их элементная база мигрирует к КМОП-технологии. Как и мэйнфреймы, векторные системы имеют определенные преимущества перед другими суперкомпьютерными архитектурами.

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

Компании-производители систем с массовым параллелизмом (МРР), ставших сегодня основной суперкомпьютерной платформой, заботятся о том, как ликвидировать их слабые места.

Например, ведущая американская суперкомпьютерная компания SGI/Cray придает особое значение увеличению пропускной способности памяти в МРР-компьютерах Origin2000. Эта же компания планирует резко увеличить пропускную способность тракта "МП-ОП" в будущем поколении микропроцессоров H1.

"Восток - это не Запад" не только в экономике. Япония использует не только собственную экономическую модель, но и оригинальные модели суперкомпьютеров, которые подчас вытесняют американские с американского же рынка. В Японии "чтут традиции" даже в компьютерной сфере. Наиболее отличилась здесь Hitachi. В отличие от IBM она выпускает самые мощные в мире мэйнфреймы Skyline, используя гибридную КМОП-ЭСЛ-технологию, а не чисто КМОП-технологию. Hitachi не так давно (по суперкомпьютерным меркам) выпустила в свет одну из самых мощных в мире векторных систем S3800. Здоровый консерватизм Hitachi проявился и при создании МРР-систем SR2201, о которых и пойдет речь ниже. Hitachi решила проблему пропускной способности собственным, оригинальным способом.

Процессорные элементы SR2201

Как и в любой МРР-системе, вычислительные мощности SR2201 сосредоточены в ее процессорных элементах (ПЭ), которые бывают двух типов: процессорные модули (PU) и модули ввода-вывода (IOU). PU отвечают, естественно, собственно за проведение вычислений, а IOU - управляют вводом-выводом. Один из IOU отвечает также за управление системой и называется супервизорным IOU (SIOU).

Блок общего управления памятью (storage controller) является устройством, соединяющим собственно процессор (IP) c сетевым адаптером NIA и контроллерами ОП: контроллером адресов МСА и контроллерами данных MCD. SC обрабатывает запросы к ОП от IP, направляя их или в контроллеры ОП, или в NIA.

NIA отвечает за связь PU c тремя коммутаторами (crossbar switch), которые мы рассмотрим ниже. Сейчас достаточно сказать, что через эти коммутаторы осуществляется связь PU с другими ПЭ. NIA читает/пишет данные из/в ОП непосредственно через SC путем прямого доступа в память (DMA). ПЭ IOU и SIOU устроены аналогично, но в них имеется еще и менеджер шины ввода-вывода, также подсоединенный через SC.

Псевдовекторная обработка

Пожалуй, это свойство IP в SR2201 вызывает наибольший интерес. Вообще IP представляют собой модифицированные фирмой Hitachi RISC-МП c архитектурой HP PA-RISC 1.1, работающие на тактовой частоте 150 МГц и имеющие пиковую производительность 300 MFLOPS. Понятно, что на сегодня это далеко не лидирующий показатель. Однако в мире МРР производительность достаточно часто достигается за счет количества ПЭ, а не за счет качества (производительности каждого ПЭ).

Модифицированный МП назван Hitachi HARP-1E. Главная задача модификации - обеспечение псевдовекторной обработки (Pseudo Vector Processing, PVP). Появление PVP связано с основной целью, стоящей перед разработчиками SR2201 - проведением крупномасштабных (large-scale) научно-технических расчетов. Нередко такое приложение требует огромного пространства данных, и при этом в кэш часто не помещается не только оно само, но и его рабочее множество страниц. В результате появляется необходимость в быстрой передаче данных на тракте МП-ОП, да еще с маленькими задержками. Последнее становится маловероятным из-за обработки частых непопаданий в кэш. Эта ситуация может приводить к деградации производительности при росте размерности системы. Определенные аналогии можно усмотреть и в коммерческих приложениях, характеризующихся случайными обращениями к оперативной памяти.

Известно, что в подобных случаях в некоторых микропроцессорах предусматривается возможность заблокировать, например, работу алгоритма обратной записи, и тогда результаты пишутся прямо в оперативную память. В частности, в AMD K6 можно не только заблокировать этот алгоритм, используя вместо него сквозную запись, но и вовсе отключить кэширование. Hitachi пошла в этом смысле по более революционному пути - взяв пример с векторных суперкомпьютеров она обеспечила возможность отказа от буферизации данных в кэш-памяти. С точки же зрения архитектуры векторных суперкомпьютеров, это - наоборот, еще одно проявление здорового консерватизма со стороны фирмы Hitachi.

При использовании PVP данные из оперативной памяти передаются, минуя кэш, в 128 регистров с плавающей запятой. Чтобы "скрыть" возникающую при этом задержку, необходимо обеспечить тщательное планирование кодов, для чего используется "предварительная загрузка" (preload) и техника конвейеризации программного кода, активно применяемая в современных оптимизирующих компиляторах. Загрузка в эти регистры с плавающей запятой является не блокирующейся.

Реализация PVP опирается на свойство суперскалярности МП, т.е. на их возможность одновременно выполнять несколько команд. Тогда, например, тело цикла скалярного умножения на рис. 2 преобразуется так, что оно приобретает 2 части-сегмента. В первом сегменте осуществляется предварительная загрузка в регистры, которые будут использованы на следующей итерации цикла, а во втором, выполняющемся одновременно с первым, проводятся собственно вычисления с плавающей запятой с помощью регистров, загруженных нужными данными на предыдущей итерации цикла. За каждый такт IP выдает на выполнение команду предварительной загрузки и команду с плавающей запятой.

Собственно, такое уникально большое число регистров с плавающей запятой и понадобилось для реализации предварительной загрузки. Арифметические операции выполняются с поднабором смежных регистров, называемым окном. Число таких регистров в окне равно числу регистров с плавающей запятой в архитектуре PA-RISC. Поэтому в HARP-1E изменения в системе команд оказались небольшими; появилось только несколько новых команд типа "предварительная загрузка", "переключение окна" и т. д.

Межсоединение

Рис. 2 отражает общее строение SR2201 и его межсоединения, представляющего собой 3-мерную сеть коммутаторов. В каждом направлении располагается по нескольку коммутаторов. NIA в каждом ПЭ включает в себя маршрутизатор, связывающий ПЭ с тремя коммутаторами. X-коммутатор обеспечивает переключение соединений 8х8, a Y и Z - 16x16.

Такая топология межсоединения обеспечивает короткие расстояния между ПЭ - не более трех прыжков (hop) - и низкие величины задержек, в т. ч. при широковещательной рассылке (broadcasting). Минусом такого подхода является, по нашему мнению, не очень высокое масштабирование ПС межсоединения с ростом числа ПЭ.

Каждый канал в такой сети может передавать данные со скоростью 300 Мбайт/с в любом направлении. Для передачи данных в SR2201 используется т. наз. удаленный прямой доступ к памяти. Его суть в том, что данные непосредственно передаются от программы в одном ПЭ к программе в другом ПЭ без вмешательства операционной системы, т. е. без выдачи системного вызова и буферизации в ядре, характерной для OC Unix.

Интересной особенностью SR2201 является возможность логического разбиения всей системы на 8 разделов, каждый из которых автономно выполняет свой поток заданий. Более "сильным" аналогом таких разделов являются домены в Sun Ultra Enterprise 10000 и логические разделы в мэйнфрейме IBM, более "слабым" - возможности образования групп процессоров, например менеджером подкомплексов в ОС SPP-UX в HP/Convex Exemplar.

Подсистема памяти

Для обеспечения эффективности предварительной загрузки, очевидно, необходима высокая ПС ОП. Представленные блоки IP, SC и NIA связаны шинами, работающими на частоте 150 МГц. Ширина каждой из двух соединяющих SC и IP шин, на которых мультиплексируются адреса и данные, равна 8 байт. Для обработки транзакции из-за мультиплексирования требуется 2 такта. На тракте SC-NIA адресные линии отделены от шин данных. Все шины на этом тракте имеют ширину 2 байта. Обмен данными между SC и контроллерами ОП происходит по 2 двунаправленным шинам данных шириной по 8 байт; 2 адресные шины на этом тракте имеют ширину по 4 байта. Все эти шины работают на частоте 75 МГц.

ОП полностью конвейеризирована и разбита на 16 банков. Доступ из МП в ОП с использованием PVP позволяет достигнуть ПС 1,2 Гбайт/с. Если бы вместо PVP использовалась кэш-память, то из-за непопадания в кэш ПС не превысила бы 600 Мбайт/с. Важной особенностью SR2201 является аппаратное обеспечение когерентности кэш-памяти. Во многих современных MPP-системах, в т. ч. в архитектурах ccNUMA, разработчики для увеличения производительности стремятся обеспечить поддержку когерентности аппаратным, а не программным путем.

Конфигурации и производительность

Поставки Hitachi SR2201 начались в конце прошлого года. Выпускаются 2 группы моделей: компактные (8-64 PU) и "high-end" (32-2048 PU) с максимальной емкостью ОП до 64 Гбайт и до 2 Тбайт соответственно. Пиковая производительность компактных моделей превышает 19 GFLOPS, моделей "high-end" - 600 GFLOPS. В Табл. 1 представлены некоторые оценки производительности, приводившиеся специалистами Hitachi. Отметим, что приведенные данные о "конкурентах" - неокончательные: SGI/Cray выпускает теперь Cray T3E, a IBM перешла к поставкам в SP2 новых МП и более высокопроизводительного коммутатора. Однако, по данным представителей Hitachi, Cray T3E также уступает SR2201 по ПС ОП на тестах copy и sum.

Таблица 1.

Сравнительные оценки производительности.



SR2201Cray T3DIBM SP2
Тесты STREAM:
копиpование, Мбайт/с765205600
сложение, Мбайт/с798151655
Пpопускная способность межсоединения:
теоретическая, Мбайт/с30030040
эффективная, Мбайт/с28413035
Пиковая производительность PU, MFLOPS300159264
Linpack parallel, GFLOPS55,325,344,2

На тестах Linpack при N=1000 МП SR2201 достиг производительности 247 MFLOPS (82% от пикового значения). На тестах Linpack parallel на 256-процессорной SR2201 отношение достигнутой производительности к пиковой составило 72%, что выше, чем в IBM SP2 и Cray T3D (65-66%). На 1024-процессорной SR2201 достигнута производительность 220,4 GFLOPS ("КПД"также равен 72%). В список TOP500 крупнейших инсталляций суперкомпьютеров попал целый ряд установок SR2201.

Можно прийти к заключению, что инновации архитектуры МП достигли своей цели, и вместе с другими особенностями SR2201 способствовали коммерческому успеху. Однако, по мнению автора, предложенный путь усовершенствований МП не является единственным, решающим проблему увеличения ПС памяти. Применение неблокирующейся кэш-памяти и предварительной выборки в нее (prefetch), которое реализовано, например, в SGI/MIPS R10000, - также определенный шаг в этом направлении. Поэтому пока рано говорить о том, что рецепт Hitachi является панацеей, которая поможет преодолеть отставание компьютеров, использующих RISC-МП, от векторно-конвейерных систем. Несомненно, однако, что архитектурные решения HitachiSR2201 представляют большой интерес.