На текущий момент бизнес серверных процессоров AMD в центрах обработки данных переживает большой бум. Семейство процессоров EPYC стало чем-то вроде феникса, восставшего из пепла, выведя данный сегмент проецссоров с грани постоянно снижающихся позиций к стабильно растущей доле рынка по сравнению с Intel. В то же время рынок процессоров центров обработки данных кардинально изменился. Высокопроизводительные вычисления (HPC) стали популярны благодаря спросу на гораздо более мощные процессоры, искусственный интеллект начал менять многие отрасли, в то время как все больше и больше решений программного обеспечения как услуги (SaaS) и инфраструктуры , и как услуги развертываются в облаке. Процессоры AMD EPYC 9754 и EPYC 9684X отвечают меняющимся потребностям высокопроизводительных вычислений и облачных гипермасштабируемых рабочих нагрузок.
AMD Bergamo и Genoa-X: производительность оптимизирована для самых разных рабочих нагрузок
Так обстоит дело с процессорами AMD Genoa-X и Bergamo, которые мы сегодня рассматриваем. Оба процессора построены на основе Zen 4, представленной прошлой осенью в Генуе. Фактически, Genoa-X с 3D V-Cache, прикрепленным поверх основных кристаллов (CCD). Как и потребительские процессоры AMD Ryzen X3D , использующие эту технологию для игр, 3D V-Cache значительно улучшили требования к обработке больших наборов данных, которые представлены многими рабочими нагрузками HPC и т. д.
В этих процессорах используется архитектура AMD Zen 4c , которая позволяет Zen 4 занимать меньшую площадь для лучшей масштабируемости. Это достигается за счет кэша и тактовой частоты, но позволяет разместить 16 ядер в одном CCD вместо 8 ядер, которые мы имеем в Zen 4. Теоретически, эти особенности оказывают минимальное влияние на гиперскейлеров, которым прежде всего требуется большое количество ядер.
Сегодня мы сосредоточены на реальной производительности, которую каждый из процессоров может предложить в облачных и HPC-приложений. AMD прислала нам по паре своих флагманских процессоров EPYC 9684X (Genoa-X) и EPYC 9754 (Bergamo). Процессор EPYC 9684X Genoa-X имеет полный набор из 96 ядер плюс потоки, что в общей сложности составляет 192 ядра и 384 потока в нашей двухпроцессорной тестовой системе на платформе Titanite Форм-фактора 2U. Каждый CCD получает 96 МБ кэш-памяти L3 благодаря 3D V-Cache, что в сумме составляет 1152 МБ кэш-памяти L3 на процессор по сравнению с 384 МБ в эквивалентном процессоре EPYC 9654 Genoa. В отличие от компонентов AMD X3D для настольных ПК, этот процессор Genoa-X сохраняет ту же максимальную тактовую частоту 3,7 ГГц cTDP 320–400 Вт.
Семейство процессоров Genoa-X EPYC:
Семейство процессоров Bergamo EPYC
Процессор EPYC 9754 Bergamo имеет количество ядер до 128, что в общей сложности составляет 256 ядер и 512 потоков в 2P-системе. Учитывая половину кэша L3 на ядро по сравнению с Genoa, в общей сложности получается 256 МБ кэша на сокет. Частота ядра снижена до базовой тактовой частоты 2,25 ГГц с увеличением до 3,1 ГГц. Однако все эти ядра по-прежнему требуют много энергии, что дает TDP по умолчанию 360 Вт с диапазоном cTDP 320–400 Вт. В остальном ввод-вывод эквивалентен Genoa с 12 каналами памяти DDR5, поддержкой PCIe Gen 5 и полной версией x86 ISA Zen 4.
Общие тесты вычислений и веб-серверов
Наши тестовые системы AMD и Intel работают под управлением Ubuntu Server 22.04 с общим ядром Linux 5.15.0-76. Для тестов мы установили Phoronix Test Suite, а затем провели последний цикл обновления apt. Пакет тестов Phoronix предлагает широкий выбор рабочих нагрузок , что упрощает нашу задачу в выборе разного рода приложений подобного типа.
Core Mark 1.0.1 Benchmark (Базовый тест)
Мы начинаем наше тестирование с Coremark. Coremark — это очень быстрый и серьезный многопоточный тест процессора, предназначенный для быстрого сравнения.
И как видим AMD Bergamo EPYC 9754 здесь стартует на ура, эффективно используя все 512 потоков. И видно, что поядерное масштабирование тут не идеально по сравнению с EPYC 9654 из-за его более низких тактовых частот, но этого и следовало ожидать. Genoa-X EPYC 9684X с небольшим отрывом отстает от EPYC 9654, но, всё же, как говорится находится на расстоянии "вытянутой руки".
7-Zip 1.10.0 Сжатие / Распаковка
Далее мы произвели тесты на сжатие и распаковку в 7-Zip. На рабочую нагрузку сжатия влияет производительность памяти и кэша, а также неупорядоченная обработка. EPYC 9754 снова выходит вперед, по крайней мере, при выполнении сложных вычислительных задач по декомпрессии. Поскольку сжатие увеличивает нагрузку на кеш, и видно, что его производительность снижается и соответствует показателям 96C. EPYC 9654 сохраняет преимущество перед 9684X в плане декомпрессии, но дополнительный кэш выводит EPYC 9684X на пьедестал почета для рабочих нагрузок на сжатие.
Linux Kernel Compilation 1.15.0
Компиляция программного обеспечения — обычная задача, а сборка самого ядра Linux уже давно используется в качестве теста производительности. Мы протестировали с помощью defconfig и allmodconfig, результаты были получены за считанные секунды. Полученные результаты EPYC 9684X и 9654 практически совпадают, хотя и слегка отдающим предпочтение модели с ограниченным кэшем. Как показывает EPYC 9554, большее количество ядер в данной задаче не являются решающим фактором, поэтому мы и видим, что EPYC 9754 переместился в середину рейтинга.
DaCapo Benchmark 1.0.1
Набор тестов DaCapo оценивает производительность процессора и системы в целом в контексте Java. В частности, мы используем тест Jython, который стал популярен среди разработчиков Python , желающих работать в среде Java. Из теста видно, что ни один из процессор не является сильным в данной ситуации, так как в данном случае предпочтение отдается меньшему количеству ядер и более высоким частотам.
Blender BMD 3.6.0 Model 3D Rendering
Blender — это основной тест для 3D-рендеринга. Мы поставили в очередь проверенную сцену с BMW и оценили время рендеринга в секундах. И снова EPYC 9754 впечатляет огромным количеством потоков, заняв первое место с хорошим отрывом. Blender не особо интенсивно использует кэш, что идет ему на пользу, что и приводит к тому, что EPYC 9684X немного отстает от EPYC 9654.
X264 2.7.0 Video Encode
Самое распространенное использование этих серверов — использование в качестве рендеринга видео. Мы использовали многопоточный кодер x264 для тестовых видеороликов 1080p и 4K. Кодирование 4K x264 показывают непонятные характеристики масштабирования. 96-ядерный EPYC 9654 работает лучше всего с его близнецом Genoa-X, но за ним следует 32-ядерный EPYC 9374F, в то время как 128-ядерный EPYC 9754 на графике замыкает весь ряд AMD, и новейшие процессоры Intel Xeon снова отстают.
Кодирование 1080p с точки зрения количества ядер полностью инвертировано, хотя результаты делятся на два отдельных диапазона, и тут EPYC 9754 присоединился к менее производительным чипам Xeon.
Тест транзакций базы данных PostgreSQL PGBench 1.13.0
Сам по себе на сегодняшний день PostgreSQL очень популярен, поэтому и заставляет нам взглянуть на производительность обработки баз данных. PGBench предоставляет рейтинг транзакций базы данных в секунду и соответствующую среднюю задержку с использованием рабочих нагрузок только для чтения и чтения-записи. Процессоры Bergamo и Genoa-X в тесте для чтения демонстрируют небольшие оценки, но все же значительно опережают лучшие показатели процессоров от Intel.
Что касается чтения и записи, то оба они находятся в одном ряду с самым производительным EPYC 9554, в то время как EPYC 9374F отстает и лишь немного, но опережает большинство масштабируемых процессоров Intel Xeon .
Тест HTTP-сервера Apache 3.0.0
Apache — это веб-сервер с открытым исходным кодом, первоначально выпущенный в 1995 году, но по сей день имеющий огромную популярность. Он поддерживает широкий спектр модулей для добавления различных функций. И как мы видим из результатов тестов, EPYC 9754 и EPYC 9684X показали себя вполне конкурентоспособными , обслуживая около 100 000 одновременных запросов. Это может быть как тестом для памяти, так и вычислением, позволяющим процессору Genoa-X превзойти EPYC 9654.
Тест веб-сервера NGINX 3.0.1
NGINX обычно используется для веб-серверов, а также для почтовых прокси, обратных прокси-серверов и других целей, таких как балансировка нагрузки. Его можно использовать в сочетании с другим программным обеспечением, таким как Apache, или автономно, и на сегодняшний день он популярен и активно развертывается в облаке.
Судя по тесту, процессоры Bergamo и Genoa-X заняли последнее место. Похоже, что Intel здесь показывают значительную производительность.
SMHasher 1.1.0
SMHasher — это инструмент для оценки производительности различных алгоритмов хеширования. Такие рабочие нагрузки возникают повсюду в центре обработки данных и часто имеют решающее значение для приложений безопасности. Wyhash не считается полностью безопасным, но он очень эффективен, портативен и быстр.
Процессоры от Intel показывают значительное преимущество в хешировании, оставляя позади все процессоры AMD. Производительность среди AMD соответствует ожиданиям: 96-ядерные процессоры с более высокой тактовой частотой постепенно опережают 128-ядерный процессор Bergamo.
TensorFlow 2.0.0 Тест классификации изображений машинного обучения
TensorFlow предлагает несколько различных моделей для анализа, поэтому мы протестировали VGG-16, AlexNet, GoogLeNet и ResNet-50 - рабочие нагрузки классификации изображений нейронной сети.
И тут мы видим, что в VGG-16, EPYC 9754 с небольшим перевесом претендует на первое место, но EPYC 9684X отстает от своего аналога. К сожалению, в TensorFlow это не лучший результат для для этих процессоров, поскольку остальные модели оставляют этот дуэт в самом низу стека, а в GoogLeNet и ResNet-50 процессоры от Intel в значительной степени уступают по производительности .
OneDNN 3.1.0 Тест обучения и вывода RNN
OneDNN — это оптимизированная Intel библиотека нейронных сетей, которая теперь является частью oneAPI. В нашем тестировании мы оцениваем его производительность в свертке, обучении RNN и выводе RNN для трех типов данных: f32, u8u8f32 и bf16bf16bf16. EPYC 9684X во всех случаях работает примерно на одном уровне с EPYC 9654, то есть находится в самом низу линейки. У EPYC 9754 оценки еще ниже, что делает его не особенно подходящим для рабочих нагрузок OneDNN.
Embree 1.5.0 3D-рендеринг
Embree — это средство 3D-рендеринга, которое может использовать такие наборы инструкций, как AVX2 и AVX512. Вариант IPSC компилируется с использованием компилятора программ Intel Implicit SPMD, который обеспечивает дополнительное ускорение при наличии ускорения AVX .
Интересно, что здесь EPYC 9754 удерживает свое первое место, и мы также видим отставание EPYC 9684X от EPYC 9654. Это и предполагает, что кэш важен для рабочей нагрузки трассировки, но и не настолько чтобы процессор Bergamo выпадал из числа конкурентов.
POV-Ray 1.2.1 Рендеринг с трассировкой лучей
POV-Ray, или Persistence of Vision Ray-Tracer, — это инструмент для создания реалистично освещенных изображений. Реализация Phoronix Test Suite измеряет время завершения, а не количество пикселей в секунду, о котором мы обычно сообщаем в других обзорах. И снова в пределах погрешности EPYC 9684X функционально эквивалентен EPYC 9654. EPYC 9754 демонстрирует достойный результат, хотя и попадает в середину рейтинга.
ASKAP 2.1.0
ASKAP— это огромный комплекс радиотелескопов в Западной Австралии. Ему поручено обрабатывать огромные наборы данных, включая алгоритм tConvolve, который выполняет сверточную повторную выборку. Этот необычный вид рабочей нагрузки HPC прекрасно отражает преимущества, которые может предоставить 3D V-Cache. EPYC 9684X в этих задачах на 49-52% быстрее, чем Genoa EPYC 9654, и значительно затмевает своей производительностью процессоры Xeon.
OpenFOAM 1.2.0 Вычислительная гидродинамика
OpenFOAM — это бесплатная программа для вычислительния гидродинамики. Мы протестировали две аэродинамические модели: motorBike и drivaerFastback. Начиная с MotorBike, мы видим , что наименьшее время показывают процессоры с меньшим количеством ядер, и мы видим, что EPYC 9684X почти вырывается в лидеры.
Благодаря обработки более крупной модели в drivaerFastback, то мы видим , что AMD EPYC 9684X безоговорочно занимает первое место по времени выполнения, обгоняя EPYC 9654 примерно на 30%. Но и EPYC 9754 здесь не отстает, заняв третье место.
Заключительные мысли и основные выводы
Судя по всему, эти новые специализированные серверные процессоры от AMD используют гораздо более консервативный подход. AMD больше полагается на оптимизацию ядра Genoa DNA для лучшего соответствия конкретным сценариям использования. Например, Genoa-X EPYC 9684X имет некую схожесть или даже немного уступает Genoa EPYC 9654 в большинстве рабочих нагрузок. Однако в нише высокопроизводительных вычислений и 3D-рендеринга (например, ASKAP, Embree, OpenFOAM) дополнительный кэш позволяет процессору Genoa-X опережать своего аналога на целых 50% и значительно отставать от Intel.
Bergamo всё же имеет радикальные отличия от Genoa-X. Тут мы видим , что сама архитектура Zen 4c теряет часть кэша L3 и тактовые частоты, но получает значительную плотность ядер на сокет, что очень привлекательно для гиперскейлеров, развертывающих облачные приложения. Эти качества позволяют Bergamo быть лучшим в сценариях необработанных вычислений, начиная от распаковки Coremark и 7-Zip и заканчивая Blender и даже LAMMPS.
Процессоры AMD Zen 4 EPYC обладают и несколькими менее ощутимыми, но весьма привлекательными качествами. Все эти процессоры используют одну и ту же платформу SP5 с очень похожими физическими свойствами и интерфейсами. Это позволяет клиентам, которые уже работают на данной платформе , без забот заменять процессоры Genoa-X или Bergamo в соответствии со своими потребностями без необходимости менять весь сегмент для данного сокета. Притом что клиентам не нужно оптимизировать какое-либо программное обеспечение или приобретать специальные лицензии для его использования. Эти процессоры по сути не универсальны, и создавались они исключительно для специализированных задачь, в то время как старая добрая Genoa по-прежнему справляется с большинством рабочих нагрузок.