Линейка процессоров AMD 2010 года:
исследуем подробности
Часть 1. Что лучше: 2 ядра и большой L2
или 3 ядра и маленький?


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

Наши постоянные читатели, быть может, помнят серию статей, которая выходила в 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-таблицу с подробными результатами всех тестов.

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

Итак, приступим. В этой серии мы рассмотрим, как и было обещано, один простой и конкретный вопрос: имеет ли 3-ядерный процессор, в котором на каждое ядро приходится по 512 килобайт L2-кэша, преимущество над двухъядерным CPU, в котором на каждое ядро приходится в 2 раза больше L2-кэша — 1024 килобайта? В плюсах у первого — дополнительное ядро. С другой стороны, каждое ядро второго может работать с удвоенным объёмом кэшированных данных. Ситуация, между прочим, вовсе не такая очевидная, как может показаться на первый взгляд…

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
3ds max
79 92
16%
Lightwave
94 91
−3%
Maya
94 90
−4%
UGS NX 6
98 95
−3%
Pro/ENGINEER
95 90
−5%
SolidWorks
98 94
−4%
Group Score 92 91
−1%

Да-да, к вопросу о неочевидности ситуации. Поразительно, но при визуализации трёхмерной картинки, только один пакет из шести смог получить какую-то пользу от дополнительного ядра, а вот 5 остальных на уменьшение объёма L2 отреагировали весьма критически. Разумеется, понятно, с чем это связано: скорее всего, они просто не смогли задействовать третье ядро, и оно простаивало. Что ж — похвалим разработчиков 3ds max за хорошую оптимизацию, но заодно констатируем: они пока в явном меньшинстве.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
3ds max
63 83
32%
Lightwave
51 74
45%
Maya
48 71
48%
Group Score 54 76
41%

В этой группе прирост производительности от добавления ещё одного ядра близок к идеальному, но относительно рендеринга данный факт не вызывает никакого удивления: 512 килобайт L2-кэша ядрам вполне хватает, т.к. сцена разбивается на достаточно мелкие параллельно обсчитываемые кусочки.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Maya
89 95
7%
UGS NX 6
96 93
−3%
Pro/ENGINEER
94 91
−3%
SolidWorks
92 87
−5%
MAPLE
98 94
−4%
Mathematica
65 73
12%
MATLAB
74 84
14%
Group Score 87 88
1%

Ситуация более сложная: инженерные CAD, судя по всему, оперируют достаточно большими объёмами информации при подсчёте, а вот задействовать третье ядро не умеют (справедливости ради: они и второе зачастую игнорируют…). «Выстрелили» неплохо многопоточно оптимизированные Maya, Mathematica (напомним, что начиная с 2010 года мы используем для этого пакета многопоточно-оптимизированный вариант теста MMA) и MATLAB, за счёт чего общий балл по группе вывел в лидеры 3-ядерный CPU.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
ACDSee
101 97
−4%
Corel PaintShop
96 97
1%
Corel PhotoImpact
99 98
−1%
Adobe Photoshop
73 86
18%
Group Score 92 95
3%

Разница в ±1 процент вполне укладывается в погрешность измерений, поэтому нам только остаётся выделить кэшелюбивый ACDSee и хорошо многопоточно оптимизированный Photoshop. И снова за счёт более ощутимого преимущества в хорошо оптимизированном приложении 3-ядерник лидирует в общем балле по группе.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
7-zip
55 74
35%
RAR
83 83
0%
Unpack (RAR)
90 86
−4%
Group Score 76 81
7%

7-Zip третье ядро задействовать умеет, RAR — очевидно, не умеет, а вот при распаковке (она вообще однопоточная, мы проверяли) объём L2 оказывается достаточно важным параметром. Но всё равно ускорение в 7-Zip больше, чем потери производительности при распаковке. 3-ядерник снова выиграл.

Компиляция

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Group Score 57 68
19%

Наш тест компиляции (по крайней мере, так должно быть в теории…) сейчас поддерживает до 16 потоков, поэтому выигрыш процессора с бо́льшим количеством ядер не удивляет.

Java

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Group Score 55 74
35%

…Ну а отличную распараллеливаемость теста SPECjvm, мы хорошо знаем ещё по методике 2009 года.

Браузеры

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Flashbench
90 94
4%
Google v8
93 97
4%
Sun Spider
97 97
0%
Group Score 93 96
3%

