Задача в общем виде*
* — данное вступление, для удобства читателей, повторяется в начале каждой статьи этой серии
Наши постоянные читатели, быть может, помнят серию статей, которая выходила в 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 ядра к 2;
- от 2 ядер к 3;
- от 3 ядер к 4;
- от 4 ядер к 6.
- Увеличение количества кэша при одинаковом количестве ядер:
- на 2-ядерных процессорах (L2, добавление L3);
- на 3-ядерных процессорах (добавление L3);
- на 4-ядерных процессорах (добавление L3, разные размеры L3).
- Вариации на тему «меньше ядер, но больше кэш*»:
- 1-ядерный процессор в сравнении с 2-ядерным;
- 2-ядерный процессор в сравнении с 3-ядерным.
* — подразумевается: на одиночное ядро.
Как видите, почвы для исследований — поле непаханое. Правда, для того чтобы мы могли зафиксировать своё внимание именно на влиянии вышеперечисленных факторов, убрав все мешающие, нам понадобилось всё-таки сделать один реверанс в сторону «синтетичности» — независимо от того, существует ли такая модель CPU в реальности, все участники тестов работали на одной частоте ядра: 2,6 ГГц. Впрочем, не так уж всё и плохо: Athlon II X3/X4, Phenom II X3/X4 с такой частотой действительно существуют, не бывает только 2600-мегагерцевых Sempron, Athlon/Phenom II X2 и Phenom II X6.Тестирование
Как и было сказано выше, тестирование проводилось в соответствии с новейшей методикой 2010 года, с некоторыми незначительными модификациями:
- Поскольку задача перед нами стояла достаточно масштабная и интересная, а все участники тестов вели себя весьма пристойно, и необъяснимых с точки зрения логики странностей практически не демонстрировали, нами было принято волюнтаристское решение все опциональные тесты объявить постоянными — таким образом, они присутствуют в основном разделе, и участвуют на общих основаниях в среднем балле.
- Поскольку некоторое количество рассмотренных процессоров являются, так сказать «виртуальными», и в реальности не производятся, для данного цикла, для удобства сравнения, был выбран свой собственный эталонный (100-балльный) процессор из числа принимавших участие именно в этой серии тестов: AMD Phenom II X4 810.
Традиционно, мы даём ссылку на XLS-таблицу с подробными результатами всех тестов.
Также некоторым, быть может, покажется неожиданной последовательность поднимаемых в различных сериях вопросов: очевидно, что логическому осмыслению она не поддаётся. :) Здесь вам придётся просто простить нам некую хаотичность в последовательности выхода серий: она обуславливается простым «рабочим моментом» — серии будут выходить в той последовательности, в которой будут становиться доступны рассматриваемые в них результаты. К сожалению, обширность нашей методики тестирования обуславливает один её неизбежный недостаток: тесты идут очень долго. Соответственно, мы решили пожертвовать красотой ради оперативности, и, надеемся, вы нас поймёте. К тому же формат сериала, который условно можно обозначить как «одна статья — один ответ на конкретный вопрос», — вполне располагает к такому подходу: ведь нет «важных» и «неважных» вопросов, каждый из них по-своему интересен, и каждый наверняка найдёт своего читателя.
Итак, приступим. В этой серии мы рассмотрим влияние на быстродействие размеров L3-кэша. Из таблички, приведенной выше, видно, что у четырёхъядерных процессоров AMD Socket AM3 они бывают трёх размеров: совсем не бывает у Athlon II X4, 4 МБ у младшей серии Phenom II X4 и 6 МБ — у старшей серии Phenom II X4 и у всех известных нам на данный момент Phenom II X2/X3/X6. Таким образом, на примере Phenom II X4, которые AMD решила снабдить такой эксклюзивной особенностью как L3-кэш различного размера, мы можем пронаблюдать не только эффект от добавления L3, но и даже эффект от его увеличения. Впрочем, мы попробуем немного побыть Кассандрой: сдаётся нам, когда X6 станет достаточно массовым, ему этой [ю]доли с «малым и большим» L3 тоже не избежать. Причины вполне доступно описаны выше.
Однако вернёмся к нашим тестам. Сегодняшнее тестирование на редкость легко описывать, но, с другой стороны, вряд ли вы прочтёте нечто, что перевернёт ваши представления об окружающем мире. Ибо в целом, кэш — это всегда хорошо, особенно когда характеристики кэша с бо́льшим объёмом сопоставимы с характеристиками кэша с меньшим (т. е., грубо говоря, если мы не сравниваем 2 МБ L2 с 2 МБ L3). Потому что при большем кэше быстродействие лучше стать может (хоть и не всегда), а вот хуже — теоретически, даже не может. Соответственно, нам остаётся лишь выяснить, насколько же наличие L3 лучше его отсутствия, и чем 6-мегабайтный L3 лучше 4-мегабайтного. Для тестов использовались процессоры Athlon II X4 620 (частота 2,6 ГГц, L3 отсутствует), Phenom II X4 810 (частота 2,6 ГГц, L3 4 МБ) и Phenom II X4 945, работавший также на частоте 2,6 ГГц (L3 6 МБ).
Будьте внимательны! В данном материале %% прироста в таблицах даны по отношению к «предыдущему» процессору, т. е. у второго — по отношению к первому, а у третьего — по отношению ко второму.
3D-визуализация
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
3ds max | 84 | 100 | 19% | 103 | 3% |
---|---|---|---|---|---|
Lightwave | 91 | 100 | 10% | 101 | 1% |
Maya | 89 | 100 | 12% | 108 | 8% |
UGS NX 6 | 97 | 100 | 3% | 100 | 0% |
Pro/ENGINEER | 93 | 100 | 8% | 100 | 0% |
SolidWorks | 97 | 100 | 3% | 100 | 0% |
Group Score | 92 | 100 | 9% | 102 | 2% |
Визуализация вполне благосклонно относится к L3, особенно наиболее продвинутые по данной части пакеты трёхмерного моделирования — у них самые высокие проценты прироста производительности при появлении L3. С другой стороны, на дальнейшее увеличение объёма кэша третьего уровня, большинство пакетов реагируют совершенно вяло, и только Maya продолжает демонстрировать умеренный оптимизм. А вообще, такое существенное влияние объёма процессорного кэша на процесс визуализации, напоминает нам в том числе о том, что ни единым GPU это всё делается, несмотря на всяческие OpenGL и прочие Direct3D…
Рендеринг трёхмерных сцен
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
3ds max | 96 | 100 | 4% | 101 | 1% |
---|---|---|---|---|---|
Lightwave | 96 | 100 | 4% | 100 | 0% |
Maya | 91 | 100 | 10% | 100 | 0% |
Group Score | 94 | 100 | 6% | 100 | 0% |
Наши предположения о том, что сцены для рендеринга разбиваются на достаточно маленькие кусочки, косвенным образом подтвердились: не так уж велико влияние L3 на скорость. Одна только Maya отличилась своими 10% прироста от появления L3, но даже она уже не делает никакой разницы между двумя его объёмами.
Научные и инженерные расчёты
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Maya | 95 | 100 | 5% | 102 | 2% |
---|---|---|---|---|---|
UGS NX 6 | 88 | 100 | 14% | 100 | 0% |
Pro/ENGINEER | 93 | 100 | 8% | 100 | 0% |
SolidWorks | 87 | 100 | 15% | 100 | 0% |
MAPLE | 93 | 100 | 8% | 98 | −2% |
Mathematica | 90 | 100 | 11% | 103 | 3% |
MATLAB | 94 | 100 | 6% | 100 | 0% |
Group Score | 91 | 100 | 10% | 100 | 0% |
Единодушно положительная реакция на появление L3 — и некоторые даже странности при наращивании его объёма (MAPLE). Впрочем, странности в рамках погрешности измерений, так что сильного внимания не заслуживают. Показательно, что CAD-пакеты (UGS NX, SolidWorks, Pro/ENGINEER), достаточно спокойно реагировавшие на L3 в процессе визуализации, именно в расчётах реагируют на него строго положительно.
Растровая графика
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
ACDSee | 100 | 100 | 0% | 100 | 0% |
---|---|---|---|---|---|
Corel PaintShop | 93 | 100 | 8% | 100 | 0% |
Corel PhotoImpact | 97 | 100 | 3% | 99 | −1% |
Adobe Photoshop | 96 | 100 | 4% | 99 | −1% |
Group Score | 97 | 100 | 3% | 100 | 0% |
Неожиданно, прямо скажем, слабая реакция у пакетов для работы с растровой графикой. Причём даже у «навороченного» Adobe Photoshop. Повод задуматься дизайнерам, зачастую подбирающим себе машины специально под работу в этом пакете…
Сжатие данных
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
7-zip | 91 | 100 | 10% | 105 | 5% |
---|---|---|---|---|---|
RAR | 85 | 100 | 18% | 105 | 5% |
Unpack (RAR) | 86 | 100 | 16% | 105 | 5% |
Group Score | 87 | 100 | 15% | 105 | 5% |
Пожалуй, единственная группа тестов, которые однозначно положительно отреагировали как на появление L3, так и на дальнейшее увеличение его объёма. Впрочем, это общее место: архиваторы любят кэш, архиваторы любят быстрое ОЗУ, они вообще очень чувствительны ко всему, что связано с обменом данными.
Компиляция
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Group Score | 82 | 100 | 22% | 101 | 1% |
---|
Сверхположительная реакция на появление L3, и практически никакой на его увеличение.
Java
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Group Score | 97 | 100 | 3% | 99 | -1% |
---|
Ну а здесь, можно сказать, вообще никакой реакции. То ли объём данных и кода в этом Java-тесте слишком мал — то ли, наоборот, слишком велик.
Браузеры
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Flashbench | 98 | 100 | 2% | 100 | 0% |
---|---|---|---|---|---|
Google v8 | 92 | 100 | 9% | 101 | 1% |
Sun Spider | 96 | 100 | 4% | 101 | 1% |
Group Score | 95 | 100 | 5% | 101 | 1% |
Браузеры (точнее — их встроенные движки для исполнения JavaScript), как ни странно, на появление L3 среагировали.
Кодирование аудио
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Apple Lossless | 99 | 100 | 1% | 101 | 1% |
---|---|---|---|---|---|
FLAC | 100 | 100 | 0% | 101 | 1% |
Monkey’s Audio | 99 | 100 | 1% | 101 | 1% |
MP3 (LAME) | 100 | 100 | 0% | 100 | 0% |
Nero AAC | 99 | 100 | 1% | 100 | 0% |
Ogg Vorbis | 100 | 100 | 0% | 102 | 2% |
Group Score | 100 | 100 | 0% | 101 | 1% |
Здесь, видимо, как раз тот случай, когда объём за раз обрабатываемых данных слишком мал, и кодекам вполне хватает даже «голого» L2.
Кодирование видео
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
DivX | 99 | 100 | 1% | 101 | 1% |
---|---|---|---|---|---|
Mainconcept (VC-1) | 96 | 100 | 4% | 101 | 1% |
Adobe Premiere | 98 | 100 | 2% | 99 | -1% |
Sony Vegas | 97 | 100 | 3% | 105 | 5% |
x264 | 97 | 100 | 3% | 100 | 0% |
XviD | 99 | 100 | 1% | 101 | 1% |
Group Score | 98 | 100 | 2% | 101 | 1% |
Более чем скромный результат у L3 любого объёма.
Воспроизведение видео
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
DXVA/H.264 | 90 | 100 | 11% | 101 | 1% |
---|---|---|---|---|---|
DXVA/VC-1 | 84 | 100 | 19% | 108 | 8% |
Software/H.264 | 99 | 100 | 1% | 100 | 0% |
Software/VC-1 | 99 | 100 | 1% | 100 | 0% |
Group Score | 93 | 100 | 8% | 102 | 2% |
Как ни странно, воспроизведение видео L3 ускоряет даже лучше, чем его кодирование.
Виртуальная машина
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Ubuntu Linux | 94 | 100 | 6% | 101 | 1% |
---|---|---|---|---|---|
Windows XP | 89 | 100 | 12% | 101 | 1% |
Group Score | 92 | 100 | 9% | 101 | 1% |
Мы предполагали, что Sun VirtualBox любит большой кэш — и это ещё раз подтвердилось. Правда, видимо, и у его любви есть пределы — 6 мегабайт уже не нужно.
Игры
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Batman | 88 | 100 | 14% | 102 | 2% |
---|---|---|---|---|---|
Borderlands | 90 | 100 | 11% | 102 | 2% |
Dirt2 | 96 | 100 | 4% | 100 | 0% |
Far Cry 2 | 90 | 100 | 11% | 100 | 0% |
Fritz Chess | 96 | 100 | 4% | 100 | 0% |
GTA IV | 83 | 100 | 20% | 104 | 4% |
Resident Evil 5 | 92 | 100 | 9% | 102 | 2% |
S.T.A.L.K.E.R. «Pripyat» | 98 | 100 | 2% | 100 | 0% |
UT3 | 83 | 100 | 20% | 105 | 5% |
Crysis: Warhead | 92 | 100 | 9% | 102 | 2% |
World in Conflict | 88 | 100 | 14% | 102 | 2% |
Group Score | 91 | 100 | 10% | 102 | 2% |
И снова одна из самых кэшелюбивых групп бурно и радостно реагирует на 4-мегабайтный L3… и практически никак — на дальнейшее увеличение его объёма.
Общий балл
4×512 L2 | 4×512 L2 + 4096 L3 | %% | 4×512 L2 + 6144 L3 | %% | |
Group Score | 93 | 100 | 8% | 101 | 1% |
---|
М-да… Судя по результатам наших тестов, AMD явно переборщила: не нужно было Phenom II наращивать L3-кэш до 6 мегабайт, для большинства случаев вполне хватило бы и 4 МБ. С другой стороны — может, большой L3 по-другому «заиграет» на процессорах с меньшим количеством ядер? Всё-таки, он же разделяемый… Это тема для будущих исследований, а пока сформулируем очевидный вывод, который вы наверняка и сами знаете: 4-ядерным процессорам с ядром K10 L3-кэш на некоторых ресурсоёмких задачах оказывается полезен, но во-первых — отнюдь не на всех, а во-вторых — 4 мегабайта вполне хватает. Даже жалко, что у AMD всего один такой процессор…
Процессоры AMD Phenom II X4 предоставлены компанией |