Линейка процессоров AMD 2010 года:
исследуем подробности
Часть 4. Переход с 4 ядер на 6.


Задача в общем виде*

* — данное вступление, для удобства читателей, повторяется в начале каждой статьи этой серии

Наши постоянные читатели, быть может, помнят серию статей, которая выходила в 2009 году под общим заголовком «Влияние различных характеристик на быстродействие процессоров современных архитектур». В ней мы рассматривали некоторое количество сферических процессоров в вакууме, чтобы на основе анализа их быстродействия составить общее впечатление о скорости процессоров реальных и факторах, на неё влияющих. В новом году, после выхода следующей версии методики, мы решили творчески переработать опробованный ранее метод с уклоном в большую реалистичность исследуемых вопросов, то есть моделируя ситуации по возможности реальные. Как и в прошлый раз, начать мы решили с продукции компании AMD, а именно — с самой новой её платформы: Socket AM3. Благо, производитель обещает этой платформе достаточно долгую жизнь, популярность её в пользовательской среде велика, да и название себе компания подобрала более удачное, чем конкурент — с точки зрения сортировки по алфавиту. :)

Нынешняя линейка AMD на первый взгляд кажется несколько хаотичной (мы бы сказали, что и на все последующие тоже…), однако логику производителя понять можно: разумеется, гораздо приятнее бракованный процессор продать, чем выбросить. А т.к. модификаций с различными объёмами и типами кэшей и количеством ядер эта компания выпускает достаточно много, соответственно, есть большой соблазн придумать для экземпляра с «бракованным» ядром или кэшем какое-то название, ядро или часть кэша отключить, а процессор всё-таки продать. :) Благодаря этой замечательной, новаторской политике AMD, в линейке производимых ею AM3-процессоров наблюдается аж три разновидности двухъядерных — с разными объёмами L2-кэша, и даже с наличием L3; две модификации трёхъядерных — с L3 и без него; и снова три модификации четырёхъядерных — с L3 и без него, а также с различными объёмами L3. Кроме того, выпускается для платформы AM3 ещё и одноядерный Sempron. Сведя в одну небольшую таблицу основные технические характеристики CPU для платформы AM3, мы наконец-таки имеем шанс понять, что определённого рода логика в модельном ряде AMD есть:

  Sempron Athlon II X2 Phenom II X2 Athlon II X3 Phenom II X3 Athlon II X4 Phenom II X4 Phenom II X6
ядер 1 2 2 3 3 4 4 6
кэш L2, КБ 1024 2×512/1024 2×512 3×512 3×512 4×512 4×512 6×512
кэш L3, КБ 6144 6144 4096/6144 6144

Итак, мы наблюдаем достаточно логичное «путешествие» от 1 ядра к 6, сопровождающееся вариациями на тему объёма L2-кэша, а также наличия или отсутствия L3 и его объёма. При этом объёмом L2 AMD «играется» на относительно слабых процессорах (двухъядерных), а далее в качестве универсального «убыстрятеля всего» используется введение L3. Также можно отметить два одинаково странно смотрящихся процессора: Phenom II X2, который при всего 2 ядрах имеет гигантский L3-кэш, и, наоборот, Athlon II X4 — который при 4 ядрах лишён оного совсем. По идее, первый должен являться идеальным вариантом для старого ПО без многопоточной оптимизации (хотя тогда ему и второе-то ядро не очень нужно…), а второй — процессором для оптимистов, надеющихся на то, что 4-ядерный CPU победит все процессоры с меньшим количеством ядер, невзирая на парусник объём кэша. Так оно будет или не так — посмотрим на результаты…

Соответственно, вырисовываются наиболее интересные сопоставления с точки зрения анализа производительности:

  1. Увеличение количества ядер при одинаковом объёме кэша:
    1. от 1 ядра к 2;
    2. от 2 ядер к 3;
    3. от 3 ядер к 4;
    4. от 4 ядер к 6.
  2. Увеличение количества кэша при одинаковом количестве ядер:
    1. на 2-ядерных процессорах (L2, добавление L3);
    2. на 3-ядерных процессорах (добавление L3);
    3. на 4-ядерных процессорах (добавление L3, разные размеры L3).
  3. Вариации на тему «меньше ядер, но больше кэш*»:
    1. 1-ядерный процессор в сравнении с 2-ядерным;
    2. 2-ядерный процессор в сравнении с 3-ядерным.

