Производительность многоядерных (где «много» — более четырех) процессоров в приложениях общего назначения мы изучали менее года назад и пришли к выводу, что, в общем-то, для таких условий использования они просто не нужны. Причины чего банальные — все-таки производители ПО в основном ориентируются на общий средний уровень уже имеющейся в эксплуатации техники, а там до сих пор хорошо продаются и двухъядерные модели процессоров. Да и не рвется никто менять софт (хотя бы потому, что это слишком дорого) без существенного изменения решаемых на компьютере задач, а этого уже давно не происходит. Впрочем, и среди «типичных программ» встречаются способные утилизировать любое разумное количество ядер, но делают они это лишь эпизодически. Большую же часть времени современный компьютер вообще находится в состоянии простоя, ожидая действий пользователя. Зато последний предприняв какие-то действия результата ждать не любит. Проблема в том, что все «серьезные» задачи, действительно требующие высокой вычислительной мощности, все равно генерируют длительные по времени процессы. Таким образом, можно добиться лишь количественного, но не качественного эффекта — занимал процесс час, а начал пол-часа. Ну и что? Хорошо, если такие задачи возникают ежедневно, но ведь и это всего 30 минут экономии за несколько часов. А вот платить за них приходится сполна. В серверах же, напротив, рабочая нагрузка является постоянной. Зачастую может быть вообще близкой к 100%, что плохо, поскольку не оставляет запаса производительности, т. е. очередной обратившийся к серверу клиент заставит «тормозить» всех. Поэтому пути клиентских и серверных систем давно разделились. Собственно, в обозримом историческом периоде они вовсе не совпадали — еще за 10-15 лет до появления первых многоядерных процессоров (более-менее массовых) в серверных платформах зачастую применялись два, четыре или даже более одноядерных. Так что нет ничего удивительного в том, что возможность «запихнуть» уже не одно, а 2-4 (потом и более) ядер в один сокет производители серверов встретили очень тепло. На данный момент количество ядер в соответствующих процессорах уже превысило два десятка, а в одной системе их может быть и больше сотни — задачи для утилизации таких бескрайних просторов есть, причем всегда есть возможность одновременно использовать не одну программу, а целую их кучу (в конце-концов, виртуализация тоже пришла как раз с этого рынка, так что один физический сервер может с успехом «представляться» внешнему миру десятком-другим виртуальных, что на паре вычислительных ядер было бы, скажем так, не слишком комфортным). «Клиентский» же компьютер в каждый момент времени работает с одной, реже — двумя-тремя активными программами. В итоге вообще несколько лет складывалась немного странная ситуация, когда сложно было нагрузить работой хотя бы те ядра, которые уже присутствовали в массовых процессорах. Да и сейчас, в общем-то, «однопоточных» приложений не так и мало. Понятно, что производительность последних чаще всего уже не слишком важна, но ведь именно в таких условиях большинство компьютеров и работает большую часть времени. В итоге имеем то, что имеем. И имели предыдущие годы — без существенных изменений.
С другой стороны, возвращаться к вопросу все равно придется. И как раз сейчас настал момент, когда это нужно сделать. Во-первых, ранее мы измеряли только производительность процессоров, оставляя «за кадром» их энергопотребление, хотя оно интересует многих — особенно в приложении к многоядерным платформам, где TDP процессоров в полтора-два раза выше, чем у массовых решений. Во-вторых, наше прошлогоднее тестирование не затрагивало актуальную массовую платформу Intel, а именно LGA1151. В-третьих, произошло обновление и в сегменте «High End Desktop Processors» (как его именуют в Intel). Правда о замене платформы пока еще речь не идет — все нужное с точки зрения «инфраструктурной составляющей» внедрено в LGA2011-3 еще в позапрошлом году, да и «политика партии» подразумевает совместимость каждого сокета с парой поколений процессоров. Для LGA1150 таковыми были Haswell и Broadwell, а для LGA2011-3 — Haswell-E и Broadwell-E. Как видим, Skylake пока в этом сегменте нет, так что формально повторяется история 2013 года: с Ivy Bridge-E, пришедшим позже Haswell. Но есть и нюансы — на тот момент количество ядер на «взрослой» платформе не увеличилось, да и сама она была несколько архаичной, а вот к LGA2011-3 последней претензии нет, и процессоры формально улучшились. В частности, теперь топовым решением компании является не восьми-, а десятиядерный процессор. Когда предварительная информация об этом только просочилась в широкоизвестные узкие круги, восприняли ее там с оптимизмом. По мере уточнения исходных данных быстро рассосавшимся, причем по весьма банальной причине.
Первые процессоры Extreme Edition (тогда еще Pentium 4) стартовали с рекомендованных цен в окрестностях $999. Было время, когда их последователи далеко выбирались за данное значение: к примеру, существующие практически одновременно (но имеющие разное исполнение) Core 2 Extreme QX9775 и QX9770 могли «похвастаться» ценами $1499 и $1399. Однако к моменту появления торговой марки Core i7, в Intel решили отойти от этой практики, вернувшись к круглому значению — $999. Столько стоили «экстремалы» для LGA1366 — только сначала в них было четыре ядра, а затем шесть. Следом «под знаком» этих же цифр прошли два поколения шестиядерных процессоров для LGA2011. Два года назад по такой же рекомендованной цене дебютировали «условно-настольные» восьмиядерные процессоры для LGA2011-3. И сегодня компания за те же деньги предлагает купить... очередные восемь ядер, которые теперь перестали быть экстремальными, но сохранили свою цену. А вот новый Extreme Edition, содержащий уже 10 ядер, «тянет» на более высокий уровень — $1569, т. е. на целых 70 долларов «бьет» предыдущий рекорд, поставленный QX9775. Семейство же теперь включает в себя не три модели, как раньше, а четыре, но, по сути, речь идет лишь об его расширении вверх, а не о снижении цены «многоядер для народа», поскольку на тех же ценовых планках, что и ранее «обитают» два шестиядерных и один восьмиядерный процессор. Тактовые частоты их подросли немного, поддержка DDR4-2400 появилась, архитектурные изменения присутствуют — нельзя сказать, что ничего не изменилось. Но некоторые-то ждали снижения цен. Которое, в принципе, тоже есть — процессор с 10 (и даже большим количеством) ядрами можно было купить и ранее (в виде Xeon), но дороже (если не рассматривать совсем уж устаревшие модели пятилетней давности) и работающий на более низкой тактовой частоте. Однако понятно, что при таком уровне цен для большинства покупателей подобные процессоры все равно представляют собой лишь теоретический интерес. Но и этого уже достаточно, чтобы заняться изучением — как оно работает, заодно и ответив на те вопросы, которые ранее не поднимались.
Конфигурация тестовых стендов
Процессор | Intel Core i7-4820K | Intel Core i7-4960X | Intel Core i7-5820K | Intel Core i7-5960X | Intel Core i7-6950X |
Название ядра | Ivy Bridge-E | Ivy Bridge-E | Haswell-E | Haswell-E | Broadwell-E |
Технология пр-ва | 22 нм | 22 нм | 22 нм | 22 нм | 14 нм |
Частота ядра, ГГц | 3,7/3,9 | 3,6/4,0 | 3,3/3,6 | 3,0/3,5 | 3,0/3,5 |
Кол-во ядер/потоков | 4/8 | 6/12 | 6/12 | 8/16 | 10/20 |
Кэш L1 (сумм.), I/D, КБ | 128/128 | 192/192 | 192/192 | 256/256 | 320/320 |
Кэш L2, КБ | 4×256 | 6×256 | 6×256 | 8×256 | 10×256 |
Кэш L3, МиБ | 10 | 15 | 15 | 20 | 25 |
Оперативная память | 4×DDR3-1866 | 4×DDR3-1866 | 4×DDR4-2133 | 4×DDR4-2133 | 4×DDR4-2400 |
TDP, Вт | 130 | 130 | 140 | 140 | 140 |
Цена | Н/Д |
Основным героем статьи будет, разумеется, Core i7-6950X, но обойтись без его «родственников» предыдущего поколения было бы неправильным — тем более, что он, по сути, их дополняет. Равно как и младшие модели линейки, которые пока нам не слишком-то нужны: они предшественников, как уже сказано было выше, лишь немного обгоняют по тактовой частоте, так что и производительность изменится незначительно. В итоге, например, тот же i7-5820K может оказаться более интересным, чем ранее — если удастся попасть на какую-нибудь распродажу. Правда и энергопотребление его будет выше, чем у приходящего на смену 6800K, однако покупателей многоядерных процессоров (причем требующих в обязательном порядке и использования дискретной видеокарты) обычно этот вопрос не слишком беспокоит. А заодно мы к испытуемым добавили и уже знакомую пару моделей Ivy Bridge-E — чтобы оценить т. е. «прогресс» за чуть более длительный промежуток времени: напомним, что всего два года назад (поскольку 5960Х появился только осенью 2014 года) Core i7-4960X был самым мощным «настольным» процессором на рынке.
Процессор | Intel Core i7-3770 | Intel Core i7-4790K | Intel Core i7-6700K |
Название ядра | Ivy Bridge | Haswell | Skylake |
Технология пр-ва | 22 нм | 22 нм | 14 нм |
Частота ядра std/max, ГГц | 3,4/3,9 | 4,0/4,4 | 4,0/4,2 |
Кол-во ядер/потоков | 4/8 | 4/8 | 4/8 |
Кэш L1 (сумм.), I/D, КБ | 128/128 | 128/128 | 128/128 |
Кэш L2, КБ | 4×256 | 4×256 | 4×256 |
Кэш L3 (L4), МиБ | 8 | 8 | 8 |
Оперативная память | 2×DDR3-1600 | 2×DDR3-1600 | 2×DDR3-1600 / 2×DDR4-2133 |
TDP, Вт | 77 | 88 | 91 |
Графика | HDG 4000 | HDG 4600 | HDG 530 |
Кол-во EU | 16 | 20 | 24 |
Частота std/max, МГц | 650/1150 | 350/1250 | 350/1150 |
Цена |
А раз уж в тестировании принимают участие Ivy Bridge-E и Haswell-E, логично сравнить их и со старшими Ivy Bridge и Haswell. Но не Broadwell, несмотря на то, что новая линейка процессоров это Broadwell-E: настольные модели этого семейства слишком уж специфичны, да и топовым массовым процессором является уже Core i7-6700K линейки Skylake.
Поскольку ни одна из платформ класса «High End Desktop» интегрированным видео не снабжена, тесты всех испытуемых проводились с использованием дискретной видеокарты на базе AMD Radeon R9 380 (что, впрочем, в приложениях массового назначения особого значения не имеет, а игровые вопросы сами по себе нуждаются в отдельной проверке; если нуждаются, конечно). Объем оперативной памяти во всех случаях был тоже одинаковым — 16 ГБ, а вот ее тип и эффективная частота — максимальными поддерживаемыми официально.
Еще один момент, касающийся тестирования. Все процессоры нового семейства официально поддерживают новую технологию Turbo Boost Max 3.0. Формально она позволяет в однопоточном режиме автоматически подбирать «наилучшее» из ядер процессора для выполнения задачи и увеличивать его частоту до 4 ГГц (что особенно актуально для старших моделей, поскольку «обычный» Turbo Boost на 6950Х, например, ограничен 3,5 ГГц). Правда для ее функционирования на данный момент необходимо использовать специальный драйвер, с частью программ (возможно) несовместимый. В общем, как нам кажется, этот вопрос лучше исследовать отдельно — насколько данное решение хорошо (и вообще — часто ли) работает. Поэтому первое тестирование мы провели, ограничившись «штатным» режимом работы системы, оставив тонкости «на потом».
Методика тестирования
Методика подробно описана в отдельной статье. Здесь же вкратце напомним, что базируется она на следующих четырех китах:
- Методика измерения производительности iXBT.com на основе реальных приложений образца 2016 года
- Методика измерения энергопотребления при тестировании процессоров
- Методика мониторинга мощности, температуры и загрузки процессора в процессе тестирования
- Методика измерения производительности в играх iXBT.com образца 2016 года
А подробные результаты всех тестов доступны в виде полной таблицы с результатами (в формате Microsoft Excel 97-2003). Непосредственно же в статьях мы используем уже обработанные данные. В особенности, это относится к тестам приложений, где все нормируется относительно референсной системы (как и в прошлом году, ноутбука на базе Core i5-3317U с 4 ГБ памяти и SSD, емкостью 128 ГБ) и группируется по сферам применения компьютера. Результаты же игровых тестов в данной конкретной статье мы решили не использовать — просто потому, что использованная нами видеокарта имеет «точку насыщения» где-то в районе современных Core i3, т. е. любые более быстрые процессоры заведомо приводят к результатам, определяющимся ей и только ей. Так что вопрос «многоядерности в играх» как имеющий повышенную специфичность лучше отложить на будущее — в виде специального исследования (и, возможно, по специальной методике).
iXBT Application Benchmark 2016
Довольно заметный рывок сравнительно с предыдущим поколением (благо его уже начали «поджимать» модели для массовых платформ), который, вообще-то, мог бы быть и большим. Почему такого не произошло? Виновником опять оказалась одна программа, а именно Adobe After Effects. Ранее в ней наблюдались проблемы при нехватке оперативной памяти при задействовании технологии Multiprocessing, однако в предыдущих версиях программы ее хотя бы можно было включать/выключать вручную. В новой же пользователя такого выбора лишили. Соответственно, программа всегда «выбирает» сама — какие оптимизации использовать в зависимости от наличных аппаратных ресурсов, однако очень часто «ошибается» (так что восстания машин пока можно не бояться :)). Это, впрочем, в подобных случаях немудрено: все-таки доля рынка «истинно многоядерных» систем настолько невелика, что полноценному тестированию ПО в подобном окружении мало кто придает существенное значение (за исключением, понятно, серверных приложений, но и с последними бывают свои нюансы). В итоге скорость решения тестовой задачи на топовых процессорах нередко оказывается более низкой, чем на каком-нибудь Pentium. Проблему наверняка можно решить существенным увеличением количества памяти, что, впрочем, дается не бесплатно, да и исследований на тему, сколько же ОЗУ требуется данной программе и в каких условиях, на просторах сети не наблюдается. Если же следовать более ранним рекомендациям разработчика в виде 2 ГБ на поток вычислений, становится понятно, что и 32 ГБ для десятиядерных процессоров мало. Такая вот особенность топовых решений — для того, чтобы задействовать все возможности последних, очень может быть, что придется платить и за улучшение тех компонентов, которые не сразу приходят на ум. Так что удовольствие это дорогое, даже если вдруг сами процессоры подешевеют.
В данной группе программ «вредителей» не обнаружилось, но два приложения, неплохо распределяющих работу по процессорным ядрам при любом количестве последних начиная с определенного момента просто уменьшают загрузку каждого из потоков. Впрочем, Core i7-6950X все равно практически никогда не отстает от Core i7-6700K, в 1,7 раза превосходя его в Lightroom (как и ожидалось) и даже немного (благодаря некоторым фильтрам) обгоняя в Photoshop. У предыдущего же «флагмана» (да и, скорее всего, для i7-6900K это будет верным) таких успехов не наблюдается: быстрее он только в Lightroom. Что интересно, способен на такое и «старый» Core i7-4960X, т. е. если компьютеру «скармливать» регулярно и часто сотни фотографий, многоядерный процессор себя оправдает и делать будет это много лет с момента покупки. Но это как раз пакетный режим работы по сути — аналогичный работе серверного ПО.
Классический пример однопоточного приложения, оптимизированного в основном под старые процессоры. От увеличения количества ядер в процессоре такие приложения могут даже пострадать — если планировщик начнет перемещать их с ядра на ядро, что мы и имеем в данном случае. Впрочем, производительность современных процессоров на таком коде все равно достаточно высокая — просто у массовых решений выше. Но там, как раз, последние годы основным трендом было увеличение той самой «однопоточной производительности», которая и нужна.
Почти два года назад изучая особенности функционирования массового ПО в зависимости от количества активных ядер процессоров, мы убедились, что на Core i7-5960X максимальная производительность актуальной на тот момент версии Audition достигается... если процессору два из восьми ядер отключить. Судя по всему, особенности оптимизации программы не изменились, так что скорость ее работы на процессорах рассматриваемого сегмента, по сути, даже снижается по мере увеличения их потенциальной мощности. А вот на старших массовых — напротив, растет за счет микроархитектурных изменений и увеличения тактовой частоты. Медленно, конечно, но в итоге можно сказать, что иногда эти семейства процессоров просто идут в разные стороны.
Опять возвращаемся от интерактивного к пакетному режиму работы, причем в «хорошем» его варианте: достаточно старые целочисленные (в основном) алгоритмы с высокой степенью параллелизма однозначно голосуют за многоядерность — настолько однозначно, что здесь Core i7-6700K все еще не может сравняться с шесятиядерными моделями трехлетней давности, хотя четырехъядерники той же архитектуры обгоняет на 20%. Подобное же мы выше видели в Lightroom, т. е. и в прикладных программах массового назначения такое поведение процессоров вовсе не единичный случай. Но и не единственный возможный.
Сжатие данных хорошо распараллеливается, обратный процесс — однопоточный. Благодаря второму современные топовые «квады» в общем итоге легко обгоняют младшие или старые шестиядерные процессоры. Благодаря первому — Core i7-6950X лучший. Хотя и победа не столь уж убедительна — менее 25% при большем в 2,5 раза количестве ядер. Но, в общем, понятно, что для тех, кто ежедневно архивирует сотни гигабайт информации — выбора нет. Встретите таких — познакомьте ;)
Многоядерные процессоры имеют достаточно низкие тактовые частоты — сравнительно со старшими массовыми особенно. Впрочем, как видим, к каким-то существенным проблемам при «типичных бытовых» задачах это не приводит: нормальный уровень производительности.
Как и ожидалось, программе увеличение количества ядер «нравится» — все же это как раз «гость» не из мира массового ПО, а ближе к области НРС и т. п. Но тоже «настольный», а не серверный, поэтому при таких нагрузках преимуществами восьми-десяти ядер можно и пренебречь: не так уж они и велики. Даже если бы подобные расчеты нужно было вести часами — Core i7-6700K справится с работой не на много медленнее. Причем положение Core i7-6950X сильно портит и то, что он, все-таки, Broadwell-E, а не Skylake-E — в рамках одного поколения микроархитектур полезность увеличения количества ядер более весомая, чем при сравнении разных. Во всяком случае, в тех программах, которые под архитектурные улучшения хорошо оптимизированы.
К чему приходим в общем итоге? Несмотря на наличие задач, в которых Core i7-6700K отставал даже от старенького Core i7-4960X, он способен обойти и i7-5960X — слишком уж часты в массовом ПО ситуации, когда надо не много каких-нибудь ядер, а два (реже четыре) очень быстрых. Впрочем, даже несмотря на это Core i7-6950X на данный момент все равно является самым быстрым на сегодняшний день процессором, оправдывая статус Extreme Edition. Правда вот его превосходство что над старым «экстремалом», что над лучшими процессорами для массовых платформ оказывается слишком уж незначительным — явно несоответствующим цене. Но об этом поговорим чуть позже.
Энергопотребление и энергоэффективность
Формально платформы LGA2011 всех модификаций считаются «очень горячими», на что прямо намекают и требования производителя к системам охлаждения — для сохранения гарантийных обязательств Intel от процессора требуется уметь отводить 140 Вт тепла. Однако по сути такие цифры продиктованы не необходимостью, а, скорее, так уж оно сложилось. Все равно никто не будет запихивать топовую платформу в тесный корпус и устанавливать вентилятор за 20 долларов (хотя такие, кстати, в свое время поставлялись в комплекте со многими многоядерными процессорами, но т. н. «энтузиасты» их все равно с презрением игнорировали). В действительности же, как видим, энергопотребление таких решений может считаться высоким лишь сравнительно с массовыми платформами того же времени и того же производителя — борьба за энергоэффективность отражается и на них. В итоге и получаем, что даже топовые решения для LGA2011-3 энергии потребляют на уровне некогда массовой LGA1155. Да и добавление количества ядер обычно хорошо согласовано с улучшения техпроцессов, например — поэтому 6950Х не стал более прожорливым, чем был 5960Х.
А по сравнению с LGA1155 и прирост производительности более заметный, так что в очередной раз наблюдаем прирост «энергоэффективности». Недостаточный, впрочем, для того, чтобы сравниться с массовыми платформами того же времени, но это легко объяснимо — те же кристаллы, которые используются для производства 4790К/6700К, идут и в ноутбуки, моноблоки или мини-ПК. Более того — в подобные жесткие условия эксплуатации их отправляется заметно больше, чем в просторные десктопы. Соответственно, приоритет именно у энергоэффективности, а то и вовсе — экономичности любой ценой (хотя это более применимо к двухъядерным моделям), пусть даже в ущерб потенциальной производительности. У серверных же решений (а для данной платформы именно это является основной целью) таких ограничений нет. Десктопы и рабочие станции — на сегодня единственный сегмент, где обе технологических ветви пересекаются, но ведут себя по-разному, что естественно: они и разрабатываются с разными целями. Поэтому одни процессоры выигрывают в степени интеграции и энергоэффективности, а другие — имеют большую потенциальную производительность. Что перевесит при выборе — зависит от задач. Впрочем, от них вообще практически все зависит, к чему мы и переходим.
Итого
В принципе, даже по рекомендованным ценам хорошо видно, что данная платформа по-прежнему позиционируется как решение «не для всех». Фактически за цену одного лишь десяти- или, даже, восьмиядерного процессора можно приобрести мощный игровой компьютер. Возможно, что и в паре с неплохим ноутбуком. Причем одним лишь процессором дело не ограничивается — системные платы под LGA2011-3 по объективным причинам стоят дороже, чем для массовых платформ. Да и на прочую периферию придется обратить внимание — иначе потенциальные возможности таких систем просто пропадут. К примеру, чтобы сполна задействовать преимущество в количестве линий PCIe, по-хорошему, стоит установить не одну, а пару топовых видеокарт, добавив еще один или несколько NVMe SSD. Памяти не только можно установить больше, но и нужно это сделать: иначе, как мы увидели, производительность при решении некоторых задач легко может оказаться не только более низкой, чем могла бы потенциально, но и ниже, чем обеспечивают более дешевые компьютеры.
Но главное — как раз программное обеспечение. Основная проблема даже не в том, что многие приложения в принципе неспособны хорошо «загрузить» работой многоядерный процессор. Скорее она в том, что, если такие нагрузки и встречаются в жизни «сферического пользователя», тратит он на них не так уж и много времени. Например, время рендеринга и экспортирования видеоклипа в Adobe Premiere Pro можно существенным образом сократить, однако исходный видеоматериал все равно сначала придется отснять и отобрать, на что уходит куда больше времени. Или то же пакетное распознавание текста — мы используем 500-страничный PDF-документ, который изначально надо как-то получить. Даже столь любимый многими в качестве примера финальный рендеринг сцен в пакетах трехмерного моделирования хорош для сравнения производительности компьютеров, но оставляет за кадром вопрос — как и за какое время эти сцены получены: на практике легко может оказаться так, что ускорение этой работы в пять раз сокращает общие затраты времени процентов на десять, а то и меньше.
Собственно, потому и позиционирование «не для всех». «Всем» оно не слишком-то и нужно даже за меньшие деньги. Но если в ассортименте решаемых задач есть требующие высокой вычислительной мощности, производительность в них действительно требуется (а не просто «хочется») увеличить и, самое главное, за это есть возможность платить — новые процессоры действительно являются самыми мощными из представленных на рынке решений. Особенно топовый представитель нового семейства, полных аналогов не имеющий. И, что тоже очень хорошо, при решении обычных бытовых задач эти процессоры не только не слишком-то отличаются от массовых по производительности (основная проблема подешевевших старых многоядерных Xeon), но и потребляют сравнимое количество энергии, т. е. вполне пригодны для использования в обычном настольном компьютере. А нужны они там конкретному покупателю или нет (с учетом необходимых затрат) — это уже вопрос, который, он может решить только самостоятельно.