SPEC CPU2000. Часть 18. Тестирование Intel Itanium 2


Появление AMD64/EM64T 64-битных процессоров от компаний AMD и Intel безусловно можно считать одним из самых интересных событий на процессорном рынке за последние пять лет. Конечно, поголовный переход на новые платформы случится не сразу, особенно учитывая неторопливость Microsoft. К счастью новые процессоры полностью совместимы с используемым сегодня IA32 программным обеспечением.

Чего однако нельзя сказать о представленной еще в 2001 году компанией Intel 64-х битной архитектуре IA64 и ее главном продукте — процессоре Itanium. Обсуждать историю возникновения и развития этой линейки мы здесь не будем, отметим, однако, что IA64 создавалась на основе архитектуры EPIC и ей (как это часто бывает для новых продуктов) пророчили блестящее будущее, не забывая в маркетинговых материалах писать стандартные слова «high availability, scalability and performance needed for high-end enterprise and technical computing applications». За четыре года процессор вырос с 733 МГц ядра с 4 МБ кэша L3 и шины в 2,1 ГБ/с до 1,6 ГГц/9 МБ/6,4 ГБ/с. Однако сказать, что прямо так все high-end enterprise закупили себе по пачке Itanium'ов пожалуй нельзя. Кроме того, в связи с выходом продуктов AMD64/EM64T многие обозреватели все чаще переводят название процессора как «Итаник».

Безусловно, поддерживать две архитектуры, которые явно между собой соперничают, очень сложно. Однако Intel большой, и, я думаю, у него все получится :), особенно если правильно развести продукты по рынкам.

Кстати о рынках. Сегодня потребители избалованы универсальностью IA32/x86. Эта архитектура работает как в тонких терминалах на AMD Geode, так и в восьмипроцессорных серверах на Intel Xeon MP. Насколько эффективно она там работает это совсем другой вопрос :). Однако факт остается фактом — IA32 сегодня самая популярная архитектура. И сильно изменить ее действительно практически невозможно.

Но стоит ли ее менять?

Конечно когда речь идет о Васе, который просто любит вечерами поиграть на своем пентиуме и совершенно не вдается в подробности о ассоциативности L1 кэша и используемом авторами игры компиляторе, то вопрос о поддержке всего софта, залитого на его 400 ГБ жесткий диск очень важен. Однако когда мы выходим из области развлечений и заглядываем в тот самый high-end enterprise, ситуация заметно меняется. И главным становится эффективность решения заранее определенных задач.

В этой ситуации компании может быть совершенно не важно, сколько и каких процессоров будет установлено в ее новом сервере, какая там ОС и кто написал базу данных. Действительно важным становится сочетание всех этих факторов — готовое решение поставленной задачи. Ну и конечно не упускаются из виду стоимость (решения!), надежность, поддержка и другие «взрослые» понятия.

Если честно, меня очень радуют часто встречающиеся последнее время сообщения в прессе, что мэрия города Ъ перешла на использование OpenSource ПО и прилично на этом сэкономила. Но представить аналогичную ситуацию у нас я просто не могу :). Понятно, что «у них» люди на работе обычно заняты делом, а наш менталитет, я думаю, просто не перенесет невозможности запуска купленной на рынке игрушки. Конечно терминалы Сбербанка замечательно продолжают работать под MS-DOS, но вот в других местах…

Хорошо, если компания такая большая и красивая, что может позволить себе попробовать то или иное решение и на основании максимально точной и подробной информации сделать выбор.

Другим же часто приходится пользоваться различными источниками, например статьями в журналах и сетевых СМИ, результатами тестов производителей. Обращать внимание только на выводы в этих статьях обычно не стоит, т.к. используемое в обзорах и тестированиях понятие производительности хоть и является чаще всего объективным, но лишено смысла без дополнительных уточнений, в частности стоимости, надежности, времени реализации решения.

Конечно есть чисто научные понятия в этой области, например «мегафлопсы», однако их красота и простота видимо больше интересна собственно тем, кто занимается наукой (что как известно представляет собой «наилучший современный способ удовлетворения любопытства отдельных личностей за счет государства» (С) :)).

