с массовым параллелизмом (MPP), а Cray Origin 2000 заняли нишу систем несколько меньшего масштаба (в первую очередь по числу процессоров).

Семейство Cray T3E представлено на рынке не один год, однако в последнее время статус этих суперкомпьютеров качественно изменился. В техническом плане произошла модификация Cray T3E, связанная с переходом к более быстрым процессорам, а также наблюдается рост реального уровня масштабируемости (показателем которого разумно считать число процессоров в поставляемых конфигурациях). В результате новейшие модификации компьютеров этого семейства сумели заметно потеснить всех своих конкурентов из числа мировых лидеров, добившихся наибольшей производительности: в первую двадцатку рейтинга суперкомпьютеров TOP500 входит 13 систем Cray T3E, одна - IBM, одна - компании Hitachi, одна - компании Fujitsu; еще четыре нельзя отнести к числу серийно производящихся (речь идет о специально собранных уникальных экземплярах).

В ранних моделях Cray T3E использовались 300-мегагерцевые микропроцессоры DEC Alpha 21164; затем появились Cray T3Е-900 на базе процессоров с тактовой частотой 450 МГц (производительность 900 MFLOPS), и, наконец, осенью прошлого года их сменили Cray T3E-1200 (600 МГц/1200 MFLOPS). Примечательно, что в SGI/Cray Research не только поставили, можно сказать, "на конвейер" замену "голов" - модернизацию центральных процессоров в Cray T3E, но и обеспечили возможность совместной работы в рамках единой MPP-системы процессоров разных типов. Это позволяет максимально защитить инвестиции владельцев ранних моделей компьютеров Cray.

Архитектура Cray T3E

Рассмотрим подробнее архитектурные особенности Cray T3E, отличающие ее от других МРР-cистем с физически распределенной оперативной памятью.

Как и любая МРР-cистема, Сray T3E состоит из большого числа процессорных узлов, или процессорных элементов (строение узлов отражает рис.). Все процессорные узлы связаны между собой посредством межсоединения, имеющего топологию трехмерного тора. Двунаправленные каналы, соединяющие узлы в торе, обладают пиковой пропускной способностью 600 Мбайт/с в каждом направлении - итого 1,2 Гбайт/с на канал. Поддерживаемая же пропускная способность в зависимости от типа трафика составляет от 100 до 480 Мбайт/с в одном направлении.

Изучим строение каждого узла более детально. Он содержит, помимо процессора, микросхему управления системой, локальную оперативную память и сетевой маршрутизатор. Начнем с оперативной памяти. Хотя физически память распределена между узлами, в совокупности она является общей, разделяемой всеми узлами. Однако когерентность кэш-памяти процессора обеспечивается только с собственной локальной памятью; иными словами, нормально кэшируется лишь локальная оперативная память. Поэтому архитектуру Cray T3E нельзя отнести к классу ccNUMA. Некэшируемая для данного микропроцессора часть адресного пространства может использоваться для ввода/вывода.

Локальная память (ее емкость - от 64 Мбайт до 2 Гбайт) управляется четырьмя микросхемами контроллера оперативной памяти, которые контролируют 8 банков, составленных из модулей памяти DRAM. Строка кэша второго уровня процессора Alpha 21164 "разбивается" на 8 частей (по числу банков) по 8 байт в каждой. Управляющая микросхема работает на частоте 75 МГц и соединена с контроллером локальной оперативной памяти трактом шириной 4 байт, работающим на той же тактовой частоте и обладающим пиковой пропускной способностью, равной 1,2 Гбайт/с. Такой же пиковой пропускной способностью обладает и 128-разрядная шина процессора Alpha 21164/450 МГц, но поддерживаемая пропускная способность этой шины составляет приблизительно 960 Мбайт/с.

Применение более современных, нежели используемая в Cray T3E традиционная DRAM, технологий (например SDRAM) могло бы поднять пропускную способность оперативной памяти. Однако SGI/Cray Research позаботилась о повышении этой характеристики "в другом месте", и весьма необычным образом. Обычно для уменьшения трафика на тракте процессор - память используется достаточно емкий внешний кэш (скажем, для Alpha 21164 в составе DEC AlphaServer 8х00 отведено 4 Мбайт). В компании Cray Research, где силен дух традиций, сложившихся еще во времена Cray 1, кэш-память "не любят", предпочитая использовать вместо нее регистры. Напомним: уже в Cray 1 имелась масса буферных регистров, адресуемых из программ.

И в Сray T3E внешний кэш для процессоров Alpha 21164 не применяется. Вместо этого разработчики предусмотрели так называемые буферы потоков (stream buffer). Их функция аналогична той, которую выполняет обычная кэш-память; они служат для буферизации, повышая пропускную способность локальной оперативной памяти при обращении к данным "векторного типа". Каждый вектор в этом случае рассматривается как отдельный поток данных.

Управляющая микросхема включает шесть буферов потоков, каждый из которых может содержать по две строки кэша. Эти строки заранее выбираются для активных потоков. Контроллер оперативной памяти спекулятивно выбирает и буферизует по четыре строки кэша для каждого активного потока.