* — подразумевается: на одиночное ядро.

Как видите, почвы для исследований — поле непаханое. Правда, для того чтобы мы могли зафиксировать своё внимание именно на влиянии вышеперечисленных факторов, убрав все мешающие, нам понадобилось всё-таки сделать один реверанс в сторону «синтетичности» — независимо от того, существует ли такая модель CPU в реальности, все участники тестов работали на одной частоте ядра: 2,6 ГГц. Впрочем, не так уж всё и плохо: Athlon II X3/X4, Phenom II X3/X4 с такой частотой действительно существуют, не бывает только 2600-мегагерцевых Sempron, Athlon/Phenom II X2 и Phenom II X6.

Тестирование

Как и было сказано выше, тестирование проводилось в соответствии с новейшей методикой 2010 года, с некоторыми незначительными модификациями:

  1. Поскольку задача перед нами стояла достаточно масштабная и интересная, а все участники тестов вели себя весьма пристойно, и необъяснимых с точки зрения логики странностей практически не демонстрировали, нами было принято волюнтаристское решение все опциональные тесты объявить постоянными — таким образом, они присутствуют в основном разделе, и участвуют на общих основаниях в среднем балле.
  2. Поскольку некоторое количество рассмотренных процессоров являются, так сказать «виртуальными», и в реальности не производятся, для данного цикла, для удобства сравнения, был выбран свой собственный эталонный (100-балльный) процессор из числа принимавших участие именно в этой серии тестов: AMD Phenom II X4 810.

Традиционно, мы даём ссылку на XLS-таблицу с подробными результатами всех тестов.

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

Что ж, приступим. В этой серии мы рассмотрим, казалось бы, достаточно частный случай (к тому же, в том числе по финансовым соображениям, многим совершенно неинтересный) — однако именно поэтому мы и сочли логичным выделить его в отдельную серию. Итак, сегодня мы рассмотрим вопрос увеличения производительности при переходе с 4 ядер на 6. Разумеется, как всегда, «в чистом виде», т.е. при сохранении одинакового объёма всех кэшей и частоты работы ядра — чтобы на быстродействие влияло только увеличение количества ядер. Соответственно, в нашем тестировании примут участие процессоры AMD Phenom II X4 945 и AMD Phenom II X6 1055T, принудительно переключённые на частоту ядра 2,6 ГГц.

3D-визуализация

4 cores
6 cores
%%
3ds max
103
103
0%
Lightwave
101
102
1%
Maya
108
99
−8%
UGS NX 6
100
83
−17%
Pro/ENGINEER
100
96
−4%
SolidWorks
100
101
1%
Group Score
102
97
−5%

Достаточно «жёсткая» реакция: практически все приложения отреагировали на появление ещё двух дополнительных ядер негативно, уменьшив производительность. Впрочем, для нас это не в диковинку — мы и ранее наблюдали такие случаи, хотя и не часто. Руководствуясь банальным здравым смыслом, вполне допустимо предположить, что чем больше будет ядер — тем вероятнее возникновение в том числе таких коллизий. Однако в данном случае необходимо помнить ещё вот о чём: у нас не просто много ядер, а 6 — то есть их количество не кратно ни одной целой степени двойки. Мы однажды уже наблюдали артефакты, связаные с трёхъядерностью, поэтому логично предположить, что и с 6-ядерностью могут возникнуть проблемы аналогичного плана. А если оба эффекта ещё и накладываются друг на друга...

Рендеринг трёхмерных сцен

4 cores
6 cores
%%
3ds max
101
115
14%
Lightwave
100
145
45%
Maya
100
143
43%
Group Score
100
134
34%

Вполне ожидаемый результат, разве что немного разочаровывает рендер-движок в 3ds max (мы используем V-Ray) — он явно не в состоянии полностью утилизировать мощь 6-ядерного процессора. В остальных случаях результат близок к идеалу (идеальный прирост, как нетрудно посчитать, разделив 6 на 4, составляет 50%). Это, безусловно, радует: мы уже нашли хотя бы один класс приложений, относительно которого 6-ядерный процессор является, безусловно, стоящим приобретением.

Научные и инженерные расчёты

