Компании AMD уже не нужно ничего никому доказывать, тем более в сегменте HEDT, но несмотря на это она решила не ограничиваться выпуском лишь 24- и 32-ядерных представителей семейства Threadripper третьего поколения. Сегодня начинаются продажи ещё более монструозного Threadripper 3990X с 64 вычислительными ядрами. И это – совершенно уникальный процессор, который позволяет получить в настольной рабочей станции такое количество ядер, которое не могут предоставить даже серверные двухпроцессорные системы конкурента.
Вычислительная мощь, заложенная в Threadripper 3990X, будоражит воображение. Подумать только, исходя из имеющегося арсенала ядер, этот зверь в одиночку может столько же, сколько восемь процессоров вроде Ryzen 7 3800X или четыре процессора Ryzen 9 3950X. Кажется, что Threadripper 3990X должны быть по плечу многие ресурсоёмкие задачи, для решения которых раньше приходилось прибегать к помощи специальных вычислительных серверов или ферм. А это значит, появление такого предложения может принципиально изменить привычные процедуры работы с контентом высокого разрешения или с визуальными эффектами кинематографического качества.
В ознакомительном обзоре мы не сможем дать однозначного ответа, подойдёт ли Threadripper 3990X для каких-то конкретных задач, с которыми сталкиваются профессионалы в различных отраслях. Проблемы, стоящие перед такими специалистами, в большинстве случаев комплексны и индивидуальны, и применять какие-то обобщённые подходы оценки производительности в этом случае было бы не совсем корректно. Однако оценить относительное быстродействие Threadripper 3990X в популярных приложениях для создания и обработки контента и изучить все тонкости, сопряжённые с его использованием, мы, безусловно, способны.
Тем более, что всяких нюансов с новым 64-ядерником будет явно больше, чем в случае рассмотренных нами недавно Threadripper 3970X и Threadripper 3960X. Недаром AMD так старательно создаёт вокруг Threadripper 3990X ореол исключительности, говоря о нём как о «HEDT-процессоре специального назначения» и «элитарном предложении для специальных нужд».
⇡#Подробнее о Threadripper 3990X
Threadripper 3990X – это первый в истории 64-ядерный процессор, который предназначен для использования в высокопроизводительных настольных системах. До недавних пор предложения с таким количеством ядер существовали лишь в серверном сегменте, но теперь AMD решила уровнять в правах серверы и рабочие станции и предложить обоим рынкам примерно одно и то же, но в немного различной обёртке. Фактически, Threadripper 3990X – это HEDT-аналог EPYC 7702P поколения Rome, но с четырьмя, а не с восемью, каналами памяти, уполовиненным числом поддерживаемых линий PCI Express, отрезанными серверными функциями безопасности, но зато с расширенными рамками TDP и увеличенными тактовыми частотами.
Очевидно, что такой процессор появился в модельном ряду AMD главным образом потому, что компания просто могла его сделать. В сложившейся конкурентной обстановке, когда максимальный процессор Intel для сегмента HEDT оснащён лишь 18 ядрами, Threadripper с 24 и 32 ядрами прекрасно справились с тем, чтобы поднять планку производительности на недостижимую для соперника высоту. Но в том-то и прелесть чиплетной компоновки: она позволяет очень легко масштабировать решения, и поэтому 64-ядерный Threadripper 3990X – вполне логичное продолжение модельного ряда. Тем более, что в этом процессоре используются уже имеющиеся в арсенале AMD строительные блоки, которые в данном случае просто пересобраны по несколько иной схеме.
В состав Threadripper 3990X входит восемь стандартных 7-нм вычислительных чипсетов Zen 2, идентичных чиплетам, которые AMD применяет во всех остальных процессорах своего актуального поколения. Роль же центрального звена, объединяющего вычислительные чиплеты в единое целое, в этой схеме играет 12-нм чиплет ввода-вывода, который, как и в случае более простых моделей Threadripper третьего поколения, унифицирован с серверными процессорами EPYC Rome. Таким образом, в сумме в состав Threadripper 3990X входит около 39,5 млрд транзисторов, которые распределены по девяти полупроводниковым кристаллам.
Как всё это располагается на процессорной плате и в упаковке CPU, можно увидеть на фотографии.
Очевидно, что Threadripper 3990X собран на такой же плате, что и процессоры семейства EPYC, и в этом нет ничего странного. Производители по возможности стараются унифицировать между собой серверные и HEDT-процессоры, и 32- и 24-ядерные Threadripper, для которых была сделана специальная плата под четыре вычислительных чиплета, – это скорее исключение из общего правила.
Отличия между Threadripper 3990X и следующим в модельном ряду 32-ядерным Threadripper 3970X заключаются не только в двукратном расхождении в числе чиплетов и ядер. AMD относит своего 64-ядерного монстра к несколько иному классу «HEDT-процессоров специального назначения». И это отчасти объясняется разницей в частотной формуле «обычных» и 64-ядерных представителей семейства Threadripper.
Дело в том, что за двукратным увеличением числа ядер в Threadripper 3990X не стоит роста энергетических аппетитов. Тепловой пакет 64-ядерника ограничен величиной 280 Вт, как и у 32- и 24-ядерного процессоров. Причём, это же значение используется и для значения PPT (Package Power Tracking), то есть технология Precision Boost 2 попросту не даёт потреблению процессора выйти во время работы за 280-ваттную границу. Все подобные попытки жёстко пресекаются снижением частоты и напряжения. Поэтому AMD не смогла заявить для Threadripper 3990X столь же высокие тактовые частоты, как для его собратьев.
Ядра/ потоки | Частота, ГГц | L3-кеш, Мбайт | Память | Линии PCIe | TDP, Вт | Цена | |
---|---|---|---|---|---|---|---|
Threadripper 3990X | 64/128 | 2,9-4,3 | 256 | 4 x DDR4-3200 | 64 | 280 | $3999 |
Threadripper 3970X | 32/64 | 3,7-4,5 | 128 | 4 x DDR4-3200 | 64 | 280 | $1999 |
Threadripper 3960X | 24/48 | 3,8-4,5 | 128 | 4 x DDR4-3200 | 64 | 280 | $1399 |
Базовая частота, на которой Threadripper 3990X должен работать при полной 128-поточной нагрузке, составляет 2,9 ГГц против 3,7-3,8 ГГц у родственных процессоров с меньшим числом ядер. Максимальная частота в турборежиме по спецификации составляет 4,3 ГГц, в то время как для Threadripper 3970X/3960X заявляется авторазгон до 4,5 ГГц. Справедливости ради стоит заметить, что Threadripper 3990X действительно достигает заявленной максимальной частоты. Более того, при однопоточной нагрузке он, бывает, прыгает даже до отметки в 4,35 ГГц.
В целом же практическая кривая зависимости частоты от нагрузки для нашего экземпляра 64-ядерного процессора получилась следующей.
На графике приведена частота, наблюдавшаяся в Cinebench R20 при выполнении рендеринга с разным числом активных потоков. Любопытно, что частоты выше 4,0 ГГц выдерживаются процессором Threadripper 3990X вплоть до нагрузки на 20 ядер (по одному потоку на ядро). Примерно такую же картину мы видели с частотами Threadripper 3970X, что косвенно указывает на примерно одинаковое качество чиплетов, используемых во всей серии новых HEDT-процессоров AMD. Более того, если в Threadripper 3990X одновременно работает 32 ядра, его частота тоже оказывается примерно такой же, как у Threadripper 3970X и находится в районе 3,8 ГГц.
Тем не менее в целом считать Threadripper 3990X процессором, который предлагает по сравнению с Threadripper 3970X удвоенную мощность, не получится. Правило «x2» распространяется на число ядер и потоков и на объём L3-кеша, разросшийся у 64-ядерной новинки до 256 Мбайт. Но не распространяется ни на частоту, ни на линии PCI Express, ни на контроллер памяти. Рабочие частоты у Threadripper 3990X всё-таки ниже, а контроллер памяти и контроллер PCI Express имеют абсолютно идентичные с младшими моделями характеристики. В Threadripper 3990X поддерживается до 64 линий PCI Express 4.0 и четырёхканальная DDR4-3200, что, впрочем, вряд ли кого-то удивит, поскольку IOD-чиплет, а следовательно и контроллеры PCI Express и памяти, во всех Threadripper третьего поколения совершенно одинаковы.
Несмотря на всё это, AMD беззастенчиво применила правило «x2» к цене, которая для Threadripper 3990X установлена в $3999. Откровенно говоря, хочется даже назвать её заградительной – совершенно очевидно, что столь дорогие процессоры могут оттолкнуть даже некоторых профессионалов. Однако AMD, похоже, сознательно отсеивает таким образом сколько-нибудь массового покупателя. И дело тут даже не в том, что Threadripper 3990X достаточно сложен в производстве, потому что на него расходуется сразу восемь высококачественных 7-нм чиплетов Zen 2, а в том, что такой процессор в действительности хорош лишь строго в определённых задачах. Дальше мы подробнее расскажем, какие проблемы могут возникнуть у обладателя системы с 64-ядерным процессором, но для начала хочется обратить внимание на следующий слайд из презентации.
В нём AMD указывает, кому может быть нужен 64-ядерный Threadripper 3990X. Как указывает производитель, этот процессор уже нельзя рассматривать как CPU общего назначения, он может подойти лишь узкой прослойке профессионалов, создающих контент и имеющих особые потребности в части вычислительных мощностей. В первую очередь это – специалисты, занимающиеся созданием кинематографических визуальных эффектов, мастерингом видео в сверхвысоких разрешениях или разработчики ПО, создающие какие-то масштабные проекты. Утверждается, что Threadripper 3990X позволяет перенести традиционную «серверную» обработку контента на рабочий стол. Но при этом, в отличие от привычных серверных процессоров, Threadripper 3990X предлагает в том числе и отличную однопоточную производительность вместе с однородным доступом к памяти, что позволяет в системах на его основе эффективно работать с творческим ПО в интерактивном режиме.
Поскольку Threadripper 3990X не отличается от младших собратьев ни по внешним интерфейсам, ни по характеристикам энергопотребления и тепловыделения, он может без проблем использоваться в сложившейся экосистеме Socket sTR4-материнских плат, основанных на наборе логики TRX40.
От них потребуется лишь совместимость с новинкой на уровне BIOS, но все производители уже успели пообещать оперативно обновить прошивки своих платформ и внедрить в них полноценную поддержку 64-ядерника.
⇡#Что не так с Threadripper 3990X
Когда AMD начинает заводить разговоры про «уникальное предложение для узкой прослойки профессиональных пользователей», сразу начинаешь подозревать какой-то подвох. Ведь именно так и было, когда компания выпустила Threadripper 2970WX и 2990WX – 24- и 32-ядерные процессоры на базе четырёх кристаллов Zeppelin, два из которых не имели собственных контроллеров DDR4 SDRAM. Тогда за рассказами о уникальности AMD пыталась скрыть то, что в реальности такие CPU демонстрировали достойную производительность исключительно в узком круге задач, не требовательных к задержкам подсистемы памяти, а во множестве распространённых приложений, пусть даже и способных к распараллеливанию нагрузки, уступали не только более простому 16-ядерному Threadripper 2950X, а иногда даже и обычным Ryzen.
Впрочем, в случае с Threadripper 3990X повторения той ситуации, конечно же, не будет. Сейчас, когда AMD перешла на топологию с централизованным чиплетом ввода-вывода, все ядра имеют совершенно равноправный доступ к контроллеру памяти и PCI Express, и это избавляет многоядерные процессоры компании от многих проблем, досаждавших в прошлом.
По своему строению Threadripper 3990X похож на Threadripper 3970X, только восьмиядерных CCD-чиплетов к центральному IOD-чиплету в нём подключено вдвое больше. А это значит, что как и в других процессорах с микроархитетктурой Zen 2, никаких соединений между вычислительными чиплетами здесь не предусмотрено, и всё взаимодействие между ядрами происходит через коммутатор Infinity Fabric, находящийся в чиплете ввода-вывода. Эта схема подтвердила свою эффективность сначала в Ryzen 3000, а потом и в 24- и 32-ядерных HEDT-процессорах, поэтому нет причин подозревать, что она не будет работать и в Threadripper 3990X.
Но подвох, который делает Threadripper 3990X не таким уж и всеядным CPU, какими оказались его младшие собратья с 24 и 32 ядрами, всё-таки существует, просто он имеет совершенно иную природу. Проблема на этот раз состоит в том, что существующие операционные системы, включая любые версии Windows, не умеют вот так запросто адресовать более 64 потоков. И это – не какая-то недоработка Microsoft, а глобальное ограничение архитектуры x86-64, связанное с максимальной разрядностью целого числа, которым кодируется привязка потоков к логическим ядрам – affinity.
Выход из этой ситуации давно придуман, но он не отличается особым изяществом. В операционных системах, начиная с Windows 7 и Windows Server 2008 R2, Microsoft предусмотрела понятие «процессорных групп» – подмножеств логических ядер, для каждого из которых привязка процессов (affinity) происходит независимо. Каждая из таких групп получает свои собственные 64 потока, и в итоге операционная система может управляться со сколь угодно многопоточными процессорами, но ценой кластеризации их возможностей.
Так Threadripper 3990X представляется в Windows: две группы по 64 ядра
На практике это означает, что все ядра Threadripper 3990X в операционной системе видны и доступны в двух процессорных группах по 64 потока. Однако чтобы задействовать обе группы сразу могли и приложения, в них тоже должна быть добавлена поддержка соответствующей функциональности. В противном случае задача будет исполняться лишь в рамках какой-то одной 64-поточной группы.
И как это обычно бывает, когда программная инфраструктура не поспевает за аппаратной, с поддержкой процессорных групп в приложениях на данном этапе наблюдаются явные проблемы. Поскольку столь развитая многопоточность – явление относительно новое, соответствующие возможности внедрены далеко не повсеместно. Поэтому заметное число ресурсоёмких программ попросту не сможет получить выигрыш от переноса на процессоры, подобные Threadripper 3990X, потому что они будут выполняться лишь в рамках одной группы – на 64 логических ядрах, оставляя вторую половину ядер без работы. Более того, как показывает практика, в ряде случаев с неоптимизированным ПО можно наблюдать даже какие-то совсем непонятные коллизии и заметное падение производительности.
Обычные приложения нагружают у Threadripper 3990X только 64 логических ядра
В этой связи сама AMD предлагает ориентироваться на оптимизированные программы, число которых, особенно в свете выхода 128-поточного Threadripper 3990X, будет постепенно увеличиваться. Но есть и другой неплохой выход – попросту отключить технологию SMT, сделав из Threadripper 3990X 64-ядерный и 64-поточный процессор, с которым операционная система сможет совладать без всяких «костылей». И честно говоря, при существующим положении дел мы бы рекомендовали AMD отключать SMT для Threadripper 3990X в настройках по умолчанию – это решило бы массу проблем с совместимостью и непредсказуемой масштабируемостью производительности.
При этом любые редакции Windows 10 за исключением Home работают с 64-ядерным процессором Threadripper 3990X совершенно одинаково. 128 потоков полноценно поддерживается даже в обычной версии Pro, поэтому использовать совместно с Threadripper 3990X редакции Pro for Workstations или Enterprise нет никакой нужды. Необходимо лишь обновить систему как минимум до версии 18362.535, чтобы она правильно определяла Socket sTR4-платформу как систему с одним сокетом. Алгоритмы же планировщика в редакциях Pro, Pro for Workstations и Enterprise не отличается, и поэтому производительность Threadripper 3990X в них идентична.
Уместно будет напомнить и о том, что с многоядерными процессорами существуют и другие проблемы, из-за которых рост производительности при увеличении количества доступных в системе ядер постепенно становится меньше и меньше. В общем виде эту закономерность описывает закон Амдала, объясняя, что ускорение выполнения программы за счёт распараллеливания в любом случае ограничено временем, необходимым для выполнения её последовательных инструкций. Поэтому 64-ядерный процессор не обязательно будет заметно быстрее 32-ядерного, особенно с учётом того, что добавление ядер в рамках постоянного теплового пакета приводит к снижению тактовой частоты.
Не нужно упускать из вида и другие факторы, способные сдерживать рост производительности Threadripper 3990X. Например, увеличение числа параллельно исполняемых потоков усиливает нагрузку на полосу пропускания четырёхканальной памяти, которой может банально не хватать для своевременного обеспечения данными всех 128 потоков. Неожиданные узкие места в рабочей станции с процессором Threadripper 3990X способны возникать и в других подсистемах. Например, в дисковой, которая может попросту не успевать справляться с сохранением результатов выполняемого процесса с должной скоростью.
Именно поэтому конфигурация систем на базе Threadripper 3990X должна быть особенно тщательно сбалансирована. Сама AMD советует придерживаться при подборе комплектующих следующих принципов: объём оперативной памяти должен подбираться из расчёта 1-2 Гбайт на каждый логический процессор, а накопители должны быть выбраны из числа наиболее производительных NVMe-моделей вроде Samsung 970 EVO Plus или WD Black SN750 (PCIe 4.0-накопители AMD не советует, и мы знаем, почему), причём желательно разделять SSD, с которых осуществляется чтение и запись данных.
С учётом всего сказанного, придуманная AMD для Threadripper 3990X метафора «HEDT-процессор специального назначения» приобретает особый смысл. Кажется, маркетинговый отдел компании совершенно напрасно отбросил из модельного номера 3990X литеру «W». В данном случае она была бы более чем уместна, потому что явно указывала бы на непростой характер этого CPU и подчёркивала, что ожидаемая масштабируемость производительности у 64-ядерника проявляется лишь в ограниченном круге задач.