Остальным приходится учитывать множество других факторов, причем как вполне объективных (например, стоимость), так и субъективных (перспективность). Ну и далее уже идут их сочетания до бесконечности :) (выбор поставщика, основанный на объективной стоимости и субъективной надежности).

Конечно, для большинства пользователей домашних ПК все обычно достаточно просто — определяется сумма, которую можно/нужно/не жалко потратить на новую железку и подбирается максимально быстрый вариант (конечно определение «быстроты» у каждого свое).

Для «больших» решений оценка производительности имеет две особенности. Во-первых для нахождения оптимума нужно попробовать связать скорость с финансовой выгодой, что является не всегда простым занятием, во-вторых может использоваться вызывающее аллергию у оверклокеров понятие достаточной производительности. Например, пользователю системы видеонаблюдения совершенно не обязательно знать, как и чем обеспечивается скорость оцифровки данных с шестнадцати видеокамер, главное, что бы работало. В случае более обтекаемой задачи (например — «файл-сервер для 1000 клиентов») приходится строить различные модели.

Один из вариантов моделирования как раз и реализован в тестах SPEC. В данном случае речь идет о «научно-вычислительном» поле. Написали мы по этому поводу уже много статей :), так что повторяться не будем, а попробуем оценить привлекательность IA64 для «числодробительных» задач основываясь на данных теста SPEC CPU2000.

В тестах использовалась система

  • платформа Intel SBHG2 Tiger 2
  • процессор Itanium2 1,3 ГГц/3 МБ L3
  • четыре модуля DIMM DDR 512 МБ PC2700 ECC Reg
  • два диска 36 ГБ U320 SCSI Fujitsu MAP3367NC
  • ОС Windows 2003 Ent Server 64-bit
  • компилятор Intel Compiler for IA64 версии 8.1 (билды компиляторов: C/C++ — 022, Fortran — 025).

Конечно это не шестнадцатипроцессорный Bull NovaScale 6320 HPC, но наш опыт показывает, что для оценки скорости счета и составления прогноза и эта система подойдет.

Конфигурационный файл для режима IA64 был создан на базе опубликованного на www.spec.org компанией Dell.

Для начала приведем интегральные результаты, достигнутые системой в режиме IA64:

  • SPECint_base2000: 1017
  • SPECfp_base2000: 1979

Мало это или много? Сравнение с процессорами Pentium 4 показывает, что по целочисленному счету протестированный Itanium 2 находится на уровне 2,8 ГГц процессора (без учета платформы, версий компилятора и т.п.), а вот по работе с вещественными числами опережает даже Pentium 4 570J (3,8 ГГц).

Из-за разницы архитектур проводить подробный дополнительный анализ практически бесполезно. Отметим только, что «гуляния» по отдельным приложениям достигают для CINT2000 ±40%, а для CFP2000 еще больше: -40%…+90% (и конечно особенно отличился благодаря 3 МБ кэшу 179.art, он прибавил целых 217%, причем даже если его «не считать» в интегральной оценке, то результат нашего Itanium 2 всего лишь сравняется с  P4 3,8).

Итого можно сказать, что исследуемый процессор очень хорошо показал себя в вычислениях с плавающей точкой. С учетом того, что мы исследовали не самую быструю модель, на IA64 можно достичь и большей производительности. Максимальный результат с компилятором от Intel, опубликованный на www.spec.org, составил 2712 баллов (SPECfp_base2000) у модели Itanium 2 1,6 ГГц 9 МБ L2 (под RHAS, под Windows 2003 AS никто почему-то не тестирует). Таким образом, он превосходит все настольные процессоры и если вам нужна максимальная производительность, то альтернатив просто нет (кстати, это относится ко всем существующим системам, хотя стоит отметить, что IBM Power5 отстает совсем немного, правда у него 36 МБ кэша L3 :)). В многопроцессорных конфигурациях он тоже является однозначным лидером.

При работе с целыми числами ситуация похуже. В однопроцессорном режиме самый быстрый Itanium 2 отстает от сегодняшнего лидера — AMD Athlon 64 FX-55 примерно на 10%. Однако в мультипроцессорных конфигурациях он берет реванш и снова становится победителем.