4 cores
6 cores
%%
Maya
102
93
−9%
UGS NX 6
100
92
−8%
Pro/ENGINEER
100
99
−1%
SolidWorks
100
95
−5%
MAPLE
98
98
0%
Mathematica
103
124
20%
MATLAB
100
110
10%
Group Score
100
102
2%

И снова практически все приложения, не имеющие, серьёзной многопоточной оптимизации, отреагировали на переход с 4 ядер на 6 падением производительности, и, с другой стороны, даже неплохо многопоточно-оптимизированные Mathematica и MATLAB демонстрируют нам прирост, весьма далёкий от идеального.

Растровая графика

4 cores
6 cores
%%
ACDSee
100
112
12%
Corel PaintShop
100
95
−5%
Corel PhotoImpact
99
98
−1%
Adobe Photoshop
99
110
11%
Group Score
100
104
4%

Как ни странно, считающийся хорошо оптимизированным Adobe Photoshop и считающийся достаточно поверхностно оптимизированным ACDSee, получили от 6 ядер пракически одинаковый прирост. Ну а традиционно «однопроцессорные» продукты Corel опять-таки традиционно на 6-ти ядрах притормозили. Видим мы такую ситуацию уже 3-й раз, поэтому удивления уже не испытываем.

Сжатие данных

4 cores
6 cores
%%
7-zip
105
133
27%
RAR
105
108
3%
Unpack (RAR)
105
103
−2%
Group Score
105
115
10%

Более-менее задействовать 6 ядер умеет только 7-Zip. И снова мы наблюдаем уже не раз отмеченое ранее явление: типично однопотоковая задача на 6-ядерном процессоре демонстрирует худший результат, чем на 4-ядерном. Вряд ли все программисты из самых разных компаний, сговорившись, сделали одну и ту же ошибку, поэтому основных подозреваемых осталось двое: ОС и «железо». Ну или ПО на стыке одного и другого — драйверы.

Компиляция

4 cores
6 cores
%%
Group Score
101
130
29%

Результат нельзя назвать «превосходным» — но он хотя бы достаточно ощутим, и не отрицательный. :) Впрочем, напомним то, о чём мы не говорили уже давно (вдруг кто-то забыл): проект, который мы используем, был специальным образом подготовлен к тому, чтобы при его компиляции могло задействоваться несколько ядер. Исходный проект, например, в том виде, в котором он раздаётся на сайте разработчика, подобных оптимизаций не имел. Поэтому не стоит обольщаться: если вы хотите получить высокую скорость компиляции на многоядерной системе, для этого придётся приложить дополнительные усилия ещё на этапе компоновки проекта.

Java

4 cores
6 cores
%%
Group Score
99
134
35%

Ещё один пример бенчмарка, традиционно положительно относившегося к увеличению количества ядер. Не подвёл он нас и сегодня, хотя до идеальных 50% осталось целых 15 т.е. кривая производительности не бесконечно уходит вверх, а всё-таки постепенно выпрямляется...

Браузеры

4 cores
6 cores
%%
Flashbench
100
100
0%
Google v8
101
95
−6%
Sun Spider
101
100
−1%
Group Score
101
98
−3%

Движки JavaScript во всех браузерах, похоже, однопоточные (по крайней мере если не оптимизировать соответствующим образом сами скрипты), поэтому результат нам, уже умудрённым опытом предыдущих тестов, известен заранее: либо ноль, либо хуже. В данном случае — хуже. Правда, в среднем по группе довольно незначительно (да и в любом случае, нам трудно представить, чтобы система с 6-ядерным процессором «просела» на JavaScript) — пусть даже скорость у неё окажется чуть меньше, чем у 4-ядерной.

Кодирование аудио

4 cores
6 cores
%%
Apple Lossless
101
133
32%
FLAC
101
134
33%
Monkey’s Audio
101
134
33%
MP3 (LAME)
100
136
36%
Nero AAC
100
139
39%
Ogg Vorbis
102
134
31%
Group Score
101
135
34%

В зависимости от кодека, прирост составляет от 31% до 39%, и в целом это достаточно высокий показатель. Почему не «идеальные» 50%? Видимо, при 6-ти одновременно выполняющихся потоках, ограничителем для быстродействия становится что-то другое. Вполне возможно даже, что дисковая подсистема — почему бы нет?

Кодирование видео

