Сравнили 80-ядерный ARM-процессор Ampere Altra с AMD EPYC

Результаты теста 80-ядерного ARM-процессора Ampere Altra и сравнение с AMD EPYC

Делимся бенчмарками GIGABYTE E252-P30 с 80-ядерным процессором от Ampere Altra.

Изображение записи

В нашу лабораторию пришел сервер GIGABYTE E252-P30 с 80-ядерным процессором от Ampere Altra Q80-30. Этот ARM-процессор уже отметился характеристиками: процессоры с таким числом ядер с частотой 3.0 ГГц при TDP в 210 Вт не предлагает ни один «звездный» вендор. 

Мы прогнали сервер через ряд тестов и сравнили с наиболее близким по характеристикам AMD EPYC 7513. В тексте рассказываем, какие результаты у нас получились.

Зачем мы вообще взяли ARM-процессор на тест

Ранее в дата-центрах Selectel уже были представители семейства ARM — так, у нас есть серверы с «малинками» и процессорами M1. Но полноценно серверных ARM-ов еще не было.

При этом архитектура довольно многообещающая — ARM-процессоры хорошо показывают себя в тестах. Так, Ampere Altra Q80-30 будет полезен в высокопроизводительных вычислениях и при создании облачных платформ. Уже сейчас вы можете арендовать выделенный сервер c ARM-процессором (Ampere Altra Max M128-30 3 ГГц, 128 ядер) или же протестировать сервер с ним бесплатно — в Selectel Lab (на тесте — 80-ядерный процессор). 

ARM-архитектура привлекает внимание. Лидером по использованию таких чипов в инфраструктуре является Amazon — компания планирует перевести часть облачных сервисов на эту архитектуру к 2025 году. Также производством процессоров для открытого рынка занимаются Ampere и Huawei. К слову, AMD тоже пытался последовать тренду, но пока не достиг успеха. 

Вот так растет интерес к ARM-архитектуре

Чем еще интересен ARM?

  • Последние годы ARM-архитектура развивается за счет драйвера мобильных устройств.
  • Большинство платформ (JVM, V8, PVM и др.) портированы на ARM.
  • Большая экосистема свободного ПО хорошо сочетается с ARM. 

Итак, наконец Ampere Altra оказался у нас в руках. Перейдем к тестам и ответим на вопрос, действительно ли он так хорош, как говорят?

Собираем тестовый конфиг

Собранный для тестов конфиг уже трудится в стойке, в таком виде мы его и сфотографировали. Далее в тексте мы предлагаем фото другой сборки с ARM-процессором — в 1U-корпусе.

Итак, что у нас в сборке: 

  • Материнская плата GIGABYTE MP32-AR1-00
  • Процессор Ampere Altra Q80-30
  • Память: 16 x 16 ГБ Micron DDR4 3200 МГц ECC (256 ГБ)
  • 2 SSD-накопителя Micron_5300 на 480 ГБ
  • NVMe-диск на 1 ТБ M.2 SSD (GIGABYTE GP-AG41TB)
  • Три видеокарты Nvidia TESLA T4

Три GPU подключены для проверки работы PCIe-линий при полной загрузке.

Еще немного о железе
Режим: UEFI
Архитектура: aarch64
System Information:
Operating System Ubuntu 22.04.1 LTS 5.15.0-50-generic aarch64
Model GIGABYTE E252-P30-00
Motherboard GIGABYTE MP32-AR1-00
Processor Information
Name ARM ARMv8
Topology 1 Processor, 1 Core, 80 Threads
Identifier ARM implementer 65 architecture 8 variant 3
part 3340 revision 1
Base Frequency 3.00 GHz

Краткий обзор модели Altra-систем GIGABYTE

В этой модели мы имеем компактный edge-сервер в 2U-шасси малой глубины: 439 × 86 × 449 мм. Для удобства в переднюю панель выведена дисковая корзина на шесть SFF-накопителей (SAS-3/SATA-3) с поддержкой горячей замены, а также IO-панель материнской платы и все слоты PCI Express.

Да, вот тут уже начались фотографии сервера в немного другой конфигурации

Список модификаций процессора Ampere Altra и примерные цены. Красным выделен наш тестируемый.

Условия тестирования

В Selectel Lab мы тестируем железо не только для того, чтобы сравнивать заявленные характеристики с реальностью. Также нам важно выяснить, насколько та или иная платформа, серверная комплектующая и т.д. способны встроиться в общую систему дата-центров Selectel. На потенциальный конфиг должны хорошо накладываться существующие автоматизации для выделенных серверов. Они позволяют выдавать серверы клиентам в течение 5 минут. Также нам нужно понимать, насколько энергоэффективен сервер. Потребление электроэнергии и температурный режим — важные характеристики для дата-центров.

К слову, отечественные «Эльбрусы» тут нам не очень подошли. Прочитайте, как мы их тестировали.

