На долю компьютеров на базе Itanium 2 и набора микросхем HP zx1 приходятся, вероятно, основные продажи относительно недорогих SMP-систем на платформе IA-64. В статье проведено сравнение характеристик производительности Itanium 2 и других современных микропроцессоров, а технические характеристики zx1 сопоставлены с доступными альтернативами.

Интерес к SMP-системам на базе Itanium 2 и zx1 объясняют две принципиальные причины. Во-первых, это архитектуры, которые, по замыслу ее разработчиков, должны были поставить крест на RISC-архитектуре. А во-вторых, — распространение концепции «набора микросхем», известной по ПК на базе х86, на широкий диапазон компьютеров — вплоть до многопроцессорных систем масштаба предприятия.

Обратимся сначала к вопросу о том, победила ли IA-64 остальные архитектуры. Момент для обсуждения данного вопроса с точки зрения производительности выглядит скорее невыгодным для IA-64. Эта архитектура развивается не столь постепенно, как х86, а более крупными «рывками», и Itanium 2 [1], появившийся около года назад, уже в апреле 2003 года будет «заменен» на Madison, естественно, гораздо более быстрый.

Вместе с тем, вопрос о производительности Itanium 2 имеет одну скрытую составляющую: IA-64 предоставляет возможность аппаратной эмуляции кодов х86. Так вот, на кодах х86 применение микропроцессоров семейства Itanium Processor Family (IPF) представляется сегодня нецелесообразным. Системы на базе Itanium 2 гораздо дороже, чем на базе х86, а производительность в режиме эмуляции гораздо ниже, чем на «родных» х86-системах. Быть может, если когда-нибудь системы на базе IA-64 сильно обгонят х86 по производительности, это будет иметь смысл, но в ближайшие несколько лет это выглядит невероятным. Думаю, поддержание х86-совместимости, требующее часть площади микросхем IPF, сегодня себя не оправдывает, и от него можно отказаться. Интересно поэтому посмотреть, будут ли в последующих представителях семейства IPF поддерживаться новые команды х86, которые появятся в микропроцессорах Prescott из семейства Pentium 4?

Что касается программной трансляции кодов PA-RISC в IA-64, то она в некотором смысле проще, поскольку IA-64 ближе к RISC-архитектуре, чем к х86. Учитывая существенное отставание производительности микропроцессоров PA-8700 от Itanium 2 (таблица 1), двоичная трансляция могла бы иметь определенный смысл. Однако, по моему мнению, эмуляция и трансляция могут быть более актуальны только в переходной период, а IA-64 существует уже достаточно времени для того, чтобы можно было осуществить перенос программного обеспечения на новую архитектуру.

Таблица 1. Официальные результаты некоторых наиболее высокопроизводительных микропроцессоров на тестах SPECcpu2000

Данные SPECcpu2000, представленные в таблице 1, говорят о том, что на приложениях с плавающей запятой Itanium 2 опережает все другие микропроцессоры, за исключением Alpha 21364. Очевидно, с появлением Madison, построенного по 0,13-микронной технологии, IA-64 еще больше вырвется вперед. Между тем, Alpha 21364 — это последнее поколение в ряду Alpha, прекратившем, увы, свое развитие. Однако при одинаковой технологии 0,18 мкм, по которой изготавливаются и Itanium 2, и Alpha 21364, архитектура IA-64 не смогла доказать своего однозначного преимущества по производительности (кстати, и достигнутые тактовые частоты также близки — около 1 ГГц, у Alpha даже больше).

IBM Power4+, изготавливаемый по технологии на 0,13-микрон и достигший частоты в 1,45 ГГц, уступает Itanium 2 всего около 10%. Конечно, 1,5-гигагерцевый Madison на тестах SPECfp2000 окажется еще больше впереди, но и на Power4 прогресс не остановится — в перспективе ожидается Power5. Наконец, микропроцессоры Pentium 4/3,06 ГГц с архитектурой х86 отстают от Itanium 2 на 30% при гораздо меньшей стоимости (таблица 2).

Процессоры архитектуры IA-64 (учитывая предстоящий дебют Madison) практически вышли на первое место по производительности с плавающей запятой, опережая микропроцессоры и RISC-архитектуры, и х86-архитектуры, однако их преимущество пока не слишком велико.

