Будни «алхимика» - Академия Selectel

Будни «алхимика»

Владимир Туров
Владимир Туров Разработчик
19 мая 2020

Сравнение производительности серверов — сложная тема, вызывающая множество споров о том, как проводить сравнение «правильно». В этой статье мы расскажем про путь, который проходят процессоры, прежде чем попадают в наши услуги. Современные серверы состоят из множества комплектующих, каждая из которых требует собственного, уникального подхода. Не являются исключением и серверные процессоры, о которых и пойдет речь […]

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

Сравнение производительности серверов — сложная тема, вызывающая множество споров о том, как проводить сравнение «правильно». В этой статье мы расскажем про путь, который проходят процессоры, прежде чем попадают в наши услуги.

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

Новинка в руках

Обычно вендоры выпускают новые процессоры сразу линейками, но мы четко знаем, чего мы хотим. Вот так и случилось: недавно корпорация Intel выпустила обновление под кодовым названием Cascade Lake Refresh. Линейка содержит 14 процессоров, но нас интересуют лишь три их них:

  • Intel® Xeon® Gold 6240R;
  • Intel® Xeon® Gold 5218R;
  • Intel® Xeon® Silver 4214R.
«Золото» статьи — Intel® Xeon® Gold 6240R

Интерес именно к этим моделям легко обосновать: мы успешно использовали их предшественников:

  • Intel® Xeon® Silver 4114;
  • Intel® Xeon® Silver 4214;
  • Intel® Xeon® Gold 6140;
  • Intel® Xeon® Gold 6240;
  • Intel® Xeon® Gold 5218.

В некоторых случаях вендоры выпускают нечто абсолютно новое, даже не раскрывая названия, и рассылают своим партнерам инженерные образцы таких комплектующих с пометкой Confidential.

Он пожелал остаться инкогнито

В первую очередь процессоры проходят проверку на совместимость с доступными у нас материнскими платами, так как материнские платы могут некорректно работать с неизвестными им процессорами. К счастью, вендоры тесно сотрудничают с производителями материнских плат, что позволяет заблаговременно выпускать обновления BIOS, добавляющие поддержку микрокодов новых процессоров. Поскольку существует тенденция увеличения тепловыделения, вследствие повышения вычислительной мощности процессора, мы внимательно проверяем ещё и тепловой режим при тестировании.

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

Данные по техническим характеристикам процессоров Intel общедоступны и есть на ресурсе ark.intel.com
ХарактеристикаXeon® Gold 6140Xeon® Gold 6240Xeon® Gold 6240R
Количество ядер181824
Количество потоков363648
Базовая частота, ГГц2.302.602.40
Максимальная частота в режиме Turbo Boost, ГГц3.703.904.00
Размер L3-кэша24.7524.7535.75
Количество UPI-линий332
TDP, Ватт140150165

Изменения 6240R по сравнению со своими предшественниками очевидны: повышенная частота в режиме Turbo Boost, больше ядер, больше кэша и как следствие — большее тепловыделение. Важно отметить, что процессоры Cascade Lake Refresh, в отличие от своих предшественников, не поддерживаются в четырехсокетных системах.

Теперь можно приступить к практическим тестам производительности.

«Тяжелая артиллерия»

Изначально для демонстрации разницы в производительности мы использовали известный SPEC CPU 2017. Тесты SPEC CPU де-факто стандарт в области измерения производительности. Большинство производителей процессоров в своих презентациях ссылаются на результаты, полученные с помощью этого набора тестов.

Все тесты SPEC CPU собираются из исходных кодов под конкретного «испытуемого», более того, использование оптимизирующих компиляторов, таких как Intel® C++ Compiler (icc) и AMD Optimizing C/C++ Compiler (AOCC) не возбраняется, а скорее приветствуется. Такой подход позволяет сравнивать процессоры разных архитектур, используя всю мощь процессора и сопутствующих инструментов.

Организация SPEC позволяет размещать результаты тестирования на специальной странице. Нас интересовали двухсокетные серверы с «золотом». По нашим запросам нашлось:

  • 38 результатов для процессора Xeon® Gold 6240R;
  • 55 результатов для Xeon® Gold 6240;
  • 116 результатов для Xeon® Gold 6140.

Медианные значения по каждому тесту приведены в таблице ниже:

ТестXeon® Gold 6140Xeon® Gold 6240Xeon® Gold 6240R
SPECspeed2017_int_base9.0810.310.3
SPECspeed2017_fp_base110.0132.0149.0
SPECrate2017_int_base197.0230.5274.0
SPECrate2017_fp_base186.0209.5241.0

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

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

Минималистичный подход

Существуют не менее популярные программы для измерения производительности, которые может и не стали стандартом, но завоевали определенную известность. Речь идет о PassMark Performance Test и GeekBench.