В общем, у нас были некоторые требования к тестам, и они вылились в следующий список: 

  • AI-Benchmark — измеряет скорость, энергопотребление и требования к памяти для нескольких ключевых алгоритмов искусственного интеллекта.
  • Geekbench 5 — утилита для тестирования CPU и GPU.
  • gpu-burn — проведем классический стресс-тест для видеокарт.
  • Проверим наши GPU с помощью показателей скорости кодирования/декодирования видео через программу ffmpeg NVENC.
  • CUDA Toolkit — пакет библиотек, компиляторов и ПО для работы с видеокартами.
  • Проверка температурного режима и энергопотребления. Для получения нужных графиков использовал стандартный софт для мониторинга — Grafana и Prometheus.

С чем будем сравнивать 

Для сравнения с Amper Altra выбрали два процессора AMD EPYC 7513 — 64 ядра в сумме, базовая частота 2,6 ГГц (до 3.65 ГГц в режиме Turbo CORE). Этот CPU — достойный конкурент, который входит в топ-3 по результатам бенчмарков в single-core режиме. Это наш собственный рейтинг процессоров, которые были на тесте в Selectel Lab. Полный список можно посмотреть в нашем профиле Geekbench5.

Кроме того, цена на сравниваемые процессоры, по данным открытых источников, приблизительно равна.

Подготовка к тестам

Установка операционной системы и ПО

Пока ARM-архитектура поддерживает ограниченное количество дистрибутивов. 

Операционные системы, которые поддерживает ARM
  • ALT Linux,
  • Arch linux,
  • Astra Linux,
  • Bodhi Linux,
  • Chrome OS,
  • Debian,
  • ELinOS,
  • Fedora,
  • Centos,
  • Gentoo,
  • GoboLinux,
  • iPodLinux,
  • Kali linux,
  • Maemo,
  • MeeGo,
  • MontaVista,
  • openSUSE,
  • Open webOS,
  • Sailfish OS,
  • Slackware,
  • SteamOS,
  • T2 SDE,
  • Ubuntu,
  • Wind River Linux.

Selectel поддерживает четыре из них: Astra Linux, Debian, Centos, Ubuntu. 

На сервер решил установить Ubuntu, так как это наиболее частая в использовании ОС. В методиках испытаний использовал Ubuntu 22.04.01 LTS 5.15.0-50-generic aarch64 — это наиболее свежий дистрибутив Ubuntu под архитектуру aarch64. 

Здесь никаких сюрпризов: операционная система установилась без проблем, с драйверами для видеокарт трудностей не возникло. Установка cuDNN 11.7, NVIDIA-SMI 515.65.01, libcudnn8 прошла корректно. 

Теперь переходим к тестам. 

Результаты Geekbench 5

Результат получился интересный и конкурентный. В целом, процессор Ampere Altra близок по характеристикам к флагманскому «эпику» от AMD. 

ПроцессорКол-во ядер/ потоковBase/Max частота, ГГцSingle-Core ScoreMulti-Core ScoreLink
Ampere Altra Q80-3080/801.00/3.0088342374https://browser.geekbench.com/v5/cpu/17900837
2x AMD EPYC 751364/1282.60/3.65129932377https://browser.geekbench.com/v5/cpu/2874631
AMD EPYC 755248/962.20/3.30102235438https://browser.geekbench.com/v5/cpu/428800

На графике ниже — сравнение проведенных тестов Ampere Altra Q80-30 и AMD EPYC 7513 в Geekbench 5.

Результат в режиме Single-core:

В этом режиме AMD имеет большое преимущество перед ARM-процессором. Но все меняется, если мы тестируем две разные архитектуры чипа в режиме Multi-core:

Мы видим, что ARM-процессор сильно выбивается вперед по всем критериям. Особенно это заметно в параметрах, которые касаются параллелизации. Если задача хорошо параллелится, чем больше ядер — тем лучше. При этом не просто квазиядер (гипертрейдинговых), с которыми работает x86-архитектура, а физических ядер. Поэтому в ряде критериев — например, гауссовском размытии, HDR, Camera и т.д. — ARM лидирует очень уверенно. Впрочем, вы видите сами: вся магия происходит именно в многопоточном режиме. 

Краткий вывод: В однопоточном режиме процессор выдает довольно скромные результаты (впрочем, опять же, показатели не так далеко ушли от AMD EPYC). Зато в мультипоточном лидерство Ampere Altra очень уверенное. Даже несмотря на то, что использовалось два процессора AMD EPYC 7513, Ampere Altra Q80-30 составляет конкуренцию процессору от AMD. На момент публикации, согласно внутренним бенчмаркам Selectel, этот процессор на втором месте по производительности после AMD EPYC 7742.

Тесты видеокарт

Не все из планируемых тестов графических процессоров удалось провести из-за особенности архитектуры ARM. Так, под aarch64 TensorFlow — довольно сложно собрать. Времени на подобную работу не было заложено в первую итерацию тестирования, поэтому мы отложили эту задачу на будущее. В итоге провести тест GPU через AI-Benchmark не удалось. 

Geekbench 5, в свою очередь, не поддерживает на данный момент бенчмарк CUDA и OpenCL GPU под aarch64. Здесь тоже без результатов. 