В области целочисленных приложений данные SPECint2000 говорят о том, что Itanium 2 уступает и 64-разрядным RISC-процессорам Power4, и Alpha 21364, и х86-процессорам Pentium 4, которые лидируют по этому показателю. Учитывая, что, скажем, для работы с СУБД не требуются операции с плавающей запятой, это ослабляет позиции IPF. Однако после выхода Madison ожидается увеличение производительности на 30-50% по сравнению с Itanium 2. Кроме того, вероятно, что прогресс в области технологий компиляции для IA-64 окажется более существенным, чем у хорошо отработанных компиляторов для RISC-архитектуры.

Лидерство х86 на тестах SPECint2000 еще не дает повода оценить как высокие шансы архитектуры х86/IA-32 на достижение наивысшей производительности. Для этого утверждения есть очевидные архитектурные основания, однако мы прибегнем к другой иллюстрации. Микропроцессор Alpha 21364 выполнен по технологии 0,18 мкм (а не 0,13 мкм, как высокочастотные Pentium 4) и доведен до «ума» еще в 1999 году. С поправкой на эти факторы разумно предположить, что сегодня Alpha, скорее всего, оказался бы быстрее х86 и на целочисленных операциях.

Интересно другое. HP имеет в своем распоряжении сразу три 64-разрядных микропроцессора: Alpha 21364, PA-8700+ и — разработанный совместно с Intel — Itanium 2. Имея в виду, что PA-RISC сегодня существенно уступает по производительности Itanium 2 (на плавающей запятой — около двух раз), планы сохранить PA-RISC еще на несколько лет вперед (вплоть до PA-8900) представляются несколько загадочными. В самом деле, архитектуре IA-64 уже не один год, на нее перенесена HP-UX и многие важные приложения.

По некоторым сведениям, ожидается достижение высокого уровня производительности (чуть ли не близкого к Madison) в будущем «двухядерном» микропроцессоре PA-RISC. Кстати, теперь все основные компании-разработчики высокопроизводительных RISC-процессоров объявили о поддержке двух процессорных «ядер» в одной микросхеме. Вслед за Power4 и Alpha 21364 о «многоядерном» подходе заявила и Sun Microsystems. Хотя это и считалось «архитектурным» ответом RISC на вызов со стороны IA-64, последняя также будет двухядерной в будущих процессорах Mendocino. В сочетании с поддержкой многопоточности в перспективных процессорах как IA-64-, так и RISC-архитектуры становится ясно, что RISC сдаваться пока не собирается.

О наборах микросхем

Вторым принципиально важным моментом при рассмотрении рабочих станций и небольших серверов от HP на базе Itanium 2 является набор микросхем. Здесь важно уже само по себе распространение на крупные многопроцессорные системы архитектурной концепции набора микросхем, используемой в мире ПК,. Вероятно, впервые это ярко прозвучало с появлением первых данных о наборе микросхем Intel i870 [2] (E8870, и у него формально имеются две модификации — «обычная» E8870 и E8870SP). Дело в том, что i870 позволяет строить многопроцессорные ccNUMA-системы, обладающие значительной степенью масштабируемости. HP также объявила о разработке подобного набора микросхем sx1000, который будет применяться в новых модификациях HP Superdome с использованием процессоров Madison.

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

Важно, что о создании набора микросхем для Itanium 2 объявила Intel, сама практически не производящая компьютеры. Это означает, что ее набор микросхем становится доступным на рынке, и производители могут им воспользоваться для проектирования собственных системных плат. Это повышает конкуренцию и должно способствовать снижению цен на компьютеры на базе Itanium 2.

Что касается компьютеров на базе Itanium 2, то помимо HP на рынке есть еще предложения компаний Unisys (серверы ES7000 Aries 130 с числом процессоров до 16), NEC (Express 5800/1000 с числом процессоров от 8 до 32) и SGI (Altix 3300 с числом процессоров от 4 до 12, а также массивно-параллельные конфигурации с общей памятью). IBM производит серверы на базе Itanium (xSeries 380), а для Itanium 2, согласно [3], разрабатывает набор микросхем EXA (кодовое название Summit). Набор, включающий кэш четвертого уровня (!) емкостью 32 Мбайт, поддержку зеркалирования оперативной памяти для обеспечения отказоустойчивости, ориентирован, вероятно, на большие и дорогие системы.

