SPEC CPU2000. Часть 3


В третьем материале цикла, посвященного тесту SPEC CPU 2000, мы рассмотрим его работу на различных платформах для процессора  Intel Pentium 4. Дабы пресечь возможные возражения о использовании только чипсетов от Intel, скажу, что для детального исследования необходимо одновременное сравнение многих конфигураций. И так их тут получилось 3 (без градации по частоте процессора и памяти). Если добавить решения на Via и SiS, их будет еще больше. Так что просто констатируем, что в этом материале будет только Intel. А остальные (если читатели проявят интерес :) ) появятся в следующих материалах. Тем более, что сегодня мы сделаем акцент на выявление особенностей входящих в SPEC CPU2000 приложений, что позволит нам в дальнейшем детально исследовать производительность различных систем.

Использование процессора с разблокированным множителем позволит нам исследовать зависимость результатов теста SPEC CPU2000 от частоты процессора. Также мы будем использовать увеличение частоты FSB с 100 до 110 и 120 MHz для изучения влияния скорости памяти. Конечно повышение FSB влияет не только на память, но других способов выяснить именно эту зависимость у нас нет. Также вынуждены констатировать, что регулировка латентности при работе с SPEC CPU2000 практически не имеет смысла, поскольку мы не знаем, как конкретно задачи работают с памятью. А тестирование не выявило приложений, имеющих заметное преимущество на памяти с теоретически меньшей латентностью. Так что будем использовать общий термин "скорость памяти", подразумевая в нем скорее пропускную способность, чем другие параметры.

Отметим, что для стабильной работы процессора при увеличении FSB необходимо уменьшать коэффициент умножения, и поэтому тесты проводились со значением 10x (что также упростило анализ результатов). Безусловно это не совсем корректно для процессора, который уже сегодня перешел рубеж в 2.0GHz, однако и сам разгон является не очень правильным занятием :). Тем более, что возможности для этого у всех плат разные, а комбинации 10x110 и 10x120 были общими и работали везде.

При тестировании использовались следующие конфигурации:

  • Intel Pentium 4 2.0 GHz
  • материнские платы:
    • ASUS P4T-E (i850)
    • EPoX 4BDA2+ (i845D)
    • ABIT BL7 (i845)
  • память:
    • 256 MB PC800 RDRAM
    • 256 MB PC2100 DDR SDRAM
    • 256 MB PC133 SDRAM
  • Windows 2000 Pro SP2

Остальные комплектующие (жесткий диск Seagate Barracuda ATA III 40GB и видеокарта GeForce 2 Pro) влияния на результат не оказывали никакого (пробовали и диск IBM DPTA, и видеокарту ATi RagePro PCI). Что касается объема памяти, то, как мы видели во второй части цикла, такого объема вполне достаточно для проведения тестов однопроцессорных систем.

Конфигурация SPEC CPU2000:

  • компиляторы Intel C/C++/Fortran 5.0.1
  • используется оптимизация под SSE2
  • только base / speed метрики

Используемые конфигурационные файлы будут приведены в материале, посвященном выбору компиляторов. Отметим, что они практически совпадают с используемыми Intel в публикациях на www.spec.org, за исключением отсутствия библиотеки SmartHeap.

Однократный запуск теста в самой быстрой конфигурации (Pentium 4 2.0 GHz, RDRAM) занимает более двух часов. Таким образом, только для трехкратного проведения всех тестов этой статьи потребовалось бы более недели рабочего времени. Поскольку здесь нашей целью является не борьба процессоров за баллы, а нахождение особенностей поведения SPEC CPU2000 на различных системах, то приведенные в этом материале результаты были получены однократными запусками CPU2000 и они являются оценками, а не официальными данными. Подтверждением такого подхода является и очень хорошая повторяемость результатов — при официальном, трехкратном запуске дельта находилась на уровне 1% для CINT2000 и 0.5% для CFP2000. Конечно, когда дело дойдет до классического "Intel vs AMD", все будет тестироваться по полной программе.

Также еще раз напоминаю, что тест SPEC CPU2000 является синтетическим и основной целью имеет оценку общей производительности систем на широком классе задач.

Чипсет i850 и память RDRAM

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

Итак, начнем с зависимости от частоты процессора. Для этого были проведены тесты с частотами 1.0..2.0 GHz. По вертикальной оси отложена метрика SPECint_base2000 и SPECfp_base2000, отражающая скорость работы в % относительно базовой системы. Чем больше — тем лучше. Посмотрим на результаты:



Первые результаты не принесли ничего неожиданного — большинство тестов показывают стабильный рост скорости с ростом тактовой частоты процессора. Только у двух приложений — 171.swim и 179.art — прибавки практически не наблюдается. Больший интерес представляет  коэффициент роста — т.е. сколько % прибавки мы получим на 10% роста тактовой частоты. По результатам сравнения для нескольких пар данных можно построить следующие графики:



В идеальном случае у нас должны бы получиться одинаковые столбики, поскольку все значения должны быть равны 10. Однако на самом деле не все так просто. Один из выводов можно было сделать и до проведения тестов - поскольку задачи оперируют большими объемами данных и уж точно не помещаются в кэш процессора, то прирост от увеличения тактовой частоты снижается с увеличением множителя.

Также можно выделить и интересные группы тестов: например 164.gzip, 186.crafty, 252.eon, 177.mesa, 200.sixtrack практически не подвержены этому явлению, и для них эффект от повышения частоты процессора наибольший. А вот другая группа — 171.swim, 179.art (близко к ним и 181.mcf) наоборот практически не зависят от частоты процессора. Наиболее ярко это видно у 179.art — рост результатов не более, чем на 0.5% при росте частоты процессора в 10%. В данном случае ограничением является подсистема памяти. При этом, в прошлом материале мы выяснили, что у этих задач очень разные требования к объему памяти — среднее значение составляет примерно 190 MB у 171.swim и 4 MB у 179.art. Обратите внимание и на поведение тестов 164.gzip и 256.bzip2. Несмотря на общий класс задач — компрессию — они демонстрируют разное поведение при повышении частоты процессора.

Теперь попробуем ускорить систему другим способом — увеличением частоты FSB. При этом сравнение будем производить при одинаковой частоте процессора. Наша система оказалась работоспособной на частотах 110 и 120 MHz. Безусловно, такой вариант не является "чистым" повышением скорости памяти, поскольку на пути ALU/FPU-RAM есть еще много разных устройств, однако способов "подкрутить" только память в современных синхронных чипсетах просто не существует. По вертикали снова отложен % роста результата на 10% роста частоты:



Приложения, демонстрирующие высокую зависимость от частоты процессора, показывают низкую чувствительность к скорости памяти и наоборот. Отрицательные результаты для 164.gzip и 252.eon могут быть объяснены неточностью тактового генератора. Например, если 100 — это на самом деле 99.5, а 110 — это 110.5, то тактовая частота процессора в варианте 10x110 на самом деле на 1% меньше, чем в случае 11x100.

Данные диаграммы, можно сказать, "дополняют" предыдущую пару — если сложить столбики, то получится ровный ряд из значений около 10. Что можно проверить, сравнив конфигурации 10x100 с 10x110 и 10x100 с 10x120, то есть исследовав рост от повышения частоты FSB, приводящего к повышению как внутренней частоты процессора, так и скорости памяти:



Конечно, здесь можно возразить, что повышение FSB в данном случае разгоняет вообще практически все компоненты ПК, однако аналогичная картина получается и для чипсета i845D, в котором шины AGP/PCI можно синхронизировать от отдельного источника 66MHz даже при повышении частоты FSB. Таким образом, действительно получается, что кроме как от скорости процессора, чипсета и памяти результаты SPEC CPU2000 не зависят ни от чего.

Суммируя представленные данные, можно сказать, что архитектура Pentium 4 + RDRAM действительно является хорошо сбалансированной (с точки зрения SPEC CPU2000), поскольку большинство тестов получают заметную прибавку от увеличения тактовой частоты процессора (и, следовательно, память в этом случае не сильно ограничивает скорость).

Итак, первые запуски SPEC CPU2000 на одной из самых производительных современных систем позволили сделать несколько выводов:

  • скорость выполнения тестов CPU2000 зависит как от скорости центрального процессора, так и от скорости памяти
  • интегральные метрики CINT2000 и CFP2000 показывают большую зависимость от частоты процессора, чем от скорости памяти
  • отдельные тесты имеют свои особенности, в частности, 171.swim и 179.art зависят практически только от скорости оперативной памяти, а 252.eon и 200.sixtrack — от частоты центрального процессора.

Чипсет i845D и DDR SDRAM

Безусловно, использование чипсета i850 и памяти типа RDRAM наиболее оптимально для процессора Pentium 4, однако сегодня очень популярны платформы для него с памятью типа DDR SDRAM. Мы не станем здесь приводить все диаграммы зависимости SPEC CPU2000 от скорости процессора и памяти, они получились очень похожи на приведенные для i850/RDRAM (конечно, с учетом меньшей скорости у DDR SDRAM).

Вместо этого попробуем сравнить эффект увеличения частоты процессора для систем на базе RDRAM и DDR SDRAM. По вертикальной оси отложен % роста результата на 10% роста тактовой частоты процессора:



В общем, мы этого и ожидали — чем чувствительнее приложение к скорости памяти, тем меньший эффект от роста частоты процессора мы увидим. И система с DDR RAM показывает меньшие значения на этих графиках. А вот прирост от разгона памяти у системы на i845D будет немного больше чем у i850, поскольку для DDR чипсета именно память является ограничивающим фактором. 

