Исследуем подробно Intel Core i7

Технологии Turbo Boost и Hyper-Threading


Сегодняшняя статья будет посвящена тем аспектам, которые мы не осветили в основном материале, посвящённом новой архитектуре Intel Core i7 и её первому, попавшему к нам представителю — процессору Intel Core i7 920. Как, наверное, помнят наши постоянные читатели, в том тестировании мы оценили производительность Core i7 920, так сказать, в «полностью штатном» режиме — с включенными технологиями Turbo Boost и Hyper-Threading, как он и должен, по идее, работать в обычной пользовательской системе.

Однако исследовательский пыл трудно остудить, поэтому нас, конечно, заинтересовал вопрос: а какую долю новые технологии вносят в общую производительность процессоров данной архитектуры? Данный материал полностью посвящён этому вопросу: мы исследовали производительность Core i7 в «минималистичном» варианте (отключив как Turbo Boost, так и Hyper-Threading), а также в вариантах с включённой Hyper-Threading и включённым Turbo Boost. И, естественно, в качестве ориентира присутствует «нормальный» режим, где обе задействованы технологии.

Некоторые изменения коснулись и тестового стенда: в данном тестировании мы использовали уже 6 ГБ DDR3 SDRAM от компании Corsair, а также системную плату ECS X58B-A. Все остальные комплектующие остались неизменными с момента публикации предыдущей статьи по Core i7. К сожалению, использование 6 ГБ ОЗУ вместо 3 ГБ в прошлом тесте, судя по результатам, не позволяет их сравнивать напрямую, поэтому стандартная конфигурация с включенными технологиями Turbo Boost и Hyper-Threading была протестирована ещё раз с указанными здесь памятью и системной платой.

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

Обозначения в таблицах следует трактовать следующим образом: «All Disabled» — отключены и Turbo Boost, и Hyper-Threading. «TB Enabled» — включён только Turbo Boost. «HT Enabled» — включён только Hyper-Threading. «All Enabled» — включены Turbo Boost и Hyper-Threading.

Графа «Прирост, %» отражает прирост производительности того режима, который находится в предыдущем столбце (слева), относительно режима «All Disabled». NB: Именно относительно режима «All Disabled», то есть крайней левой колонки с данными, а не относительно предыдущего «Enabled»-режима.

Жирным красным шрифтом выделен отрицательный прирост (падение производительности).

Пакеты трёхмерного моделирования

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
3ds max
CPU Render9,9310,475%11,1112%11,6117%
Graphics4,264,352%3,88-9%4,414%
Hardware Shaders10,3810,824%10,01-4%10,572%
Maya
GFX2,832,892%2,81-1%2,892%
CPU7,707,903%7,730%8,186%
Render0:04:580:04:416%0:04:0721%0:03:5527%
Lightwave0:07:280:06:597%0:07:41-3%0:07:43-3%
Group Score1181234%1202%1277%

Включение Turbo Boost даёт стабильный прирост везде, что достаточно логично: согласно общей концепции, данная функция, в принципе, не должна давать падение производительности. Ситуация с Hyper-Threading более сложная: на рендеринге (3ds max, Maya) она даёт достаточно существенный прирост, лишь в Lightwave наблюдается незначительное падение. Достаточно симптоматично, что включение Hyper-Threading приводит к падению производительности в графике (опять-таки 3ds max, Maya). Можно предположить, что мы имеем дело с недостаточно оптимизированными драйверами видеокарты, которые тоже задействуют функции процессора.

CAD/CAM пакеты

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
UGS NX
Total CPU3,974,093%3,90-2%4,114%
Total Graphics1,951,971%1,87-4%1,971%
Pro/ENGINEER
CPU Related tasks5695298%5700%5356%
Graphics Relatsed tasks7697433%800-4%7581%
SolidWorks
Graphics80,3371,7812%77,444%69,1316%
CPU44,1741,526%43,681%40,888%
Group Score1101166%109-1%1166%

Данная группа тестов и к «традиционной» (физической, а не виртуальной) многоядерности относилась как минимум с прохладцей, поэтому совершенно неудивительно, что её отношение к многоядерности виртуальной (Hyper-Threading) оказалось не лучше, а по факту (Group Score) даже хуже. Turbo Boost демонстрирует достаточно высокий средний балл прироста — даже выше, чем в прошлой подгруппе. Что, впрочем, тоже закономерно: чем более слабо приложения могут задействовать многоядерность — тем больший потенциал повышения частоты они обеспечивают для одиночного работающего ядра.

Компиляция

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
VisualStudio0:25:390:23:389%0:24:156%0:22:3613%
Group Score1161269%1236%13213%

Один из немногих тестов, в котором наблюдается прирост как от включения одной «турбирующей» функции, так и от другой. И даже в сумме они накладываются друг на друга с достаточно неплохим КПД.