По некоторым неофициальным данным, NEC и Hitachi работали совместно над набором микросхем для Itanium 2, и, как и SGI, в своих разработках не использовали «встроенные» в шину Itanium 2 возможности поддержки SMP, с которыми якобы возникли определенные технические проблемы.

Поскольку следующие поколения микропроцессоров IPF (Madison/Deerfield) cовместимы по системной шине и даже разъему с Itanium 2, zx1 может работать и с этими будущими микропроцессорами.

Набор микросхем HP zx1

Можно считать, что zx1 включает три типа микросхем. Эти микросхемы производятся компанией Agilent Technologies по КМОП-технологии 0,18 мкм [4]. На рис. 1 и рис. 2, где представлены структурная схема однопроцессорной рабочей станции и двухпроцессорной SMP-системы соответственно [5], изображены два типа микросхем. Во-первых, это zx1 MIO (Memory & Input/Output), аналог северного моста в наборах микросхем для ПК. Аналога южного моста на этих схемах нет: вместо них используются отдельные микросхемы адаптеров ввода-вывода (zx1 IOA).

Рис. 1. Cтруктурная схема однопроцессорной рабочей станции

Третий тип микросхем, представленный в zx1 — это микросхема расширителя памяти (Scalable Memory Expander, SME), которая используется при построении 4-процессорных серверов (рис. 3) и позволяет увеличить как емкость оперативной памяти, так и ее пропускную способность.

Рис. 2. Структурная схема двухпроцессорной системы

Микросхема MIO (рис. 4) обеспечивает интерфейс со 128-разрядной системной шиной Itanium 2 (с пиковой пропускной способностью, равной 6,4 Гбайт/с), с оперативной памятью и с контроллером ввода-вывода. В отличие от Intel 8870, работающего с памятью DDR200, zx1 поддерживает работу с памятью DDR266.

Рис. 3. Структурная схема четырехпроцессорного сервера

Преимуществом MIO, ориентированной на работу с небольшим числом процессоров, являются, по мнению разработчиков, низкие задержки по обращению в оперативную память. Для уменьшения задержек при работе с памятью в MIO используется специальная «архитектура открытых страниц», включающая поддержку таблицы открытых страниц (банков) модулей DIMM [4]. Прямое подсоединение оперативной памяти к MIO отвечает минимальной величине задержки. Эта задержка складывается из собственной задержки в Itanium 2, равной 32 нс, и дополнительной задержки на открытие страницы памяти (задержка на пути из шины процессора в память и обратно). Эта последняя дополнительная задержка определяется характеристиками MIO и памяти DDR.

Рис. 4. Структура микросхемы zx1 MIO

В случае, если в MIO произведена аппаратная предварительная выборка из памяти в буфер, дополнительная задержка равна 80 нс. На известных тестах lmbench измеренная задержка составила 111 нс. Для UltraSPARC III/900 МГц (Sun Blade 2000) задержка равна 172 нс, а для Intel Xeon/2 ГГц с набором микросхем i850 и RDRAM PC800 — 209 нс. Серверы Unisys ES7000 (использующие набор микросхем E8870) имеют задержку памяти 300 нс [3]. Однако три последние величины корректнее сопоставлять с данными для zx1 при отсутствии предварительной выборки в MIO, чему отвечает задержка уже в 156 нс.

Таблица 3. Задержки при обращении в оперативную память

Расширение подсистемы памяти с использованием микросхем SME приводит к увеличению задержки на 25 нс. В наборе микросхем E8870 на пути от Itanium 2 к памяти DDR также имеются две микросхемы. Это связано с тем, что первоначально Intel разрабатывала контроллер памяти для технологии Rambus, и дополнительная микросхема осуществляет преобразование из Rambus в DDR и обратно, что вносит дополнительную задержку.

Обратимся теперь к характеристикам пропускной способности оперативной памяти. Однопроцессорные системы на базе zx1 (рис. 1) имеют двухканальную память DDR с суммарной пиковой производительностью около 4,3 Гбайт/с, что ниже, чем допускает пропускная способность системной шины микропроцессора, и в некоторых ситуациях может не позволить достигнуть наивысшего уровня производительности.

