Когда AMD представляла первоначальную версию HEDT-платформы (High-End Desktop)Threadripper, она преподносила её, как некое экспериментальное и нишевое решение для настольных систем премиального уровня. Однако то, насколько тепло её встретили пользователи, превзошло самые смелые ожидания. Процессоры Ryzen Threadripper смогли предложить то, чего не было и нет у Intel: относительно доступный по цене процессор с большим массивом мощных вычислительных ядер. Количество потребителей, которых такие процессоры заинтересовали по роду их деятельности, вышло настолько значительным, что продолжение экспансии в сегмент высокопроизводительных десктопов и рабочих станций AMD сделала одной из основных своих задач. Шутка ли, развитие Ryzen Threadripper даже рассинхронизировалось с обновлением аналогичных по конструкции процессоров EPYC, и второе поколение Threadripper, продажи представителей которого начинаются с сегодняшнего дня, убежало вперёд от своих серверных собратьев.
Интерес к новым Ryzen Threadripper обусловлен не только тем, что это – первые многоядерные CPU, построенные на 12-нм микроархитектуре Zen+. Вместе с модернизацией на микроуровне, AMD решила усилить своё HEDT-семейство принципиально. Теперь пользователи, которые занимаются созданием и обработкой цифрового контента, смогут выбирать не только среди 12- и 16-ядерных моделей Threadripper, но и получат куда более внушительные 24- и 32-ядерные варианты. Это значит, что Ryzen Threadripper второго поколения привлекательнее интеловских альтернатив не только с точки зрения цен, но и по «грубой силе», ведь доступные сегодня старшие Core i9 для платформы LGA 2066 имеют в своём распоряжении лишь 18 ядер.
Впрочем, это вовсе не значит, что AMD попутно не стала ничего менять в ценообразовании. На момент выпуска процессоров Threadripper первого поколения компания ориентировалась на удельную цену порядка $62 за ядро. Уже тогда это было очень щедрое предложение, поскольку в HEDT-процессорах Intel стоимость ядра определена в $100. Но второе поколение Threadripper идёт ещё дальше, и стоимость ядра теперь снижается до $56. Таким образом, в армии сторонников многоядерных процессоров AMD класса HEDT может появится большая группа новобранцев.
Однако в случае с Ryzen Threadripper мы хотели бы предостеречь от принятия быстрых эмоциональных решений. Как бы круто не выглядели 32 ядра с ценой $1800, у новых HEDT-процессоров AMD, как и у всей платформы TR4 в целом есть немало серьёзных проблем, начиная от высокого тепловыделения и закачивая не совсем очевидной ситуацией с масштабированием производительности. Обо всём этом мы подробно поговорим в данном материале.
⇡#Модельный ряд Ryzen Threadripper второго поколения
Начнём с главного: во втором поколении своей HEDT-платформы AMD решила разделить модельный ряд на две части. Если раньше Ryzen Threadripper позиционировались в качестве универсальных процессоров высокой производительностидля энтузиастов, то теперь компания стала дробить целевую аудиторию на более узкие сообщества.
К первой группе потенциальных покупателей Ryzen Threadripper были отнесены те пользователи, которые просто хотят получить в своё распоряжение исключительную вычислительную мощность, и собираются использовать её для решения задач различного профиля. В качестве примера AMD, в частности, говорит о таких энтузиастах, которые в рабочее время имеют дело с обработкой или созданием цифрового контента, а досуг посвящают компьютерным играм. Им компания предлагает продолжать ориентироваться на процессоры серии X – чипы с 12 и 16 вычислительными ядрами, которые были доступны и в первом поколении Ryzen Threadripper, но с выходом второго поколения улучшили свои частотные характеристики и приобрели дополнительные возможности.
Во вторую группу AMD выделила профессионалов, которым нужна максимальная вычислительная производительность любой ценой. В понимании компании это – 3D-дизайнеры, разработчики игр, видеомонтажёры, научные работники и тому подобные специалисты, имеющие дело с творческими задачами, порождающими высокие вычислительные нагрузки. Для них теперь предлагаются специальные версии Ryzen Threadripper серии WX, получившие 24 и 32 вычислительных ядра. Но нужно иметь в виду, что это на самом деле – не привилегированное предложение. Такие процессоры, несмотря на внушительное количество ядер, не универсальны: в отличие от представителей серии X они хорошо справляются лишь с легко распараллеливаемыми вычислительными задачами и плохо подходят для неоднородных нагрузок.
Таким образом, модельный ряд Ryzen Threadripper увеличивается в два с лишним раза: к трём моделям первого поколения добавляется сразу четыре новых процессора.
Ядра/ Потоки | Базовая частота, ГГц | Макс. частота, ГГц | L3-кеш, Мбайт | Поддержка памяти | Линии PCIe | TDP, Вт | Цена | |
Threadripper 2990WX | 32/64 | 3,0 | 4,2 | 64 | 4 х DDR4-2933 | 60 | 250 | $1799 |
Threadripper 2970WX | 24/48 | 3,0 | 4,2 | 64 | 4 х DDR4-2933 | 60 | 250 | $1299 |
Threadripper 2950X | 16/32 | 3,5 | 4,4 | 32 | 4 х DDR4-2933 | 60 | 180 | $899 |
Threadripper 2920X | 12/24 | 3,5 | 4,3 | 32 | 4 х DDR4-2933 | 60 | 180 | $649 |
Threadripper 1950X | 16/32 | 3,4 | 4,0 | 32 | 4 х DDR4-2667 | 60 | 180 | $779 |
Threadripper 1920X | 12/24 | 3,5 | 4,0 | 32 | 4 х DDR4-2667 | 60 | 180 | $485 |
Threadripper 1900X | 8/16 | 3,8 | 4,0 | 16 | 4 х DDR4-2667 | 60 | 180 | $319 |
С учётом того, что у AMD теперь сосуществует два типа Ryzen Treadripper, флагмана среди процессоров второго поколения получилось тоже два.
Самым мощным процессором в семействе выступает 32-ядерный Threadripper 2990WX со стоимостью $1800, который, исходя из цены, противопоставляется интеловскому максимальному предложению для десктопов – 18-ядерному Core i9-7980XE. Характерно, что для маркировки этого процессора AMD использует суффикс WX, который давно прижился в сегменте профессиональной графики, где для рабочих станций предлагаются видеокарты Radeon Pro WX.
Умопомрачительное количество ядер в Threadripper 2990WX обеспечивается тем, что в отличие от предшественников и собратьев серии X этот процессор строится не на двух, а на четырёх 12-нм кристаллах Zen+ Zeppelin, и благодаря этому он стал ещё сильнее похож на серверные процессоры EPYC. Вместе с удвоившимся числом вычислительных ядер Threadripper 2990WX получил и увеличенный L3-кеш суммарным объёмом 64 Мбайт. Но в остальном старший Threadripper сохраняет большинство характеристик в привычных рамках: он полностью совместим с экосистемой Socket TR4 и потому поддерживает четыре канала памяти и 60 линий PCI Express 3.0. Немного удивляет разве только расчётное тепловыделение, доведённое до 250 Вт. Оно обусловлено тем, что вместе с 32 ядрами Threadripper 2990WX предлагает и относительно высокие рабочие частоты, которые согласно спецификации лежат в диапазоне от 3,0 до 4,2 ГГц. К тому же, делать горячие процессоры для AMD совсем не в новинку: вспомним хотя бы про FX-9590, тепловыделение которого старший Threadripper превзошёл всего на 30 Вт. Но, как уверяет AMD, с энергетическими аппетитами 32-ядрерного процессора никаких проблем быть не должно. Даже в TR4-материнские платы, выпущенные одновременно с первыми Threadripper, был заложен необходимый запас прочности.
Второй флагман среди Ryzen Threadripper второго поколения – это 16-ядерный Threadripper 2950X – процессор, приходящий на смену Threadripper 1950X. В отличие от Threadripper 2990WX эта новинка продолжает использовать в своей основе два 12-нм кристаллах Zen+ Zeppelin, и поэтому она структурно близка к прошлогоднему Threadripper 1950Х. Но хотя вычислительных ядер и L3-кеша в новинке ровно столько же, выглядит она заметно лучше за счёт поднявшихся рабочих частот, которые теперь лежат в диапазоне 3,5-4,4 ГГц против 3,4-4,0 в 16-ядерном процессоре прошлого поколения. Кроме того, не стоит забывать, что характерной особенностью процессоров с микроархитектурой Zen+ выступают технологии Precision Boost 2 (PB2) и Extended Frequency Range 2 (XFR2), способные подстраивать частоту под имеющуюся нагрузку куда агрессивнее, чем это происходило ранее. В результате, преимущество в производительности может оказаться даже более явным, чем это кажется при взгляде на паспортные характеристики. Вместе с тем, никаких заметных изменений в тепловыделении Threadripper 2950X не произошло: характеристика TDP у нового 16-ядерника установлена в стандартную для платформы Socket TR4 величину 180 Вт.
Что же касается оснащённости Threadripper 2950X внешними интерфейсами, то в этом отношении 16-ядерник не отличается от 32-ядерного Threadripper 2990WX нет. Процессор предлагает те же четыре канала DDR4-2933 и 60 линий PCI Express 3.0. Но по сравнению с Threadripper 1950X появилась поддержка более скоростной памяти: раньше официально гарантировалась лишь совместимость с модулями DDR4-2666.
Несмотря на произошедшие перемены, процессоры Ryzen Threadripper второго поколения остаются совместимы с уже имеющейся платформой Socket TR4 без каких-либо ограничений. AMD специально подчёркивает, что все имеющиеся на рынке материнские платы, выпущенные для Threadripper 1920Х и 1950X совместимы с новыми CPU после обновления BIOS. Иными словами, AMD придерживается выбранного курса на сохранение сквозной совместимости не только в массовой платформе Socket AM4, но и в системах класса HEDT. Но в отличие от массовых систем, где вместе с Ryzen двухтысячной серии появились улучшенные наборы системной логики, для процессоров Threadripper второго поколения продолжает предлагаться тот же чипсет X399, что и раньше.
Благодаря тому, что в Ryzen Threadripper поддерживается 60 линий PCI Express 3.0, большинство критически важных функций, как поддержка видеокарт и накопителей, реализуется без участия чипсета. Микросхема X399, фактически, отвечает лишь за интерфейсы SATA и USB, а также за реализацию второстепенных линков PCI Express 2.0. Поэтому в обновлении она и не нуждается.
Зато за счёт программного обновления и старые, и новые материнские платы на базе X399 получили поддержку технологии StoreMI, которая позволяет строить производительные комплексные дисковые подсистемы, объединяющие в одном томе механические и твердотельные жёсткие диски, а также расположенный в оперативной памяти кеш. Прилагаемые к такому массиву интеллектуальные алгоритмы оптимизируют расположение файлов таким образом, чтобы гарантировать максимальную скорость доступа к наиболее часто используемым данным.
Оба новых флагманских HEDT-процессора, и Threadripper 2990WX, и Threadripper 2950X, поступят в продажу в самое ближайшее время: 32-ядерный чип можно купить, начиная с сегодняшнего дня, а старший 16-ядерник серии X второго поколения поступит в магазины 31 августа. Что же касается двух других процессоров с 24 и 12 ядрами, то они выйдут несколько позднее, ориентировочно в октябре. Впрочем, по этому поводу вряд ли у кого-то возникнут особые переживания. Фактически, Threadripper 2970WX и Threadripper 2920X представляют собой удешевлённые аналоги старших моделей Threadripper 2990WX и Threadripper 2950X, но с отключённой парой вычислительных ядер в каждом входящем в состав процессоров кристалле Zeppelin.
Отдельно стоит подчеркнуть, что 8-ядерная модель среди Threadripper второго поколения не предусмотрена. И это закономерно: продажи Threadripper 1900X были невысоки, и модернизировать эту модель не было никакого смысла. В конце концов с ролью входного билета в платформу Socket TR4 вполне может справиться и недорогой процессор годичной давности.
⇡#Улучшения микроархитектуры
Как уже стало понятно к этому моменту, модельный ряд процессоров Threadripper второго поколения отличается двумя ключевыми признаками. Во-первых, в нём появились процессоры, которые собраны на основе четырёх, а не двух полупроводниковых кристаллов Zeppelin. И во-вторых, сами эти кристаллы получили более новый дизайн Zen+, который обзавелся некоторыми усовершенствованиями. Подробно о том, чем Zen+ отличается от первоначальной микроархитектуры Zen, мы подробно говорили в обзоре Ryzen 7 2700X. Однако основные моменты заслуживают того, чтобы повторить их в контексте Threadripper.
Самое главное: Zen+ – это архитектура, получившаяся при переводе производства изначального дизайна Zen на более совершенный технологически процесс GlobalFoundries 12LP (Leading Performance) с 12-нм нормами. Однако в честь улучшения разрешения техпроцесса AMD не стала делать даже «оптический» редизайн своего кремния, поэтому и строение, и площадь, и компоновка полупроводникового кристалла осталось ровно теми же, что и были до того. Тем не менее, даже несмотря на это новая производственная технология позволила на 10-15 % улучшить производительность транзисторов, что стало хорошим фундаментом для корректировки зависимости тактовой частоты от напряжения питания.
В конечном итоге это позволило в среднем на 200 МГц поднять рабочие частоты новых процессоров, снизив им напряжение питания на 80-120 мВ. И в сумме же вышло так, что с новыми Threadripper более высокая производительность стала доступна без какого-либо роста практического энергопотребления и тепловыделения.
Вторая часть усовершенствований Zen+ затрагивает задержки подсистемы кеш-памяти. Правда, в случае Threadripper они не так заметны, как были заметны в процессорах Ryzen второго поколения.
Дело в том, что ревизия кристаллов, которая применялась в HEDT-процессорах первого поколения уже содержала часть улучшений относительно первоначальной версии дизайна. Поэтому для Threadripper имеют место лишь достаточно скромное сокращение задержек:
- латентность L3-кеша снизилась на 15 %;
- латентность L2-кеша снизилась на 9 %;
- латентность L1-кеша снизилась на 8 %;
- латентность памяти снизилась на 2 %.
К этому стоит добавить появление в Threadripper второго поколения официальной поддержки DDR4-2933, что отражает произошедший качественный скачок в оптимизации библиотек AGESA. И теперь AMD гарантирует, что на частоте 2933 МГц заработает любая память, установленная в количестве одного модуля на канал. Однако в случае использования в системе восьми модулей DIMM одновременно, всё ещё действуют жёсткие ограничения вплоть до того, что с двухранговыми модулями AMD гарантирует работоспособность памяти лишь в режиме DDR4-1866.
Кроме того, не стоит забывать и о появлении в Zen+ технологий динамического изменения частоты PB2 и XFR2. Они в полной мере присутствуют и в Threadripper второго поколения, что позволяет им очень гибко подстраивать свою частоту в зависимости от нагрузки. При этом PB2 – это достаточно самобытная реализация турбо-режима, которая не предусматривает никаких чётких рамок по частоте процессора в зависимости от нагрузки, а рабочий режим подбирается интерактивно с шагом в 25 МГц, исходя из показаний внутриядерных датчиков токов и потребления.
XFR2 же добавляет в формулу моментальной частоты ещё и температуру, позволяя процессору автоматически разгоняться на дополнительные 10-15 %, если его тепловой режим не внушает никаких опасений. По этой причине производительность процессоров Threadripper, как и Ryzen второго поколения, приобрела заметную зависимость от качества системы охлаждения. И этот момент необходимо иметь в виду.
⇡#Threadripper WX ≠ 2 × Threadripper X
Появление в семействе Threadripper двух различных классов процессоров, WX и X, – это отнюдь не вопрос маркетинга. Отличия начинаются на уровне структуры и затрагивают как алгоритмы работы подсистемы памяти, так и схему взаимодействия ядер между собой, что в конце концов приводит к тому, что 32-ядерный и 16-ядерный Threadripper – это два принципиально различных по сути продукта.
Основной строительный блок в современных процессорах AMD – это полупроводниковый кристалл Zeppelin, в котором объединены восемь распределённых по двум CCX (CPU Complex) вычислительных ядер. Таким образом, для создания 16-ядерных процессоров достаточно двух таких чипов: этот подход использовался в Threadripper первого поколения, по такому же принципу построены и новые 16-ядерные решения серии X. Несмотря на то, что упаковка любых процессоров Threadripper унифицирована с серверными EPYC и рассчитана на размещение внутри четырёх кристаллов Zeppelin, в продуктах серии X лишь два кристалла рабочие, а два других представляют собой кремниевые заглушки, необходимые для обеспечения механической прочности конструкции.
Объединённые в единое целое на текстолитовой подложке кристаллы на логическом уровне соединяются посредством фирменной высокоскоростной шины AMD Infinity Fabric. В дизайне Zeppelin заложено четыре внешних двунаправленных линка Infinity Fabric шириной 32 бита, но в случае собранных из двух составных частей 16-ядерных процессоров для соединения кристаллов используется по два линка. Шина Infinity Fabric синхронизирована с контроллером памяти, и при условии использования в системе DDR4-2933, соединение кристаллов в 16-ядерных Threadripper X получает суммарную пропускную способность 93,9 Гбайт/с.
В случае же Threadripper WX схема построения процессора приобретает более сложный вид. Для создания 32-ядерного процессора требуется уже четыре чипа Zeppelin, каждый из которых связывается тремя линками Infinity Fabric с тремя другими кристаллами. Это значит, что пропускная способность попарных соединений между кристаллами в Threadripper WX ниже, чем в Threadripper X, и при работе памяти в режиме DDR4-2933 достигает лишь 46,9 Гбайт/с.
Но главная причина, по которой Threadripper WX нельзя воспринимать как простое удвоение потенциала Threadripper X, заключается даже не в этом. Есть гораздо более значимый фактор, который делает из 32-ядерного CPU не совсем привычный для десктопного окружения продукт. Этот фактор – организация подсистемы памяти. AMD захотела вписать собранный из четырёх кристаллов 32-ядерный процессор в уже имеющуюся инфраструктуру Socket TR4, и это привело к тому, что подсистема памяти у Threadripper WX получилась неравномерной.
Дело в том, что платформа Socket TR4 изначально проектировалась под процессоры с числом ядер не больше 16, поэтому она предполагает наличие внешних интерфейсов только у двух кристаллов Zeppelin, составляющих процессор. В результате, пара «дополнительных» кристаллов в Threadripper WX никаких связей с внешним миром не может иметь по определению. Для того, чтобы убрать это ограничение, AMD могла бы перепроектировать платформу, сблизив её по свойствам с серверной Socket SP3, но выбор был сделан в пользу совместимости новых процессоров с уже имеющейся инфраструктурой. В результате, в 32-ядерном процессоре, фактически, соседствуют две функционально различные разновидности кристаллов: два полноценных чипа и два кристалла с урезанной функциональностью, которые AMD называет вычислительными, – не имеющие собственной памяти и лишённые собственных линий PCI Express.
Получается, что память в системах на базе Threadripper WX распределена между ядрами неравноправно, и четыре канала DDR4 SDRAM относятся лишь к двум кристаллам Zeppelin – по два канала на кристалл. А это в свою очередь влечёт за собой невозможность реализации привычной для настольных систем однородной модели памяти с равноправным доступом UMA (Uniform Memory Access). Поэтому в то время как 16-ядерные Threadripper X по умолчанию работают со всей своей памятью в четырёхканальном режиме, синхронно раскладывая все обращения по двум контроллерам памяти в разных кристаллах, и за счёт этого всегда демонстрируют одинаковую скорость доступа, в Threadripper WX пришлось реализовать более сложную модель NUMA (Non-Uniform Memory Access), где память жёстко привязана к кристаллам, и время доступа к ней зависит от местоположения данных по отношению к инициирующему обращение ядру.
По сути, Threadripper WX единым процессором с четырехканальной памятью и не является, он больше похож на собранную на единой текстолитовой подложке четырёхпроцессорную систему, в которой два узла имеют собственную двухканальную память, а два других – лишены памяти вовсе. И такая подсистема памяти работает не совсем очевидно. Пиковая пропускная способность памяти в 32-ядерных Threadripper WX в любом случае оказывается вдвое ниже, чем в 16-ядерных, где контроллеры памяти работают в комбинированном четырёхканальном режиме, но зато, если кристалл Zeppelin взаимодействует с собственным контроллером памяти, достигается заметный выигрыш в латентности. AMD даёт такую оценку: латентность памяти при работе ядра с собственным контроллером DDR4 SDRAM, находящемся в тот же кристалле, составляет 64 нс, в то время как при обращениях к данным через контроллер соседнего кристалла она возрастает до 105 нс.
Такое различие в латентности не имело бы неприятных последствий, если бы данные находились поблизости от ядра, обращающегося к памяти, с высокой долей вероятности. Но к сожалению, гарантировать это невозможно, хотя планировщики в современных операционных системах, и в Windows в том числе, и стараются строить работу с NUMA-системами таким образом, чтобы создаваемые одним приложением вычислительные потоки оставались по возможности в рамках одного узла и не порождали необходимость в перекрёстном обмене данными между ядрами в разных кристаллах.
Но с Threadripper WX случай особый: половина его ядер своей памяти не имеет вовсе, поэтому, так или иначе, массово гонять данные по внутрипроцессорным линкам Infinity Fabric в этих процессорах всё равно приходится. Кроме того, напомним, речь идёт о решении для рабочих станций, и в такой среде приложения, которые бы не стремились занять нагрузкой более восьми вычислительных ядер одного кристалла Zeppelin и могли бы изолированно работать в рамках одного кристалла-узла, встречаются не так часто. Поэтому работа с памятью в Threadripper WX – катастрофически слабое место. Такой процессор целесообразно использовать либо для запуска армады малопоточных приложений, не требовательных к пропускной способности памяти, либо для задач, которые хорошо распараллеливаются, но не требуют для своей работы больших объёмов данных. В противном случае вся внутренняя структура процессора будет перегружена и станет узким местом, серьёзно ограничивающим производительность.
Кстати, подобная ситуация в Threadripper WX складывается не только с памятью, но и с распределением линий PCI Express. Они также относятся лишь к двум из четырёх процессорных кристаллов, и интенсивная работа с графическими картами или скоростными NVMe-накопителями тоже может стать для этого процессора определённой проблемой. Иными словами, любые пересылки данных для Threadripper WX противопоказаны. Полностью «забить» потоком данных внутренние линки Infinity Fabric могут не только обращения к памяти через контроллер соседнего кристалла, но и даже элементарные обращения ко внешним устройствам – видеокартам и NVMe-накопителям.
Именно поэтому Threadripper WX и позиционируется AMD особым образом. Этот процессор – решение не для всех не столько из-за высокой цены, сколько из-за того, что подходит он исключительно для определённых задач. В тех случаях, когда его несимметричная NUMA-архитектура плохо ложится на характер нагрузки, а это может происходить достаточно часто, производительность 32-ядерного монстра может оказаться категорически разочаровывающей. Располагающий 16 ядрами и подсистемой памяти с UMA-архитектурой Threadripper X подобных проблем решён, и универсальным многоядерным решением следует считать именно его, а не специфический Threadripper WX.
⇡#Ryzen Threadripper 2990WX в подробностях
Итак, Ryzen Threadripper 2990WX – это пусть и несколько своеобразный, но всё равно эпический процессор с 32 вычислительными ядрами и поддержкой SMT, дающей возможность одновременного исполнения 64 потоков. Как уже было сказано выше, этот процессор собран на основе четырёх кристаллов Zen+ Zeppelin, что означает, что в его конструкции принимает участие восемь модулей CCX, которые в общей сложности дают L3-кеш общим объёмом 64 Мбайт. Столь мощных по оснащению конфигураций, направленных на десктопы, мы ещё не видели, и было бы совершенно неудивительно, если бы подобный монстр не смог бы похвастать высокими тактовыми частотами.
Но ничего подобного: инженеры AMD смогли выжать из Threadripper 2990WX очень достойные частотные характеристики. Новый 12-нм техпроцесс, который используется в производстве строительных блоков Threadripper второго поколения, а также строгий отбор наиболее удачных кремниевых заготовок из-за которого в них может попасть не более 5 процентов из сходящих с конвейера кристаллов, позволили определить номинальную частоту Threadripper 2990WX в 3,0 ГГц. Причём в большинстве случаев этот процессор будет работать гораздо быстрее: максимальная частота в турбо-режиме может доходить до 4,2 ГГц.
На следующем графике мы попытались отобразить, как выглядит реальная частота Threadripper 2990WX при нагрузке различной интенсивности. Выполняя тестирование производительности этого процессора в номинальном режиме в Cinebench R15 при задействовании различного числа вычислительных потоков, мы фиксировали выбранную процессором частоту. Её распределение в зависимости от загрузки процессора приобрело следующий вид.
Несмотря на то, что в качестве базового уровня для Threadripper 2990WX заявлена частота 3,0 ГГц, в реальности этот процессор почти всегда работает быстрее. И даже при рендеринге в Cinebench R15 на всех ядрах мы наблюдали частоту 3,2-3,3 ГГц, что как минимум на 10 % превосходит базовый уровень.
Threadripper 2990WX представляет собой NUMA-систему с четырьмя узлами, где каждый узел – это отдельный кристалл. При этом сами узлы различаются между собой: два – располагают двухканальными контроллерами памяти, а два – работают вообще без собственной памяти. В отличие от Threadripper прошлого поколения, совместную кооперативную работу двух контроллеров памяти в Threadripper 2990WX включить невозможно, и NUMA-архитектура для него – это навсегда.
Распределение ядер по узлам NUMA выглядит следующим образом.
К приведённой иллюстрации нужно добавить, что контроллеры памяти и PCI Express расположены в узлах с номерами 0 и 2, а узлы 1 и 3 – чисто вычислительные и внешних интерфейсов лишены. Именно поэтому ядра имеют не совсем естественную нумерацию: AMD присвоила первые 16 номеров тем ядрам, которые имеют возможность работать с памятью более быстро в надежде на то, что планировщик операционной системы первоначально будет размещать нагрузку именно на них, а ядра без прямого доступа к памяти пойдут в дело лишь во вторую очередь.
Впрочем, на практике это помогает далеко не всегда. В Windows 10 порой случается, что приложения «уезжают» на дальние ядра, работающие с памятью через дополнительные линки Infinity Fabric. Поэтому иногда бывает так, что приложение раз от раза работает с разной производительностью в зависимости от того, получилось у него разместиться на ядрах, расположенных в кристаллах с контроллером памяти, или не получилось.
Чтобы проиллюстрировать сказанное, достаточно посмотреть на то, как меняется скорость работы с памятью в зависимости от того, идут ли обращения к ней через контроллер памяти, находящийся в том же кристалле Zeppelin, или же через соседний. В следующих таблицах приведена практическая латентность и пропускная способность, развиваемая NUMA-узлами при работе с собственной памятью и памятью соседних NUMA-узлов (процессор работает на фиксированной частоте 3,8 ГГц, в подсистеме памяти используется DDR4-3200, измерения выполнены при помощи Intel Memory Latency Checker).
Результаты весьма показательны. Задержки при обращении ядер одного процессорного кристалла к «чужой» памяти, относящейся к контроллеру памяти другого кристалла, вырастают сразу на 75 процентов, а пропускная способность из-за ограниченности полосы пропускания коммутирующей кристаллы Zeppelin шины Infinity Fabric оказывается меньше почти вдвое. Иными словами, работа с данными, находящимися вне одного NUMA-узла, происходит в Threadripper 2990WX с достаточно низкой эффективностью.
Для полноты картины стоит взглянуть и на задержки, возникающие при пересылках данных между ядрами.
Естественно, низкие задержки на уровне 43-44 нс обеспечиваются лишь при тех пересылках данных, которые происходят между ядрами в рамках одного CCX-модуля. Если же отправитель и получатель находятся в разных CCX, но в одном кристалле, то латентность всё равно сразу же возрастает в три с половиной раза. А если данные требуется передавать ещё дальше – в соседний кристалл, то латентность таких межъядерных обменов увеличивается до более чем 200 нс. Любопытно, что те вычислительные ядра, которые расположены в кристаллах без собственного контроллера памяти, порождают при пересылках данных дополнительные задержки, в результате чего, латентность межъядерных обменов может доходить до внушительной величины в 245 нс. Очевидно, шина Infinity Fabric загружена в них сильнее, чем в обычных кристаллах Zeppelin.
Ещё одна тонкость, связанная с эксплуатацией Threadripper 2990WX, касается впечатляющего тепловыделения этого процессора. В официальной спецификации говорится о тепловом пакете в 250 Вт, и это вызывает сразу два вопроса. Смогут ли потянуть 32-ядерник уже выпущенные TR4-материнские платы, изначально рассчитанные на 180-ваттные Threadripper первого поколения. И какой кулер потребуется для отвода такого количества тепловой энергии.
К счастью для потенциальных покупателей Threadripper 2990WX, никаких шокирующих ответов на эти вопросы AMD не даёт. Утверждается, что платы первого поколения с новым 32-ядерником вполне совместимы после обновления BIOS. И какие-то проблемы со схемами питания могут возникать разве только при разгоне. Впрочем, флагманские платформы вроде ASUS Zenith Extreme дадут возможность разогнать Threadripper 2990WX до максимума, несмотря на свой возраст. Единственное, что может потребоваться, это – дополнительное охлаждение схемы питания на материнской плате. Для тех же пользователей, которые всё же сомневаются в полной совместимости, производители подготовили несколько «усиленных» Socket TR4-материнок второго поколения. Например, MSI MEG X399 Creation, на базе которой мы проводили тесты для этого обзора.
MSI MEG X399 Creation
Не требуются для Threadripper 2990WX и никакие особенные системы охлаждения. Те кулеры, которые подходили для Threadripper первого поколения, скорее всего, справятся и с 32-ядерным флагманом. Более того, сама AMD по-прежнему рекомендует использовать с новым старшим HEDT-процессором системы жидкостного охлаждения, сделанные Asetek, и даже комплектует 2990WX совместимым креплением для стандартного цилиндрического водоблока.
Впрочем, жидкостное охлаждение необходимостью не является, вполне можно обойтись даже воздушным кулером. Например, вместе с Threadripper второго поколения AMD в сотрудничестве с Cooler Master выпустила специальный кулер Wraith Ripper, представляющий собой двухсекционную башню с одним 120-мм вентилятором и семью тепловыми трубками.
Но есть важный момент: этот кулер имеет большую подошву, которая покрывает крышку Threadripper полностью. И это, как показывает практика, заметно улучшает теплоотвод от процессора. В качестве примера мы сравнили максимальную температуру Threadripper 2990WX при прохождении нагрузочного тестирования в Prime95 при использовании нового Wraith Ripper, системы жидкостного охлаждения Corsair Hydro Series H115i с водоблоком стандартного размера и системы жидкостного охлаждения Enermax Liqtech 240 TR4 со специальным водоблоком для Threadripper, который полностью закрывает поверхность этого CPU.
AMD Ryzen Threadripper 2990WX | ||
Температура Tdie в Prime95 (макс.), °C | Частота в Prime95 (мин.), МГц | |
Cooler Master Wraith Ripper | 64,3 | 3025 |
Corsair Hydro Series H115i | 63,8 | 3050 |
Enermax Liqtech 240 TR4 | 54,9 | 3100 |
Как следует из проведённого экспресс-тестирования, полное покрытие системой охлаждения всей поверхности теплорассеивающей крышки процессора – очень весомый фактор. Благодаря большой площади основания воздушный кулер получает возможность сравниться по эффективности даже с достаточно неплохой системой жидкостного охлаждения. А система охлаждения с большим водоблоком выигрывает у «водянки» Corsair/Asetek с водоблоком стандартного размера почти десять градусов несмотря на то, что она располагает радиатором меньшего размера.
Иными словами, вывод очевиден: для систем с 250-ваттным Threadripper 2990WX лучше подбирать такой кулер, который имеет большую подошву, подогнанную по размеру для Socket TR4-процессора. Это важно ещё и потому, что от температуры процессора зависит работа технологии XFR2, и лучшее охлаждение даёт процессору возможность автоматически выходить на более высокие частоты и показывать лучшую производительность.
⇡#Ryzen Threadripper 2950X в подробностях
Рассказ про 16-ядерный и 32-поточный Threadripper 2950X будет заметно короче. Этот процессор выступает простым инкрементным обновлением Threadripper 1950X годичной давности, а потому с точки зрения архитектуры ничего нового не приносит. Разница есть лишь в частотах, которые увеличились благодаря использованию 12-нм, а не 14-нм кремниевых кристаллов. Так, базовая частота Threadripper 2950X выросла на 100 МГц – до 3,5 ГГц, а максимальная частота в турбо-режиме увеличилась сразу на 400 МГц – до 4,4 ГГц.
В реальном использовании частоты в зависимости от нагрузки распределяются примерно так, как показано на следующем графике, на котором задокументировано поведение Threadripper 2950X в номинальном режиме в Cinebench R15 при задействовании различного количества ядер.
Как и в случае Threadripper 2990WX, хорошо прослеживается работа технологии PB2, которая тонко подстраивает рабочую частоту под параметры нагрузки и текущего энергопотребления. Не стоит забывать и про XFR2 – технологию, дополнительно наращивающую частоту процессора в благоприятном температурном режиме. Благодаря этому при условии качественного охлаждения Threadripper 2950X удаётся удерживать реальную частоту выше 4,0 ГГц при загрузке вплоть до 12 ядер.
Threadripper 2950X собран на основе двух, а не четырёх, как Threadripper 2990WX, полупроводниковых кристаллов Zen+ Zeppelin. Из-за этого у него не только вдвое меньше вычислительных ядер, но и вдвое меньше суммарный объём L3-кеша. Но большое преимущество заключается в том, что оба кристалла в нём равноценны, и благодаря этому никакой муторной и накладной для десктопного CPU реализации NUMA-архитектуры не требуется.
Threadripper 2950X использует более естественную модель памяти UMA, то есть вся установленная в системе память для всех ядер равнозначна. Физически это реализуется за счёт объединения двух имеющихся в кристаллах Zeppelin двухканальных контроллеров в один четырёхканальный и равномерного распределения по четырём каналам всех обращений к памяти. В результате Threadripper 2950X может предложить более высокую пропускную способность при работе с памятью. Однако если сравнивать с обычными процессорами Ryzen, то работа с памятью у Threadripper 2950X происходит с более высокими задержками, связанными с постоянной необходимостью переадресации части запросов в контроллер памяти соседнего кристалла.
Помимо модели памяти UMA, который для Threadripper 2950X является основным, этот процессор можно переключить и в режим NUMA, что может быть интересно для каких-то чувствительных к латентности памяти малопоточных приложений, ярким примером которых выступают отдельные 3D-игры. Переключение осуществляется программно, при помощи утилиты AMD Ryzen Master, в которой предусмотрена специальная настройка.
Режим работы памяти: D (Distributed) = UMA; L (Local) = UMA
В NUMA-режиме контроллеры памяти Threadripper 2950X разделяются, и каждый из кристаллов Zeppelin работает со своей собственной памятью независимо, обращаясь к соседнему контроллеру лишь по мере необходимости. Но, к сожалению, изменение модели работы с памятью происходит не «на лету». Для перехода от UMA к NUMA и обратно требуется перезагрузка, что делает пользование имеющимся в AMD Ryzen Master переключателем не слишком удобной .
Зато существование возможности переключения режимов позволяет нам наглядно показать разницу в пропускной способности и латентности памяти, возникающую при использовании Threadripper 2950X в конфигурации с NUMA- и UMA-памятью. Измерения сделаны при помощи утилиты Intel Memory Latency Checker, частота процессора – 3,8 ГГц, память работает в режиме DDR4-3200.
Результаты вполне логичны. В NUMA-режиме у Threadripper 2950X скорость работы с памятью в рамках одного узла (кристалла Zeppelin) похожа на ту скорость, которую обеспечивают обычные процессоры Ryzen. Однако если процессорному ядру требуется достучаться до памяти, подключенной к соседнему кристаллу, латентности возрастают на 75 процентов, а пропускная способность падает почти вдвое.
Чтобы не сталкиваться с подобным разбросом в скоростных параметрах, как раз и существует режим UMA. В нём пропускная способность памяти за счёт четырёхканальности заметно выше, чем у обычных Ryzen, но придётся смириться с высокими задержками, которые получаются даже выше, чем в самом худшем случае в NUMA-режиме. Впрочем, несмотря на это, AMD всё равно считает UMA-режим более подходящим вариантом для Threadripper 2950X: в приложениях для создания и обработки цифрового контента высокая пропускная способность важнее.
Поскольку Threadripper 2950X – более простой по сравнению с Threadripper 2990WX процессор, его тепловыделение типично для платформы Socket TR4 — 180 Вт. Это значит, что в случае 16-ядерного CPU никаких проблем с платами и системами охлаждения быть не должно. Для этого процессора заведомо сгодится то же самое оснащение, которое предлагалось производителями для предыдущего поколения процессоров Threadripper.
⇡#Разгон
Маловероятно, что пользователи процессоров класса Threadripper, нацеленных на работу в рабочих станциях, будут часто прибегать к разгону. Однако мы всё же не стали обходить эту тему стороной, ведь оверклокинг позволяет не только увидеть скрытый частотный потенциал, но и проверить запас прочности платформы в целом, который в случае появления процессоров с TDP 250 Вт вызывает некоторые опасения.
Однако начать эксперименты мы все же решили не с тяжеловеса Threadripper 2990WX, а более скромного в плане потребления энергетических ресурсов Threadripper 2950X. Подобный процессор первого поколения, Threadripper 1950X, мы в своё время смогли разогнать до 3,9 ГГц. Но Threadripper 2950X должен быть более податлив, ведь он собран на основе 12-нм кристаллов, главным преимуществом которых называется как раз увеличенный частотный потенциал. Тем более, что процессоры Ryzen поколения Zen+ разгоняются до 4,0-4,2 ГГц, а для сборки процессоров класса Threadripper компания AMD отбирает наилучшие полупроводниковые кристаллы.
Кроме того, теперь в нашем распоряжении появилась новая система жидкостного охлаждения Enermax Liqtech 240 TR4, обладающая водоблоком, полностью покрывающим теплораспределительную крышку Threadripper. А это, как мы уже убедились, позволяет существенно поднять эффективность теплоотвода даже несмотря на сравнительно небольшой радиатор, который используется в этой системе охлаждения.
И в целом, Threadripper 2950X не разочаровал. Полная стабильность тестового процессора была получена на максимальной частоте 4,1 ГГц.
После установки напряжения питания 1,3 В процессор, работающий на частоте 4,1 ГГц, успешно проходил тестирование в Prime95, а максимальные температуры ядер при этом не выходили за пределы 78 градусов. Энергопотребление разогнанного процессора во время теста, согласно данным внутреннего мониторинга, составляло порядка 290 Вт. Потребление же системы в целом достигало 390 Вт. Иными словами, с разгоном Threadripper 2950X всё оказалось вполне предсказуемо и прошло без каких-либо эксцессов.
Чего нельзя сказать о разгоне Threadripper 2990WX. Откровенно говоря, идея дополнительно увеличить частоту и напряжение процессору с расчётным тепловыделением 250 Вт без применения каких-либо продвинутых методов теплоотвода вызывает определённый скепсис. И как показала практика, совсем не зря. При оверклокерских экспериментах с Threadripper 2990WX возникает сразу две серьёзных проблемы. Во-первых, тепловыделение разогнанного процессора, построенного на четырёх кристаллах Zeppelin, лихо перешагивает через границу в 500 Вт, и отвести такое количество тепла на самом деле не так уж и просто даже с помощью системы жидкостного охлаждения. Во-вторых, в этом случае на конвертер питания на материнской плате ложится очень высокая нагрузка, в результате чего обеспечить его бесперебойную работу становится даже сложнее, чем совладать с тепловыделением процессора.
Например, оверклокерские тесты Threadripper 2990WX мы проводили в системе на базе новой Socket TR4-материнской платы MSI MEG X399 Creation, в которой реализован мощный 19-фазный преобразователь напряжения (16 каналов на процессор и 3 – на SoC). Но даже организовав на тестовом стенде дополнительный обдув зоны VRM двумя 120-мм вентиляторами, мы всё равно столкнулись с перегревом преобразователя выше 110 градусов и срабатыванием его защиты. Похоже, что граница в 500 Вт – это тот критический предел энергопотребления процессора, после прохождения которого нужно серьёзно задумываться в том числе и о модернизации охлаждения на плате. А без этого разгон Threadripper 2990WX ограничивается скорее возможностями платформы, чем собственным потенциалом.
В конечном итоге, чтобы избежать срабатывания защиты в схеме преобразования питания, нам пришлось ограничить повышение напряжения на процессоре величиной 1,29 В. И в этом случае максимальная частота, при которой оказалась возможна стабильная работа Threadripper 2990WX, составила 3,9 ГГц. Впрочем, в любом случае, работающий на такой частоте 32-ядерный процессор, это – настоящий монстр.
Никаких проблем с прохождением тестов стабильности в Prime95 работающим на 3,9 ГГц процессором Threadripper 2990WX не возникло. Максимальная температура процессора составила 84 градуса, его максимальное потребление – 458 Вт. Потребление тестовой системы целиком при нагрузочном тестировании не превышало 630 Вт.