Введение
После проведения тестов шестиядерного AMD Phenom II X6 с 6, 5, 4, 3, 2 и одним активным ядром настало время выполнить такое же исследование с флагманом Intel Core i7-980X. Как будут меняться производительность, энергопотребление и эффективность при уменьшении числа ядер? Будет ли 32-нм топовый процессор Core i7 давать самые лучшие характеристики при всех шести активных ядрах?
Нажмите на картинку для увеличения.
Тестирование, проведённое нами с шестиядерным процессором AMD Thuban, выявило две важных особенности. Во-первых, мы обнаружили, что до сих пор многие приложения не умеют использовать несколько ядер. Мы могли бы получить намного более высокую производительность, если бы программное обеспечение должным образом поддерживало доступное “железо”. Всё же несколько досадно видеть, что AMD и Intel предлагают очень мощные процессоры, но большая часть их потенциала так и остаётся неиспользованной, особенно в массовых повседневных приложениях. Во-вторых, работа Phenom II X6 со всеми шестью активными ядрами оказалась наиболее оптимальной по производительности на ватт (эффективности), поскольку прирост производительности более существенный, чем дополнительная энергия, которая требуется на поддержку всех ядер.
Можно ли сказать то же самое про флагманский процессор Intel? Будут ли шесть активных ядер обеспечивать наилучшую эффективность? Будет ли энергопотребление в режиме бездействия снижаться, если мы будем выключать отдельные ядра? Об этом мы и поговорим в нашей статье.
Turbo Boost
Нажмите на картинку для увеличения.
Оба флагманских процессора от AMD и Intel оснащены функциями улучшения производительности, которые позволяют процессору увеличивать тактовые частоты в случае выполнения двух условий: первое – нагрузка на CPU должна быть высокой, второе – тепловой пакет должен иметь достаточный резерв для повышения тактовой частоты. Впрочем, проверка этих условий выполняется независимо друг от друга.
Функция AMD Turbo Core предусматривает только один режим ускорения, а у Intel реализовано два режима. Первый режим включается, если все ядра можно ускорить, а второй – если от прироста тактовой частоты выиграет одно или два ядра. Реализация Turbo Boost у второго поколения процессоров Intel выполнена более агрессивно (то есть у всех 32-нм процессоров, как двуядерных, так и многоядерных), но и у 45-нм процессоров Core i5 и i7 она тоже оправдывает себя. Следует отметить, что Turbo Boost ускоряет ядра, увеличивая множитель CPU на один шаг или даже на несколько шагов. Но данная функция не всегда может дать полное ускорение. Она не сработает, если процессор близко подойдёт к своим тепловым пределам.
Функция AMD Turbo Core реализована не так тонко, её можно рассматривать как обратную реализацию Cool’n’Quiet (функция энергосбережения в линейке процессоров AMD). Если быть кратким, то функция использует доступный резерв теплового пакета при достаточной нагрузке на процессор, причём ускоряются всегда только три ядра. Всё это оставляет почву для слухов, да и теоретически реализация Intel кажется лучше: мы получаем более высокие частоты, которых проще добиться, когда нагружено очень мало ядер, а также ограниченное ускорение в случае нагрузки на все ядра – впрочем, для такой ситуации резерва теплового пакета всё равно очень мало. Функция AMD, с другой стороны, срабатывает тоже довольно хорошо, но часто достигает теплового предела быстрее, поскольку всегда активны три ядра. Впрочем, всё это наши теоретические предположения, и нам будет весьма интересно напрямую сравнить реализации Turbo Boost и Turbo Core в отдельной статье в ближайшем будущем.
Также хотелось бы упомянуть тестовую платформу, поскольку, как мы обнаружили, вы не можете просто взять любую материнскую плату Socket LGA 1366, чтобы уменьшить количество активных ядер. Мы нашли функцию выключения отдельных ядер у материнской платы Gigabyte EX58-UD4P с версией BIOS F12. Хотя подобная функция в BIOS вряд ли будет важна большинству пользователей, её все же следует упомянуть, поскольку энергопотребление действительно немного снижается, если вы будете выключать ядра на системе Intel – так не произошло в случае нашей тестовой системы Phenom II X6 1090T, поскольку энергопотребление в режиме бездействия не снижалось, использовали ли мы одно ядро или все шесть.
Тестовая конфигурация
Аппаратная конфигурация | |
Материнская плата (Socket LGA1156) | Gigabyte EX58-UD4P (Rev. 1.0), чипсет: Intel X58, BIOS: F12 (02/11/2009) |
CPU Intel | Intel Core i7 Extreme 980X (32 нм, 3,33 ГГц, 6x 256 кбайт кэша L2 и 12 Мбайт кэша L3, TDP 130 Вт) |
Память DDR3 (два канала) | 3x 2 Гбайт DDR3-1600 (Corsair TR3X6G-1600C8D 8-8-8-24) |
Видеокарта | Sapphire Radeon HD 5850, GPU: Cypress (725 МГц), память: 1024 Мбайт GDDR5 (2000 МГц), потоковые процессоры: 1440 |
Жёсткий диск | Western Digital VelociRaptor, 600 Гбайт, 10 000 об/мин |
Блок питания | PC Power & Cooling, Silencer 750EPS12V 750 Вт |
Системное ПО и драйверы | |
Операционная система | Windows Ultimate x64, Updated on 2010-03-03 |
Драйверы и настройки | |
Драйверы чипсета Intel | Chipset Installation Utility Ver. 9.1.1.1025 |
Драйверы Intel Storage | Matrix Storage Drivers Ver. 8.9.0.1023 |
Тесты и настройки
Кодирование аудио | |
iTunes | Version: 9.0.3.15 Audio CD (“Terminator II” SE), 53 min. Convert to AAC audio format |
Lame MP3 | Version 3.98.3 Audio CD “Terminator II SE”, 53 min convert wav to mp3 audio format Command: -b 160 –nores (160 kbps) |
Кодирование видео | |
Handbrake CLI | Version: 0.94 Video: Big Buck Bunny (720×480, 23.972 frames) 5 Minutes Audio: Dolby Digital, 48000 Hz, 6-Kanal, English to Video: AVC1 Audio1: AC3 Audio2: AAC (High Profile) |
Mainconcept Reference v2 | Version: 2.0.0.1555 MPEG2 to H.264 MainConcept H.264/AVC Codec 28 sec HDTV 1920×1080 (MPEG2) Audio: MPEG2 (44.1 kHz, 2 Channel, 16 Bit, 224 kbps) Codec: H.264 Pro Mode: PAL 50i (25 FPS) Profile: H.264 BD HDMV |
Приложения | |
7-Zip | Version 9.1 beta LZMA2 Syntax “a -t7z -r -m0=LZMA2 -mx=5” Benchmark: 2010-THG-Workload |
Winrar | Version 3.92 RAR Syntax “winrar a -r -m3” Benchmark: 2010-THG-Workload |
Winzip 14 | Version 14.0 Pro (8652) WinZIP Commandline Version 3 ZIPX Syntax “-a -ez -p -r” Benchmark: 2010-THG-Workload |
Autodesk 3d Studio Max 2010 | Version: 10 x64 Rendering Space Flyby Mentalray (SPECapc_3dsmax9) Frame: 248 Resolution: 1440 x 1080 |
Cinebench 11.5 | Version 11.5 Build CB25720DEMO CPU Test single and multi threaded |
Adobe Photoshop CS 4 (64-Bit) | Version: 11 Filtering a 16 MB TIF (15000×7266) Filters: Radial Blur (Amount: 10; Method: zoom; Quality: good) Shape Blur (Radius: 46 px; custom shape: Trademark sysmbol) Median (Radius: 1px) Polar Coordinates (Rectangular to Polar) |
Adobe Acrobat 9 Professional | Version: 9.0.0 (Extended) == Printing Preferenced Menu == Default Settings: Standard == Adobe PDF Security – Edit Menu == Encrypt all documents (128 bit RC4) Open Password: 123 Permissions Password: 321 |
Microsoft Powerpoint 2007 | Version: 2007 SP2 PPT to PDF Powerpoint Document (115 Pages) Adobe PDF-Printer |
Fritz | Fritz Chess Benchmark Version 4.3.2 |
Синтетические тесты | |
3DMark Vantage | Version: 1.02 Patch 1901 Options: Performance Graphics Test 1 Graphics Test 2 CPU Test 1 CPU Test 2 |
PCMark Vantage | Version: 1.0.2.0 Patch 1901 PCMark Benchmark Memories Benchmark |
SiSoftware Sandra 2010 | Version: 2010.1.16.10 Processor Arithmetic, Cryptography, Memory Bandwith |
Синтетические тесты
Как видим, “чистая” производительность CPU масштабируется довольно хорошо: каждое новое ядро даёт почти одинаковый прирост.
Тесты шифрования оказались интересны, поскольку наилучшая производительность на ядро наблюдается при использовании пяти или всех шести ядер.
Если вы помните результаты AMD Phenom II X6, то там для полной нагрузки пропускной способности памяти DDR3-1333 более 13 Гбайт/с требовалось, как минимум, три ядра. В данном случае шестиядерный Intel Core i7 приближается к максимальному уровню 19 Гбайт/с памяти DDR3-1333 со всего двумя ядрами.
3DMark и PCMark Vantage
Тест CPU 3DMark Vantage указывает на то, что прирост производительности в расчёте на ядро чуть больше, чем производительность одного ядра. Возможно, это связано с тем, что несколько ядер могут одновременно работать с данными в общем кэше L3.
Результат GPU особо не меняется. Помните, что это отражает производительность только в старых играх, которые не умеют использовать более одного вычислительного ядра. Современные игры используют ресурсы CPU для более “умного” искусственного интеллекта, а также и физики – в данном случае это не отражено.
Общие результаты 3DMark Vantage близки к тому, что вы получите в реальности.
Тест памяти PCMark Vantage отражает поведение, которое мы видели и в случае AMD Phenom II X6: два и три ядра дают лучшую производительность памяти, чем одно ядро; но вам потребуется четыре или больше ядер, чтобы получить максимальный результат производительности процессора в PCMark Vantage.
Общий результат PCMark Vantage говорит о том, что ядра 5 и 6 почти не добавляют производительности – это связано с тем, что сюда входят результаты тестов 3D, которые от многоядерных CPU в данном тестовом пакете не выигрывают.
Приложения
Тест 3DS Max прекрасно масштабируется с каждым новым ядром.
То же самое можно сказать и про архиватор 7-Zip, хотя вы не получите такой уж сильный прирост, если будете использовать больше 4-5 ядер.
Cinebench в многопоточном прогоне демонстрирует, что производительность в реальных условиях не масштабируется полностью линейно с каждым новым ядром. Есть некоторые потери, хотя и не очень большие. Но, опять же, наилучшую производительность даёт конфигурация из шести ядер.
Результаты Adobe Acrobat 9 досадно разочаровывают – вам всё равно потребуются несколько минут, чтобы создать документ pdf из сложного файла Word или PowerPoint. Наш тест использует большую презентацию на 115 страниц, при этом несколько ядер почти не дадут экономию по времени по сравнению с одним ядром. Стыдно, Adobe! Как нам кажется, этому разработчику следует лучше распараллеливать подобную задачу. Сейчас же наилучшую производительность даст быстрый двуядерный процессор.
Photoshop CS4 – идеальный пример того, как приложение может получить максимальный выигрыш от современных многоядерных процессоров.
Архиватор WinRAR оптимизирован под многопоточность, он выигрывает от каждого дополнительного ядра CPU. Впрочем, если число активных ядер больше трёх, то прирост производительности оказывается уже не таким большим.
WinZip относится к приложениям, которые требуют серьёзной оптимизации. Сейчас же производительность зависит только от тактовой частоты. Не очень хорошее качество для столь популярной программы.
Кодирование аудио/видео
Каждый раз мы вынуждены повторять, что утилита iTunes не оптимизирована под многопоточность. Дополнительные ядра не дают почти никакого прироста.
Кодировщик Lame MP3 тоже лучше всего работает на быстрых двуядерных процессорах, а не на нашем шестиядерном CPU.
Приложения кодирования видео Mainconcept и Handbrake хорошо масштабируются при добавлении новых вычислительных ядер.
Энергопотребление
Энергопотребление чуть-чуть снижается при выключении ядер CPU, но разница невелика из-за действующих механизмов энергосбережения от SpeedStep и C1E (enhanced sleep) до всех состояний глубокого сна. Мы получили экономию энергии около 2% при переходе с шести ядер на одно.
Энергопотребление под пиковой нагрузкой увеличивается довольно линейно. Если выключить пять ядер из шести, то наша система на Core i7-980X будет потреблять уже не 223 Вт под пиковой нагрузкой, а всего 122 Вт. Это соответствует одноядерному 32-нм процессору с 12 Мбайт общего кэша L3 и тактовой частотой 3,2 ГГц – он потребляет 54% от уровня со всеми шестью активными ядрами. Впрочем, производительность падает намного сильнее, и перед нами гипотетический пример, который вряд ли кто-то пожелает реализовать на практике.
Эффективность
Выше приведено время выполнения полного тестового прогона, в который входит большая часть протестированных нами приложений. Вполне очевидно, что разница между одним, двумя и четырьмя ядрами весьма существенна, но добавление пятого и шестого ядер не даёт столь сильный прирост производительности. Результат близок к реальной жизни, поскольку наш тестовый прогон содержит разные типы приложений.
Среднее энергопотребление во время нашего тестового прогона повышалось при включении каждого дополнительного ядра, но обратите внимание, насколько плоской становится диаграмма ближе к низу. Среднее энергопотребление увеличивается, но производительность тоже – возможно, даже ещё сильнее.
Результаты схожи с теми, что мы получили для системы AMD: суммарная энергия, которая потребовалась для выполнения всего тестового прогона, оказалась минимальной при максимальном количестве ядер.
Результаты эффективности очевидны: производительность при увеличении количества ядер повышается значительно, а энергопотребление возрастает намного скромнее. Как видим, конфигурация из 5 или 6 ядер действительно даёт наилучшую эффективность.
Нажмите на картинку для увеличения.
Нормализованные результаты энергопотребления и эффективности
Заключение
Не только система на основе AMD Phenom II X6, но и нынешняя сборка на Intel Core i7-980X наглядно доказывает, что увеличение числа ядер сегодня является наиболее разумной стратегией для повышения производительности в целом. Конечно, ситуация во многом зависит от программной стороны вопроса, поскольку приложения должны быть оптимизированы так, чтобы использовать более одного или даже двух ядер CPU. Кроме того, как можно видеть по результатам наших тестов, вы получите не только намного более высокую производительность, но и существенно возросшую эффективность (производительность на ватт).
Поскольку энергопотребление в режиме бездействия между шестью, четырьмя или даже двумя активными ядрами почти не меняется, мы рекомендуем оставлять все ядра всегда включёнными – беспокоит вас вопрос экономии энергопотребления путём отключения ядер или нет. Честно говоря, существуют другие более эффективные способы снижения энергопотребления. Наши результаты говорят о том, что имеет смысл брать процессор с максимальным количеством ядер для текущего поколения – конечно, если вы хотите получить максимальную производительность в многопоточных окружениях.
К сожалению, только профессиональные приложения сегодня серьёзно оптимизированы под многопоточность, и большое количество программ, в том числе и от таких крупных разработчиков, как Adobe, не всегда могут задействовать доступные вычислительные ресурсы нескольких ядер. Поэтому тактовые частоты остаются важными, пусть даже с точки зрения эффективности потенциал у них весьма ограниченный. Вскоре мы опубликуем ещё одну статью, в которой вновь рассмотрим два шестиядерных процессора и сравним у них работу функции Turbo на штатных тактовых частотах и после разгона, поскольку данные динамические механизмы кажутся нам оптимальным решением, сочетающим лучшее из двух миров: высокие тактовые частоты и большое количество ядер.