4 cores
6 cores
%%
DivX
101
108
7%
Mainconcept (VC-1)
101
121
20%
Adobe Premiere
99
145
46%
Sony Vegas
105
131
25%
x264
100
146
46%
XviD
101
115
14%
Group Score
101
128
27%

Более чем скромны результаты DivX/XviD (неужели сказалось то, что оба этих проекта выросли из одного корня?), также не шибко, прямо скажем, радует Sony Vegas — и это при том, то данное ПО относится к профессиональным инструментам, и с дорогой хорошей техникой должно уметь работать соответственно. Однако на высоте продукт Adobe, на высоте (стабильно и уже очень давно x264), поэтому средний балл по группе наглядно нам демонстрирует, что для кодирования видео 6-ядерный процессор вполне применим, и отдача от него будет.

Воспроизведение видео

4 cores
6 cores
%%
DXVA/H.264
101
147
46%
DXVA/VC-1
108
129
19%
Software/H.264
100
147
47%
Software/VC-1
100
152
52%
Group Score
102
144
41%

Цифры «пользы», вроде бы, высокие — но по факту толку от этого немного: с декодированием видео, даже полностью программным, вполне успешно справляются двухъядерные процессоры среднего уровня, поэтому не всё ли равно, сколько ядер будет при этом процессе простаивать — одно, два, или четыре?

Виртуальная машина

4 cores
6 cores
%%
Ubuntu Linux
101
120
19%
Windows XP
101
107
6%
Group Score
101
114
13%

Виртуализация накладывает дополнительные ограничения, поэтому было бы странно ждать результатов в райне идеалистических 50% даже от такого хорошего бенчмарка, как встроенный измеритель производительности архиватора 7-Zip — однако результаты Linux по сравнению с Windows XP всё равно поражают: что-то не то у Windows XP с планировщиком. Впрочем, для систем, на которых активно запускаются виртуальные машины, многояденые конфигурации хороши ещё одной особенностью: можно, например, выделить несколько ядер виртуальной машине — но несколько ещё и оставить в эксклюзивное пользование основной ОС. Тогда даже при предельной загрузке «виртуалок», основная ОС не будет впадать в ступор от недостатка процессорных ресурсов.

Игры

4 cores
6 cores
%%
Batman
102
102
0%
Borderlands
102
103
1%
Dirt2
100
68
−32%
Far Cry 2
100
100
0%
Fritz Chess
100
145
45%
GTA IV
104
109
5%
Resident Evil 5
102
104
2%
S.T.A.L.K.E.R. «Pripyat»
100
100
0%
UT3
105
96
−9%
Crysis: Warhead
102
100
−2%
World in Conflict
102
102
0%
Group Score
102
103
1%

Шестиядерный процессор можно рекомендовать тем, кто любит играть в шахматы, категорически не стоит советовать поклонникам игры Colin McRae: DiRT 2... да и всем остальным, кроме шахматистов, такой процессор тоже, в общем-то, не нужен. Просто потому, что ничего существенного не даёт.

Общий балл

4 cores
6 cores
%%
Group Score
101
118
17%

Средний прирост, на самом деле, вовсе не такой уж плохой. Тревожит другое: чем больше ядер — тем чаще встречаются ситуации, когда увеличение их количества сказывается на производительности отрицательно. Конечно, как правило, это весьма скромное падение скорости, которое без специальных измерений никто и не заметит, к тому же мы опять имеем дело с количеством ядер, не кратным степени двойки, а мы уже давно выяснили, что некоторое ПО на такие вещи реагирует странно — однако сама тенденция всё-таки прослеживается вполне чётко, и не может не тревожить. Программисты явно не поспевают за конструкторами процессоров, и если развитие CPU и дальше будет идти такими же темпами, то разрыв может увеличиться ещё больше. Что же касается рекомендаций, то они очевидны: рендеринг, компиляция и java (если вам всерьёз не хватает скорости в этих областях), кодирование видео и аудио — вот для чего может быть нужен 6-ядерный процессор. Для всех остальных применений имеет смысл ограничиться меньшим количеством ядер — тем более, что самые многоядерные процессоры в линейке любого производителя, как правило, не являются самыми высокочастотными, а частота ядра — намного более универсальный способ повышения производительности, чем увеличение количества ядер.



Процессоры AMD Phenom II X4 и X6
предоставлены компанией
 



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

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

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

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

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