Профессиональная работа с фотографиями

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
Photoshop
Blur0:04:420:04:285%0:04:0416%0:03:5023%
Color0:01:040:00:5810%0:01:20-20%0:01:16-16%
Filters0:04:260:04:049%0:04:260%0:04:049%
Light0:01:420:01:349%0:01:384%0:01:3013%
Rotate0:01:520:01:484%0:01:484%0:01:4210%
Sharp0:01:520:01:466%0:01:466%0:01:4012%
Size0:00:420:00:405%0:00:420%0:00:405%
Transform0:01:280:01:227%0:01:262%0:01:2010%
Group Score1341437%1351%1448%

Падение производительности на подтесте «Color» (преобразование цветового пространства RGB — CMYK — LAB и обратно), судя по всему, связано с особенностями реализации кода данной конкрентной процедуры, потому что все остальные подтесты Photoshop демонстрируют вполне высокую степень оптимизма как по поводу Turbo Boost, так и по поводу Hyper-Threading. Хотя, на самом деле, это неудивительно: Adobe Photoshop в нашем «табели о рангах SMP-оптимизированных приложений» занимает традиционно высокое место.

Научно-математические пакеты

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
Maple0,03460,038010%0,03460%0,03769%
Mathematica
Internal4,22404,60509%3,8650-8%4,0950-3%
MMA1,43251,55198%1,4233-1%1,54848%
MATLAB
LU0,03950,03775%0,0471-16%0,0439-10%
FFT0,09960,09614%0,09980%0,09465%
ODE0,16550,15427%0,1676-1%0,15467%
Sparse0,22590,21754%0,4514-50%0,4238-47%
2D0,24340,23494%0,2469-1%0,23683%
3D0,56150,55172%0,5654-1%0,5650-1%
Group Score1131206%101-11%108-5%

Откровенный пессимизм по поводу Hyper-Threading в подавляющем большинстве подтестов научно-математических пакетов, судя по всему, свидетельствует о весьма высокой их зависимости от оптимизированных под конкретные процессорные архитектуры библиотек. По всей видимости, в данной области действительно не существует универсальных решений оптимизации, поэтому практически все новые архитектуры обречены на низкие результаты до тех пор, пока кто-то не удосужится оптимизировать сложную математику именно под них. Напомним, что подтест MATLAB «Sparse» демонстрирует свою непредсказуемую капризность на новых архитектурах уже не в первый раз — в предыдущий раз ему столь же категорически «не понравилась» новая архитектура от AMD.

Веб-сервер

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
PHP Calculator2112225%25420%26727%
PHPSpeed
Synthetic PHP360137905%3498-3%36933%
Synthetic MySQL315633366%2984-5%32042%
Synthetic Read/Write233924545%2248-4%24133%
Real World PHP636066815%6176-3%65132%
Real World PHP & MySQL301031515%2908-3%31153%
Server247725895%2340-6%25362%
Group Score1261325%125-1%1336%

Существенный прирост от включения Hyper-Threading демонстрирует единственный по-настоящему хорошо SMP-оптимизированный подтест PHP Calculator. «Однопроцессорный» PHPSpeed от Hyper-Threading только замедляется — видимо, сказываются те «родовые болячки», которые достались данной технологии от её первой инкарнации в архитектуре NetBurst: автоматическое «располовинивание» при её включении некоторых процессорных буферов.

Архиваторы

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
7-Zip
0:02:010:01:583%0:02:010%0:01:573%
WinRAR
0:01:010:00:585%0:01:07-9%0:01:04-5%
Ultimate ZIP
0:01:540:01:4410%0:01:540%0:01:4410%
Group Score
1231306%119-3%1263%

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

Кодирование медиаданных

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
FLAC0:01:050:01:008%0:01:050%0:01:008%
LAME0:01:330:01:294%0:01:330%0:01:294%
Musepack0:01:500:01:419%0:01:51-1%0:01:419%
Vorbis0:03:140:03:055%0:03:15-1%0:03:131%
Canopus ProCoder0:04:040:03:516%0:04:17-5%0:04:07-1%
DivX0:00:580:00:547%0:00:572%0:00:5212%
x2640:02:100:02:045%0:01:4721%0:01:4227%
XviD0:06:040:05:3110%0:06:050%0:05:3210%
Group Score1241337%1272%1358%

Недостаток оптимизма относительно «виртуализации» ядер при их удвоении сдержанно продемонстрировали два аудиокодека (из них, заметим, один имеет SMP-оптимизацию) и один видеокодек (Canopus). В то же время очень хорошо SMP-оптимизированный x264 повторил рекорд рендер-движка Maya с приростом от включения HT в 21%. Это внушает оптимизм: значит, можно получать существенный выигрыш от данной технологии, если постараться!