Двухпроцессорные системы, в которых задействовано два порта памяти микросхемы MIO, имеют пиковую пропускную способность на уровне 8,5 Гбайт/с. Это уже больше, чем пропускная способность системной шины; «остаток», вероятно, может использоваться при одновременном обмене данными с памятью со стороны адаптеров IOA. Отметим, что в наборе микросхем E8870 такого избытка нет: там пиковая пропускная способность памяти равна 6,4 Гбайт/с.

Интерес представляло бы прямое сопоставление реальной пропускной способности с набором микросхем E8870, в архитектуре которого имеются специальные усовершенствования, направленные на поддержание высокого уровня достигаемой пропускной способности памяти (в частности, буфер записи емкостью 8 Кбайт, и переупорядочение запросов к памяти [2]). В MIO также имеются средства увеличения пропускной способности, в частности, переупорядочение запросов. (Двухпроцессорный сервер HP rx2600 на тестах STREAM при работе с одним процессором показал результаты 3453, 3453, 4020 и 4027 Мбайт/с на тестах copy, scale, add и triad соответственно при использовании Itanium 2/1 ГГц с кэшем второго уровня емкостью 3 Мбайт. Данных по E8870 на официальном сайте тестов STREAM нет, хотя Intel сообщала о пропускной способности для теста triad на уровне 3,7 Гбайт/с.)

Обратимся теперь к емкости поддерживаемой оперативной памяти. В однопроцессорной конфигурации MIO поддерживает до 8 модулей DIMM (рис. 1), а в двухпроцессорной — до 16 модулей DIMM (рис. 2).

При использовании расширителя SME (всего к микросхемам MIO их можно подсоединить 12 штук) максимальное число поддерживаемых модулей DIMM составляет уже 64, и они объединяются в 8 банков (рис. 3). Кроме того, возможен промежуточный вариант — подсоединение к MIO шести микросхем SME с 32 модулями DIMM соответственно [3].

По числу доступных модулей DIMM легко посчитать максимальную емкость памяти, умножив это число на емкость модуля. В настоящий момент доступны модули DIMM емкостью 1 Гбайт, в 2003 году ожидается появление модулей емкостью 2 Гбайт, а после разработки 4-гигабайтных модулей максимальная емкость памяти, поддерживаемой четырехпроцессорной конфигурацией, может теоретически достигнуть 256 Гбайт [3].

По доступной емкости памяти четырехпроцессорные конфигурации zx1 c SME превышают возможности набора микросхем E8870, который поддерживает до 32 модулей DIMM [2].

В практической реализации в конкретных серверах и рабочих станциях число модулей DIMM может оказаться меньше. Так, в двухпроцессорных серверах HP rx2600 имеется 12 слотов (соответственно емкость памяти в настоящее время ограничивается 12 Гбайт), а в 4-процессорных серверах HP rx5600 имеется 48 слотов, и соответственно емкость памяти — не более 48 Гбайт.

Микросхемы расширения памяти выступают в качестве своеобразных концентраторов, применение которых позволяет уменьшить число сигналов на шине памяти [4]. Однако у SME имеется и еще одна функция, связанная с повышением надежности работы. Если в системах без SME поддерживаются стандартные для серверов коды ECC, то при использовании SME число одновременно контролируемых битов возрастает, и поддерживается уже технология chipkill, для которой может корректироваться выход из строя целой микросхемы памяти.

Подсистема ввода-вывода

Как видно из рис.4, микросхема MIO поддерживает 8 каналов ввода-вывода с пропускной способностью 500 Мбайт/с на канал. Структура внутренних шин в MIO такова, что она минимизирует трафик ввода-вывода на процессорной шине, где появляются только данные, направляемые из кэша микропроцессоров во внешние устройства. DMA-передачи данных процессорную шину не захватывают.

За передачу данных между блоком интерфейса шины Itanium 2, контроллером памяти и подсистемой ввода-вывода в MIO отвечает контроллер ввода-вывода. Конструкция MIO использует до 4 специальных шин ввода-вывода, которые в HP называют «веревками» (rope) и которые могут работать на частотах от 100 до 266 МГц.

Каналы ввода-вывода могут быть объединены [4], если необходимо подсоединить адаптер IOA, работающий с высокоскоростными шинами (например, для AGP-4x или PCI-X с частотой 133 МГц).

Это помогает создавать различные конфигурации подсистемы ввода-вывода.