Зато результаты кодирования/декодирования через ffmpeg получены. 

Результаты декодирования видео

Мы хотели посмотреть, как проявят себя процессоры в данных конфигах. Также важно было выяснить, что уже работает «из коробки» — без допиливаний ПО.

Для тестов взяли наше эталонное видео в разрешении 4K размером 618 МБ.

Команда на выполнение декодирования: 

time ffmpeg -y -i input.mp4 -preset fast  -b:v 5M -profile:v high -bf 3  -rc-lookahead 20 -vsync 0 output.mp4
КонфигурацияFPSВремя
Ampere Altra Q80-30654m53.608s
2х AMD EPYC 7513953m20.599s

Краткий вывод: В данном тесте выиграл AMD — возможно из-за большего количества потоков (напомним, что их 128). Также не стоит забывать, что у него два сокета, а у ARM — один.

Стресс-тест процессора

Справочная информация по политикам работы процессора

Для стресс-теста ARM-процессора мы использовали несколько режимов политик работы процессора — ondemandperformance. Эти режимы есть и на х86-архитектурах.

Ondemand. Режим установлен по умолчанию. В нем — пошаговое повышение работы частоты CPU, в зависимости от нагрузки, а также напряжения CPU. Каждые 20~200 мс замеряется нагрузка на CPU, общая или системным пользователем. Если нагрузка на текущей частоте более 95%, частота повышается. Если менее 20% — частота понижается на один шаг. 

Например, если доступные частоты — 800-2000-3000 МГц, то при загрузке CPU на 95% частота переходит с 2000 на 3000 МГц. Частота замера, процент загрузки перехода для всех режимов выставляется при компиляции ядра.

Performance. Название режима говорит само за себя. В нем процессор выдает максимально доступную частоту, максимум своей производительности.

Существуют и иные режимы, в которых процессор ведет себя по-другому. Но мы их не тестировали, так как нам было важно изучить стабильную работу процессора и его максимальные возможности.

Возможные режимы работы процессора:

  • powersave — из названия можно догадаться, что это режим сохранения энергии: минимум производительности, максимум энергоэффективности.
  • shedutil — похож на ondemand, но умеет использовать данные планировщика задач CFS. За счет этого действует более разумно. Однако он не работает с отличными от CFS планировщиками — например, с muQSS Коливаса.
  • userspace — работа процессора на заданной пользователем частоте.
  • conservative — похож на режим ondemand, но показатель для перехода частоты процессора в большую или меньшую сторону ниже — обычно 20%. Например, доступно 500-1000-2000 МГц, работаем на 500 МГц. Нагрузка возросла на 30% — переходим на 1000 МГц.

Чтобы выставить режим, или политику, работы процессора в Ubuntu, используйте следующую команду:

#echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Результаты стресс-теста 

Результаты стресс-теста любопытные: температурные графики не менялись, хотя частота ядер в первом тесте была меньше, чем во втором

  • График сверху указывает на среднюю частоту среди ядер. 
  • Второй график показывает частоту на каждое ядро. 

Первый тест начался с 12:50 до 13:40 в режиме ondemand. Повторный стресс-тест — c 13:40 до 14:50 — в режиме performance. При этом энергопотребление не изменилось. Как можно увидеть, в режиме ondemand процессор работает не на максимум и скидывает частоту на некоторых ядрах.

Краткий вывод: Причин у такого поведения в режиме ondemand может несколько. Первый — процессор реально перегревается и дропает частоту на наиболее горячих ядрах. Второй — ARM настолько умный, что видит: ядро не утилизилируется и просто понижает частоту для экономии энергопотребления. 

Перед выбором конкретного режима использования процессора стоит оценить, для каких задач вы используете сервер. У каждого режима есть свои особенности, которые стоит учитывать.

Температурный режим и энергопотребление

Как уже показали графики, теплопакет во время стресс-теста процессор поддерживает очень хорошо. Изменение частоты работы процессора не влияет на показатели. 

Теперь — к заводским значениям температуры:

Энергопотребление процессора составило 150 Вт в пике стресс-теста при паспортном TDP — 210 Вт.

Краткий вывод: Показатели температур и энергоэффективности довольно комплиментарны для использования в дата-центрах. Но мы еще планируем перепроверять данные в других конфигах и сборках. Процессор новый для нас и требует более масштабной проверки. 

Заключение

Базовые тесты ARM-процессора Ampere Altra показали, что на данный момент этот CPU эффективнее с точки зрения электропотребления. Учитывая этот факт и цену процессора, он экономически выгоден для дата-центра. 

Для клиента же этот процессор — возможность оценить преимущества ARM-архитектуры в высокопроизводительных вычислениях. Кроме того, конфиг с новым ARM стоит дешевле, чем сборка со сравниваемым AMD EPYC. Это хорошее предложение, учитывая небольшую разницу в бенчмарках процессоров. 

Мы продолжим тесты новой платформы — в конкретных приложениях и задачах. Приглашаем к тестированию и вас. Сейчас вы можете оставить заявку в Selectel Lab и попробовать ARM-процессор в своих рабочих задачах.