Теперь сравним SPEC CPU2000 систем на i850 и i845D. Предварительно мы можем предположить, что результаты безусловно будут лучше у i850. Причем максимальное преимущество он получит на тестах, сильно зависящих от скорости памяти, таких как 171.swim, 179.art и 181.mcf. А вот результаты 164.gzip, 186.crafty, 252.eon, 253.perlbmk, 177.mesa, 200.sixtrack не будут сильно отличаться.

На диаграммах отложено отставание системы с DDR SDRAM от ПК с RDRAM в %:



Как видите, наши предположения оказались правильными. Среди тестов SPEC CPU2000 встречаются тесты с очень разными требованиями к производительности отдельных компонент ПК. На некоторых задачах использование памяти DDR SDRAM не приводит к снижению результатов, в то время как на других падение производительности достигает 25% для целочисленной и 35% для вещественной арифметики. Заметим, что 35% можно получить и по формуле (3.2-2.1)/3.2*100, показывающей отставание DDR SDRAM от RDRAM по пропускной способности, так что тесты 171.swim и 179.art можно использовать для оценки производительности подсистемы памяти в различных ПК.

Тем не менее, по интегральным оценкам все не так уж и плохо. Система на базе i845D показала результаты в CINT2000 и CFP2000 на 7% и 15% ниже, чем ПК с RDRAM.

Чипсет i845 и  SDRAM

Честно говоря, после результатов i845D мне не захотелось даже тратить время на исследование конфигурации с SDRAM. Во-первых, было понятно, что его результаты значительно ниже результатов i850 с RDRAM, во-вторых, использование именно SDRAM в сочетании с процессором Pentium 4 сегодня может иметь смысл только если у вас есть большой запас памяти этого типа и хочется ее использовать, поскольку цена на различные типы памяти уже не отличается в разы. Тем не менее, тесты были проведены, и на последующих диаграммах можно увидеть некоторые результаты.

Например, сравним эффект разгона памяти у i845 и i845D. Поскольку пропускная способность PC133 SDRAM в 2 раза меньше PC2100 DDR RAM и именно она в значительно степени ограничивает производительность, то ее разгон будет более выгоден, чем DDR RAM:



Что и подтверждается диаграммами. Причем эффект более заметен у приложений набора CFP2000.

Теперь сравним производительность систем с PC133 SDRAM и с RDRAM. На диаграммах отложено отставание i845/SDRAM в %:



По сравнению с парой i845D vs i850, отставание стало заметнее. Приложений, заметивших изменение типа памяти, стало еще больше. А вот равнодушных осталось всего три — 186.crafty, 252.eon и 200.sixtrack. И снова по тестам 171.swim и 179.art можно измерять скорость подсистемы памяти — (3.2-1.06)/3.2*100 ~ 66%, что близко к отставанию i845+PC133 от i850+PC800.

Выводы

Итак, в этой статье мы рассмотрели три различные платформы для процессора Intel Pentium 4 в тесте SPEC CPU2000. К сожалению, этот тест является синтетическим, и переносить его результаты на реальные приложения сложно. Тем не менее, по результатам SPEC CPU2000 можно составить общее представление о производительности различных платформ для процессора Intel Pentium 4 на вычислительных приложениях:



Такие большие различия у разных подтестов позволяют оценить границы падения производительности при использовании с Pentium 4 различных типов памяти. Из 26 используемых приложений, только шесть практически не снижают скорость при использовании самой медленной -  SDRAM. Десять задач прекрасно работают и с DDR SDRAM. А вот для шестнадцати даже использование DDR SDRAM приводит к снижению производительности на 5..35%. При этом есть приложения (171.swim и 179.art), скорость работы которых прямо пропорциональна пропускной способности памяти.

Общие выводы из проведенных тестов таковы:

  • i850 в сочетании с RDRAM безусловно является лучшей платформой для процессора Intel Pentium 4
  • i845D с DDR SDRAM по интегральным оценкам проигрывает i850 около 7% в CINT2000 и 15% в CFP2000.
  • i845 с SDRAM проигрывает уже 20% в CINT2000 и 40% в CFP2000

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

  • тесты 164.gzip, 186.crafty, 252.eon, 177.mesa, 200.sixtrack можно использовать для оценки скорости процессора
  • задачи 171.swim, 179.art прекрасно подходят на роль теста скорости памяти

Да, безусловно это все синтетика, но уж очень хорошо согласуются их результаты с теоретическими данными. Тем более интересно будет посмотреть на работу SPEC CPU2000 на другой платформе — на базе процессора AMD Athlon XP и чипсетов от Via, AMD и SiS для памяти DDR SDRAM, чем мы и займемся в следующей статье.




Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.