Безусловно, ложкой дегтя является высокая стоимость систем на базе Itanium 2. И если двухпроцессорную систему на AMD Opteron можно приобрести за разумные деньги, то рабочую станцию на Itanium 2 еще придется поискать. Кстати интересно, что HP убрал со своего сайта информацию о рабочих станциях на Itanium (сервера, конечно, остались), но в META тегах HTML кода слово Itanium еще встречается :). Да и видимо даже Intel не верит в такое позиционирование этого процессора, поскольку список партнеров, опубликованный на их сайте, на проверку оказывается неверным. Из 16-и указанных компаний ни у одной нет именно Workstation на Itanium 2. Сервера — да, есть. А вот рабочие станции — сплошь Opteron, Xeon, иногда Pentium 4 и PowerPC (а как все красиво начиналось…).

С «нативным» режимом работы Itanium 2 мы разобрались. Теперь опробуем оценить его возможности по выполнению 32-битных приложений IA32. Конечно, реально гонять многотысячные машины для расчетов в 32-бит режиме никто в нормальных условиях не будет, однако понять, чего стоит ожидать от использования 32-бит ПО все-таки интересно.

Как показал опыт, по умолчанию Itanium 2 может исполнять 32-бит код, включая инструкции MMX и SSE (то есть он совместим с Pentium III), при этом обычные приложения, которыми вы привыкли пользоваться на обычной 32-бит системе прекрасно работают (16 бит Windows и MS-DOS мы даже не пробовали… хотя наверное было бы интересно запустить Norton Commander на Itanium 2 :)).

Во второй половине 2003 года компания Intel представила программную прослойку для IA64 систем, призванную поднять производительность на 32-бит коде — IA-32 Execution Layer. Обещали достижение уровня Xeon 1,5 ГГц. В IA32EL используется динамическая трансляция 32-х битного кода в «родной» код IA64 архитектуры. Кроме увеличения скорости, была добавлена поддержка инструкций набора SSE2 (интересно, что моделируется и инструкция CPU_ID, так что компилятор Intel версии 8.x находит в процессоре «своего» и разрешает использовать оптимизацию под Northwood). В настоящий момент это ПО доступно для свободного скачивания на сайте Microsoft для операционных систем этой компании и входит в поставки многих IA64 дистрибутивов Linux (по данным Intel).

Итак, если не использовать IA32EL, то результаты Itanium 2 в тестах SPEC CPU2000 на 32-бит коде просто никакие… SPECint_base2000/SPECfp_base2000=306/170, что соответствует Pentium III 700/450 МГц. Да, эмуляция самого популярного набора команд дается тяжело… С другой стороны частота тестируемого процессора всего в два/четыре раза выше, так что видимо это не так уж и плохо. Наследие прошлого дорого стоит.

Зато использование IA32EL значительно повышает настроение: SPECint_base2000/SPECfp_base2000=569/530. Ну это хоть что-то, примерно уровень Pentium 4 1,7 ГГц, Athlon XP 1600+/ Pentium 4 1,7 ГГц, Athlon XP 1700+. Получается, что  обещание дотянуть до Xeon 1,5 ГГц компания выполнила. Так что использование IA32EL крайне рекомендуется тем, кому нужно запускать 32-бит приложения на Itanium 2. Даже если это всего лишь Far или pkzip :). В целом рост производительности на IA32 приложениях при использовании IA32EL составил от 20 до 410% (небольшую лепту вносит и появление поддержки SSE2).

Заключение

Проведенное тестирование платформы c Intel Itanium 2 показало, что данный процессор заслуженно занимает лидирующие позиции по производительности в операциях с вещественными числами среди всех современных процессоров.

К сожалению, у нас нет возможности провести тестирование 128-ми процессорных систем, но схожесть полученных нами результатов с официальными позволяет не сомневаться в опубликованных на www.spec.org цифрах для SGI Altix 3700 и HP Integrity Superdome. Однако не нужно забывать, что столь высокая производительность стоит очень дорого, впрочем, как и все самое-самое :).