Применение буферов потоков представляет собой относительно недорогое решение. Буферизация потоков может включаться и отключаться приложением путем установки переменной окружения SCACHE_D_STREAMS. Отметим, что идея отказа от традиционного механизма кэширования в суперкомпьютерах (правда, в иных формах) реализована также в Hitachi SR2201 (Computerworld Россия, 1997, #30) и в компьютерах Tera Systems (Computerworld Россия, 1997, #37).

Для обеспечения высокой эффективности использования доступной пропускной способности межсоединения и операций сборки/разборки (gather/scatter) при работе с локальной и удаленной памятью служат так называемые E-регистры. Применение Е-регистров повышает степень конвейеризации запросов к глобальной оперативной памяти. Соответственно имеется два типа операций над Е-регистрами: операции загрузки/записи между Е-регистрами и регистрами микропорцессора и глобальные операции над Е-регистрами, служащие для пересылки данных в/из локальной памяти. Всего имеется 512 пользовательских и 128 системных Е-регистров. Эти регистры применяются в исполняемой программе, если при ее компиляции был установлен соответствующий флаг. Использование буферов потоков и Е-регистров позволяет повысить производительность приложения в несколько раз.

Архитектура ввода/вывода в Cray T3E основана на применении каналов GigaRing. Каждый канал представляет собой пару колец, по которым данные передаются во встречных направлениях. Пиковая пропускная способность каждого кольца пары равна 500 Мбайт/с, а канала в целом - соответственно 1 Гбайт/с.

Количество каналов GigaRing растет с увеличением числа процессорных элементов в системе. В моделях Cray T3E с воздушным охлаждением один канал GigaRing предусмотрен на каждые восемь процессорных элементов, а в моделях с жидкостным охлаждением - на каждые 16. Канал Cray T3E имеет много портов к межсоединению, и при сбое одного из них данные будут передаваться через другие порты.

К каналу GigaRing подсоединяются так называемые узлы ввода/вывода. Имеются следующие типы этих узлов: многоцелевые, предоставляющие слоты шин Sbus, к которым подсоединяются SCSI-устройства (жесткие диски, магнитные ленты), а также сетевые платы ATM/FDDI/Ethernet; узлы дисковых устройств (с подсоединением по протоколу FIbre Channel-Arbitrated Loop и протоколу IPI собственной разработки Cray Research); узлы ленточных устройств (допускающие подсоединение накопителей на магнитных лентах через блок-мультиплексные каналы и ESCON, применяемые в мэйнфреймах IBM); сетевые узлы (обеспечивающие работу по протоколу HIPPI со скоростями передачи 100 и 200 Мбайт/с).

Реквием по PVP

Сегодня некогда почти недосягаемые многопроцессорные векторные суперкомпьютеры, поддерживающие "парадигму" PVP (Parallel Vector Processing), оказались уверенно вытеснены МРР-системами из числа лидеров рейтинга производительности. Рыночные успехи Cray T3E по сравнению с флагманом PVP-систем Cray T90 лишний раз подчеркивают этот факт. Сray T3E может содержать от 16 до 2048 процессоров (модели с воздушным охлаждением - до 128 процессоров) и иметь оперативную память емкостью от 1 Гбайт до 4 Тбайт. По пиковой производительности и емкости оперативной памяти Cray T3E значительно опережают Cray T90 (Computerworld Россия, 1995, #6.).

Вместе с тем остаются веские причины, по которым векторные системы по-прежнему находят покупателей. Это связано, в частности, с приложениями, в которых требуется высокая пропускная способность оперативной памяти (особенно при операциях типа сборки/разборки) и низкие задержки памяти. Здесь PVP-системы по-прежнему вне конкуренции.

То, что вся "игра" идет вокруг повышения пропускной способности памяти и уменьшения задержек при обращении в память, можно проиллюстрировать данными таблицы, из которых явствует, что последние четверть века производительность процессоров росла необычайно быстро, в то время как задержки памяти практически не уменьшались (автором использованы данные с сервера www.cray.com). Видно, что отношение задержки оперативной памяти ко времени такта процессора за эти годы все возрастало. При этом даже старая векторная система Cray X-MP имеет более низкие задержки, чем Cray T3E.

Задержки оперативной памяти в компьютерах разных поколений

 Задержка ОП, нсВремя цикла, нсkЧисло FP-операций за такт
CDC 760027527,5101
Cray 115012,5122
Сray X-MP1208,5142
SGI Power Challenge76013,3574
Сray T3E-12002801,71672

Интересно сопоставить эти задержки с теми, которые возникают при обращении в кэш-память самого процессора Alpha 21164. Напомним, что он содержит 8-килобайтный прямоадресуемый кэш данных первого уровня (и кэш команд той же емкости) плюс 96-килобайтный трехканальный частично-ассоциативный объединенный кэш команд и данных второго уровня. Загрузка из кэша первого уровня занимает два такта; задержка при выборке из кэша второго уровня равна 8-10 тактам. При отсутствии данных в кэше второго уровня происходит обращение в оперативную память.

Другое дело, что применение большой кэш-памяти и переход на новые технологии построения оперативной памяти приводит к тому, что области наиболее эффективного применения PVP-систем сжимаются, как шагреневая кожа, - все больше приложений может успешно работать на МРР-cистемах. Последние обладают обычно и более удачным отношением стоимость/производительность. Скажем, стартовая стоимость Cray T3E (в действующих для США ценах) составляет около полумиллиона долларов.

Итак, диагноз поставлен - пациент (PVP) неизлечим. С другой стороны, пока он еще жив, его можно весьма эффективно использовать. И поэтому нужно тщательнейшим образом взвесить, ориентироваться ли на новейшую МРР-cистему, например Cray T3E, либо, следуя поговорке "старый конь борозды не испортит", использовать традиционные PVP-системы.


Михаил Кузьминский - старший научный сотрудник Центра компьютерного обеспечения Института химических исследований РАН. С ним можно связаться по электронной почте по адресу kus@free.net.