Игры

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
Call of Duty 41051050%1050%1050%
Company of Heroes57570%570%570%
Call of Juarez47506%470%470%
Crysis24,6324,771%24,831%24,831%
S.T.A.L.K.E.R.1221220%121-1%1220%
Unreal Tournament 31251282%114-9%119-5%
World in Conflict59613%590%602%
Group Score1051072%103-1%1040%

Ещё в первой статье, посвящённой тестированию Core i7 920, мы отмечали, что игры пока — совсем не «конёк» новой архитектуры Intel. В данной статье мы пока наблюдаем лишь ещё одно подтверждение данного тезиса. Это, кстати, достаточно странно: судя по некоторым тестам, игры могут достаточно позитивно реагировать на повышение ПСП.

Любительская работа с фотографиями

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
ACDSee0:09:000:08:208%0:08:502%0:08:208%
IrfanView0:15:130:13:549%0:15:140%0:13:559%
Paint.NET20514194306%1631726%1562631%
xat.com Image Optimizer0:29:450:27:318%0:29:460%0:27:348%
XnView0:15:230:14:0210%0:15:210%0:14:069%
Group Score1221328%1285%13813%

Пожалуй, основного внимания заслуживает подтест Paint.NET. Это приложение базируется на платформе Microsoft.NET, и оно наиболее «ярко» (причём позитивно) выступило в данном подтесте. Почему? Видимо, в силу специфики платформы: не секрет, что .NET-приложения, в некотором смысле, не являются «честными EXE-шниками», и сильно завязаны на операционную систему. С одной стороны, это их плюс: они по максимуму используют её возможности, что и видно по результатам. С другой стороны — сами по себе они достаточно медленные — именно поэтому на них так хорошо сказываются всевозможные технологии увеличения эффективности.

Заключение

 All DisabledTB EnabledПрирост, %HT EnabledПрирост, %All EnabledПрирост, %
PRO SCORE1201276%119-1%1276%
HOME SCORE1191256%1191%1266%
OVERALL SCORE1191266%1190%1266%

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

Hyper-Threading, несмотря на вроде бы «новую реинкарнацию», по результатам тестов вызывает столь же противоречивые ощущения, как и во времена NetBurst. По нашему общему баллу, данная технология в целом даёт нулевое ускорение (напомним, что всё округляется до целых процентов), несмотря на то, что в отдельных тестах мы наблюдаем как существенное повышение быстродействия, так и существенное уменьшение. Причины тому лежат на поверхности: оптимизация программного обеспечения под «виртуальную многоядерность» является, судя по всему, достаточно нетривиальным занятием, а сама Intel с появлением в её ассортименте истинно многоядерных процессоров, тему виртуальной многоядерности забросила — на что мгновенно отреагировали охлаждением к ней и разработчики ПО. Сейчас Hyper-Threading, судя по всему, будут повторно пытаться возродить тему — однако у разработчиков уже есть негативный опыт, когда HT сначала рекламировали что есть силы, а потом задвинули в дальний угол в угоду более популярным тенденциям рынка. Поэтому вряд ли у тех, кто не освоил ориентированные на данную парадигму способы программирования ещё в предыдущий период её расцвета, реакция на «возрождение» HT будет позитивной.

Сегодняшнее исследование ещё раз подтвердило основной вывод, который мы сделали в теоретическом материале, посвящённом Intel Core i7: это очень «прагматичный» процессор. Откровенные просадки реанимированной Hyper-Threading у Core i7 в большинстве случаев плавно сглаживаются задействованием «волшебной палочки» Turbo Boost, в результате чего общее впечатление от его производительности в штатном режиме оказывается умеренно положительным (мелочными подробностями, вроде нынешнего исследования, мало кто интересуется). А со временем, глядишь, и к Hyper-Threading приспособятся, научатся программировать под неё как минимум не в минус, а то ещё и в плюс — тем более что позитивные примеры есть. Похоже, Intel достигла совершенства в формировании «установки на позитив» для потенциального потребителя: она уже не тащит его в свою концепцию светлого будущего за шиворот (прощай, Rambus...), а лишь мягко подталкивает: «иди же, иди… вот, смотри — всё же хорошо, правда?..»

Ясно одно: обобщив и проанализировав предыдущий (во многом негативный) опыт внедрения на рынок «прогрессивной» архитектуры NetBurst, Intel извлекла урок, и больше не рискует продвигать свои концептуально-архитектурные озарения способом «против лома нет приёма». Теперь она делает это более мягко и нежно, предоставляя пользователям новой архитектуры не только завтрашнего журавля в небе, но и сегодняшнюю синицу в руках. Синицу (Turbo Boost), мы оценили. Спасибо. Журавль (Hyper-Threading) — пока всё ещё в небе. Ждём-с…

Модули памяти предоставлены Corsair Memory



26 декабря 2008 Г.