Режим совместимости с IA32 кодом, присутствующий в процессоре, вполне работоспособен. Так что любимые программы типа офиса и блокнота работать будут (ну и конечно обязательные для серверов системы мониторинга и управления от сторонних разработчиков). А вот если нужное ПО занимается действительно интенсивными расчетами, то лучше его портировать на IA64, в крайнем случае, можно использовать IA32EL для временного решения проблемы с производительностью.

Благодарим компанию Клондайк Компьютерс за предоставленную на тестирование систему



15 февраля 2005 Г.

SPEC CPU2000. 18. Intel Itanium 2

SPEC CPU2000. 18. Intel Itanium 2

AMD64/EM64T 64- AMD Intel . , , Microsoft. IA32 .

2001 Intel 64- IA64 — Itanium. , , , IA64 EPIC ( ) , «high availability, scalability and performance needed for high-end enterprise and technical computing applications». 733 4 L3 2,1 / 1,6 /9 /6,4 /. , high-end enterprise Itanium' . , AMD64/EM64T «».

, , , . Intel , , , :), .

. IA32/x86. AMD Geode, Intel Xeon MP. :). — IA32 . .

?

, L1 , , 400 . high-end enterprise, . .

, , . — . (!), , «» .

, , OpenSource . :). , « » , , , . MS-DOS, …

, , .

, , . , .. , , , , .

, «», , ( « » () :)).

, (, ), (). :) ( , ).

, — , // ( «» ).

«» . - , , - . , , , , . ( — «- 1000 ») .

SPEC. «-» . :), , IA64 «» SPEC CPU2000.

  • Intel SBHG2 Tiger 2
  • Itanium2 1,3 /3 L3
  • DIMM DDR 512 PC2700 ECC Reg
  • 36 U320 SCSI Fujitsu MAP3367NC
  • Windows 2003 Ent Server 64-bit
  • Intel Compiler for IA64 8.1 ( : C/C++ — 022, Fortran — 025).

Bull NovaScale 6320 HPC, , .

IA64 www.spec.org Dell.

, IA64:

  • SPECint_base2000: 1017
  • SPECfp_base2000: 1979

? Pentium 4 , Itanium 2 2,8 ( , ..), Pentium 4 570J (3,8 ).

- . , «» CINT2000 ±40%, CFP2000 : -40%…+90% ( 3 179.art, 217%, « » , Itanium 2 P4 3,8).

, . , , IA64 . Intel, www.spec.org, 2712 (SPECfp_base2000) Itanium 2 1,6 9 L2 ( RHAS, Windows 2003 AS - ). , , (, , , IBM Power5 , 36 L3 :)). .

. Itanium 2 — AMD Athlon 64 FX-55 10%. .

, Itanium 2. AMD Opteron , Itanium 2 . , HP Itanium (, , ), META HTML Itanium :). Intel , , , . 16- Workstation Itanium 2. — , . — Opteron, Xeon, Pentium 4 PowerPC ( …).

«» Itanium 2 . 32- IA32. , 32- , , 32- - .

, Itanium 2 32- , MMX SSE ( Pentium III), , 32- (16 Windows MS-DOS … Norton Commander Itanium 2 :)).

2003 Intel IA64 , 32- — IA-32 Execution Layer. Xeon 1,5 . IA32EL 32- «» IA64 . , SSE2 (, CPU_ID, Intel 8.x «» Northwood). Microsoft IA64 Linux ( Intel).

, IA32EL, Itanium 2 SPEC CPU2000 32- … SPECint_base2000/SPECfp_base2000=306/170, Pentium III 700/450 . , … / , . .

IA32EL : SPECint_base2000/SPECfp_base2000=569/530. -, Pentium 4 1,7 , Athlon XP 1600+/ Pentium 4 1,7 , Athlon XP 1700+. , Xeon 1,5 . IA32EL , 32- Itanium 2. Far pkzip :). IA32 IA32EL 20 410% ( SSE2).

c Intel Itanium 2 , .

, 128- , www.spec.org SGI Altix 3700 HP Integrity Superdome. , , , - :).

IA32 , , . ( ). , IA64, , IA32EL .