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

Под крышкой Ampere Altra — 80 ядер с частотой 3.0 ГГц при TDP в 210 Вт. Подобных характеристик не предлагает ни один крупный вендор. Но какую производительность это дает на практике? В тексте — результаты сравнения процессора с AMD EPYC и выводы о потенциале такого решения для дата-центров. С фото!

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

Привет! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. Недавно взял на тест сервер GIGABYTE E252-P30 с 80-ядерным процессором Ampere Altra Q80-30. И решил сравнить его с наиболее близким по характеристикам AMD EPYC 7513. В тексте делюсь основными результатами и приглашаю протестировать процессор бесплатно.

Используйте навигацию, если не хотите читать текст целиком. Главные результаты тестов описаны в выводах.

Почему взяли ARM-процессор на тест?

Ранее в дата-центрах Selectel уже были представители семейства ARM — так, у нас есть серверы с «малинками» и процессорами M1. Но полноценно серверных ARM еще не было, хотя архитектура многообещающая. Например, Ampere Altra Q80-30 показывает хорошие результаты в высокопроизводительных вычислениях и при создании облачных платформ.

Арендуйте выделенный сервер с ARM-процессором (Ampere Altra Max M128-30 3 ГГц, 128 ядер) или протестируйте бесплатно в Selectel Lab (на тесте — 80-ядерный процессор).

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

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

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

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

Кроме самого процессора, в тестовую конфигурацию входят:

  • материнская плата GIGABYTE MP32-AR1-00,
  • 16 плашек ОЗУ по 16 ГБ (Micron DDR4 3200 МГц ECC),
  • 2 SSD-накопителя Micron_5300 на 480 ГБ,
  • NVMe-диск на 1 ТБ M.2 SSD (GIGABYTE GP-AG41TB).

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

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

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

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

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

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

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

Сформировали следующий чек-лист для тестирования:

  1. С помощью AI-Benchmark проверить скорость, энергопотребление и требования к памяти для ключевых алгоритмов искусственного интеллекта.
  2. Сделать тесты в Geekbench5.
  3. Провести классический стресс-тест видеокарты с помощью gpu-burn.
  4. Оценить показатели скорости кодирования и декодирования видео через программу ffmpeg NVENC.

  5. Протестировать в связке с CUDA Toolkit.
  6. Оценить энергопотребление и температурный режим — для получения нужных графиков мы использовали Grafana и Prometheus.

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

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

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

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

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

ARM-архитектура поддерживает 24 дистрибутива, мы в Selectel предоставляем четыре из них — Astra Linux, Debian, CentOS и Ubuntu. В методиках испытаний использовали Ubuntu 22.04.01 LTS 5.15.0-50-generic aarch64 — это наиболее свежий дистрибутив под архитектуру aarch64.

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

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

Переходим к результатам тестирования.

Результаты Geekbench5

В целом, процессор Ampere Altra близок по характеристикам к флагманскому AMD EPYC.

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

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

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

<p>Результат в режиме Multi-core.</p>

Результат в режиме Multi-core.

Видно, что ARM-процессор сильно «выбивается» вперед по всем критериям. Особенно это заметно в параметрах, которые касаются параллелизации.

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

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

В однопоточном режиме процессор выдает не самые высокие результаты, но они «ушли» не так далеко от AMD EPYC. Зато в многопоточном Ampere Altra лидирует. Даже несмотря на то, что мы использовали два процессора AMD EPYC 7513. На момент публикации, согласно внутренним бенчмаркам Selectel, Ampere Altra на втором месте по производительности после AMD EPYC 7742.

Тестирование GPU

Не все из планируемых тестов графических процессоров удалось провести из-за особенности архитектуры 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-loo

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

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

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

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

Ondemand

Режим установлен по умолчанию. Он отвечает за пошаговое повышение работы частоты и напряжения 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 Вт.

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

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

Выводы

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

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

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

Подпишитесь на блог Selectel, чтобы не пропустить обзоры, новости, кейсы и полезные гайды из мира IT.

Читайте также:

2727
14 комментариев

Прочел статью и поймал себя на мысли, что ощущения, как 15 лет назад, когда отыскивал 200 рублей что бы добыть себе журнал «хакер», читал его, не понимая половину, но было до жути интересно:)
За это спасибо!

8

Спасибо за комментарий 🙂
Рады, что вы смогли найти для себя что-то неизведанное и интересное!

1

Очень хорошие показатели получились!

2

и очень много обещающие, думаю скоро все на такое перейдут

PAC-MAN потянет?

1

Спасибо, держите вкурсе

1