GeekBench (на момент выхода статьи актуальна версия 5) специализируется на измерении производительности процессоров и имеет открытую рейтинговую таблицу, в которой можно посмотреть собственные результаты и сравнить с другими. В отличие от SPEC CPU, GeekBench, помимо вычисления в целых числах и с плавающей точкой, проводит криптографические вычисления, задействующие специальные процессорные инструкции.

Реализована поддержка трех популярных семейств операционных систем на архитектуре x86_64: Windows, Linux и MacOS X. Также GeekBench запускается на устройствах с архитектурой ARM, но только на Android и iOS, что исключает возможность запуска на серверах с такой архитектурой.

Результаты тестирования предоставляются в баллах относительно эталона. В GeekBench 5 эталоном был выбран Intel Core i3-8100, чей результат был принят за 1000 баллов. Если процессор набирает 2000 баллов, это значит, что он вдвое мощнее эталона.

Альтернативой GeekBench мы выбрали PassMark PerformanceTest. Несмотря на то, что PerformanceTest адаптирован только для ОС Windows, он имеет более широкий профиль и тестирует не только CPU, но и оперативную память, диск и графический ускоритель, если такой есть в системе.

Основным отличием GeekBench и PerformanceTest является распространение в виде исполняемых файлов. Такие тесты похожи на программное обеспечение с закрытым исходным кодом, которое может быть иметь только общие оптимизации и не поддерживать новые возможности процессора.

Рассмотрим результаты тестирования с помощью GeekBench 5, которые приведены в таблице.

ПоказательXeon® Gold 6240Xeon® Gold 6240R
Single-Core Score10441089
Single-Core Crypto Score14421456
Single-Core Integer Score9981055
Single-Core Floating Point Score10771100
Multi-Core Score2620331262
Multi-Core Crypto Score2655426920
Multi-Core Integer Score2621431639
Multi-Core Floating Point Score2612131170

В сравнении с результатами SPEC CPU, GeekBench показывает более заметную разницу в целочисленных вычислениях. Тем не менее, превосходство Cascade Lake Refresh осталось неоспоримо.

«Реальные» задачи

Некоторые специалисты скептически относятся к измерению производительности бенчмарками. «Синтетика! Не показательно!» — говорят они, и по-своему правы. Специалисты IT-компаний рассматривают новые процессоры исключительно в контексте своих собственных систем. При этом предъявляются требования не только к вычислительной мощности процессора, но и к взаимодействию с оперативной памятью и периферией.

Разнообразие программных продуктов, используемых в IT-сфере огромно, и каждый из них имеет множество настроек. Подготовка огромного количества тестов занимает непозволительно много времени, а также дает возможность опытным специалистам высказать свое недовольство конфигурацией теста.

Новое оборудование предоставляется на тест специалистам в рамках проекта Selectel LAB, что позволяет специалистам провести собственное независимое тестирование на любых задачах.

Мы выбрали несколько задач, которые позволяют оценить производительность как процессора, так и севера целиком. Вот список:

  • компиляция проекта LLVM с агрессивной оптимизацией;
  • вычисление миллиона знаков после запятой числа π;
  • перекодирование видео с помощью ffmpeg.

Проект LLVM состоит из множества сложных программ, поэтому процесс компиляции всех программ проекта отлично параллелится даже на мощных серверах. В наших тестах мы используем SSD-диски в качестве хранилища и 12 плашек DDR4-2666 оперативной памяти.

ТестXeon® Gold 6240Xeon® Gold 6240R
Вычисление числа π3m 20.559s3m 16.246s
Перекодирование видео с помощью ffmpeg0m 46.646s0m 46.634s
Компиляция проекта LLVM с агрессивной оптимизацией15m 35.933s15m 0.370s

Практические испытания подтверждают результаты ранее проведенных «синтетических» тестов. Компиляция программ проекта LLVM выполняется параллельно, поэтому увеличение количества ядер ожидаемо ускоряет процесс. Вычисление числа π использует только один поток, и в этом тесте можно увидеть небольшой прирост скорости, связанный с увеличением максимальной частоты процессора.

Перекодирование видео — менее тривиальная задача, которая вычисляется параллельно на усмотрение самого приложения ffmpeg. Столь незначительная разница между процессорами объясняется особенностью ПО.

Вместо заключения

Прогресс не стоит на месте и обновление линейки Cascade Lake было вполне ожидаемым событием. Проведенное нами тестирование показало, что рост количества ядер, увеличение кэша L3 и увеличенная тактовая частота благоприятно сказались на общей производительности процессора и позволили ему достойно справиться как с «синтетикой», так и с задачами, приближенными к реальным условиям.

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