Если сравнить схему подсоединения подсистемы ввода-вывода в zx1 с E8870, то можно отметить, что набор микросхем E8870 отличается наличием концентратора ввода-вывода SIOH (грубо говоря, некоторого аналога южного моста), который связан с SNC двумя каналами с общей пропускной способностью 6,4 Гбайт/с. К SIOH, в свою очередь, подключается до 4 мостов PCI/PCI-X (P64H2) с пропускной способностью 1 Гбайт/с каждый, контроллер «унаследованных» средств ввода-вывода ICH4 и др. В SIOH имеются такие средства увеличения производительности, как буферы чтения (по 4 Кбайт на интерфейс), записи, аппаратура предварительной выборки при чтении, переупорядочение очереди запросов и др. [2].

HP в zx1 использует иной подход: там микросхемы IOA (в некотором смысле — аналоги P64H2) подсоединяются напрямую к «северному мосту» MIO. Это приводит к экономии числа микросхем (отсутствует микросхема концентратора ввода-вывода). Хотя суммарная пропускная способность каналов ввода-вывода в zx1, равная 4 Гбайт/с, меньше пропускной способности тракта SNC-SIOH в E8870, можно предположить, что последняя не будет полностью «выбираться» даже при задействованнии части пропускной способности под трафик ICH4.

Для оценки эффективности того или иного подхода следует, по-видимому, прибегнуть к прямому тестированию, однако необходимые для этоо данные в литературе отсутствуют.

Конкретная конфигурация компьютера на базе zx1 может не использовать все его возможности. Так, на рис. 1 из 8 коннекторов к каналам ввода-вывода MIO в конфигурации рабочей станции задействовано только 6, чему отвечает суммарная пропускная способность ввода-вывода, равная 3 Гбайт/с.

Заключение

На платформе zx1 c процессором Itanium 2 HP предлагает однопроцессорные рабочие станции zx2000, двухпроцессорные рабочие станции zx6000 и серверы rx2600, а также 4-процессорные серверы rx5670. Вследствие сказанного выше естественно, что эти системы широко представлены на рынке небольших систем на базе Itanium 2, а их основными конкурентами среди высокопроизводительных 64-разрядных систем, по нашему мнению, должны быть компьютеры на базе Power4.

Архитектура компьютеров HP на базе zx1 в целом отвечает рис. 1-3, а технические спецификации можно найти, например, на сайте компании. С точки зрения производительности важно упомянуть еще об используемых модификациях Itanium 2: 900 МГц с кэшем второго уровня емкостью 1,5 Мбайт — в zx2000, такие же или гигагерцевые процессоры (в последнем случае — с кэшем второго уровня емкостью 3 Мбайт) в rx2600 и rx5670. Компьютеры могут поставляться, в частности, с операционными системами HP-UX 11i или Linux.

Выше мы уже рассмотрели некоторые основные характеристики производительности таких систем. HP приводит целый ряд результатов тестов, доказывающих лидерство их компьютеров по производительности. В научно-технической области это, например, известные приложения MSC NASTRAN или ANSYS, где компьютеры HP, как правило, обгоняют системы на базе Power4 [5].

В области экономических приложений необходимо упомянуть о наилучших результатах среди всех 4-процессорных серверов, достигнутых на тестах TPC-C серверами SMP-архитектуры rx5670. На этих самых популярных в области обработки транзакций тестах rx5670 занимают первое место по производительности — 87441 tpmC при стоимости около 5 долл. за tpmC. Это свидетельствует об отличном уровне отношения стоимость/производительность, даже по сравнению с серверами на базе х86. Заметно более хорошие показатели по этому соотношению достигаются только в серверах с одним или двумя процессорами.

Автор благодарит РФФИ заподдержку (проект 01-07-90072).

Литература
  1. "Inside the Intel Itanium 2 processor", HP Technical White Paper, July 2002.
  2. Ф. Бриггс, М. Цеклев, К. Крета и др., "Intel 870: строительные блоки для недорогих масштабируемых серверов". Открытые системы, 2002, № 12.
  3. G. Huff, "zx1 Chipset for Nimble McKinleys". Feb. 25, 2002, Illuminata, Research Note.
  4. Servers application performance. HP serevr rx5670 and HP server rx2600 with Intel Itanium 2 processors", HP White Paper, July 2002.
  5. server and workstation performance for technical applications: HP serevrs and workstations with Itanium 2 processors", HP White Paper, July 2002.