Совсем новая, неизведанная группа тестов, статистики по которой ещё нет, но достаточно банальный результат: два бенчмарка отдали небольшое преимущество третьему ядру, а третий вообще не заметил никакой разницы.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Apple Lossless
50 67
34%
FLAC
50 66
32%
Monkey’s Audio
50 67
34%
MP3 (LAME)
50 67
34%
Nero AAC
51 67
31%
Ogg Vorbis
50 67
34%
Group Score 50 67
34%

Тесты на скорость кодирования аудио начиная с 2009 года получили прекрасную многопоточную оптимизацию за счёт использование пакета dbPoweramp, который умеет запускать на исполнение столько процессов кодирования, сколько он обнаружит в системе процессоров. В этой ситуации выигрыш 3-ядерника был предрешён.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
DivX
77 93
21%
Mainconcept (VC-1)
64 81
27%
Adobe Premiere
49 72
47%
Sony Vegas
55 76
38%
x264
50 65
30%
XviD
72 85
18%
Group Score 61 79
30%

Пакеты для кодирования видео также демонстрируют очень достойную многопроцессорную оптимизацию, в том числе ранее не использовавшиеся нами Adobe Premiere и Sony Vegas. Причём, заметьте: у двух вышеназванных пакетов она одна из лучших в группе.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
DXVA/H.264
50 70
40%
DXVA/VC-1
104 49
−53%
Software/H.264
53 75
42%
Software/VC-1
48 72
50%
Group Score 64 67
5%

Новая группа тестов преподнесла один из немногочисленных сюрпризов, резко негативно отреагировав на 3-ядерник. Забегая вперёд, отметим: похоже, речь идёт именно о реакции на 3 ядра, а не на уменьшение объёма L2, т. к. 4-ядерник настолько большого падения производительности не демонстрирует. Возможно, имеет место феномен категорического «непереваривания» конкретным ПО количества ядер, отличного от степени двойки, мы ранее с таким уже сталкивались.

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

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Ubuntu Linux
71 69
−3%
Windows XP
75 75
0%
Group Score 73 72
−1%

И ещё одна неожиданность: VirtualBox, оказывается, любит большой L2-кэш. По-другому объяснить феномен результатов в данной группе не получается: используемый для тестов под виртуальной машиной архиватор 7-Zip имеет очень хорошую многопоточную оптимизацию (чему доказательством являются результаты тестирования архиваторов).

Игры

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Batman
77 86
12%
Borderlands
85 90
6%
Dirt2
62 85
37%
Far Cry 2
69 88
28%
Fritz Chess
48 72
50%
GTA IV
51 72
41%
Resident Evil 5
65 86
32%
S.T.A.L.K.E.R. «Pripyat»
92 97
5%
UT3
60 84
40%
Crysis: Warhead
84 90
7%
World in Conflict
65 70
8%
Group Score 69 84
22%

Подавляющее большинство игр вполне удачно задействавали третье ядро, только Borderlands, S.T.A.L.K.E.R., Crysis и World in Conflict не испытывают особого оптимизма (менее 10% прибавки). Не то чтобы тенденция была такая уж чёткая (UT3 ей, например, противоречит), но можно заметить, что 3 игры из перечисленных четырех — не очень-то новые.

Общий балл

  2 ядра + 2×1024 L2 3 ядра + 3×512 L2 %%
Overall Score
71 80
13%

Общий балл вполне в духе времени: даже с обрезанным кэшем, многоядерность всё равно в фаворе. Впрочем, не без пикантных подробностей: 16 тестов из 57 предпочли процессор с меньшим количеством ядер, но большим объёмом L2 на ядре. Есть искушение объявить данный факт происками ретроградов и леностью программистов, недостаточно хорошо умеющих задействовать ресурсы современных процессоров… и, наверное, так оно и есть. Всё-таки для нормальной поддержки многоядерности нужно проделать определённую работу (иногда немаленькую), а большой L2 иногда вызывает повышение производительности «сам по себе», без дополнительных усилий программиста. В таком случае, закончить следует на оптимистической ноте: судя по общему баллу, ленивцев среди разработчиков ПО становится всё меньше. Что же касается практических рекомендаций, то они очевидны: в целом, в случае с Athlon II, 3 ядра всё-таки однозначно лучше, чем 2.



Процессоры AMD Athlon II X2/X3 предоставлены компанией
 



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

iXBT BRAND 2016

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

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

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

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