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

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

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

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

Обычно вендоры выпускают новые процессоры сразу линейками, но мы четко знаем, чего мы хотим. Вот так и случилось: недавно корпорация 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 6140 Xeon® Gold 6240 Xeon® Gold 6240R
Количество ядер 18 18 24
Количество потоков 36 36 48
Базовая частота, ГГц 2.30 2.60 2.40
Максимальная частота в режиме Turbo Boost, ГГц 3.70 3.90 4.00
Размер L3-кэша 24.75 24.75 35.75
Количество UPI-линий 3 3 2
TDP, Ватт 140 150 165
 

Изменения 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 6140 Xeon® Gold 6240 Xeon® Gold 6240R
SPECspeed2017_int_base 9.08 10.3 10.3
SPECspeed2017_fp_base 110.0 132.0 149.0
SPECrate2017_int_base 197.0 230.5 274.0
SPECrate2017_fp_base 186.0 209.5 241.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 6240 Xeon® Gold 6240R
Single-Core Score 1044 1089
Single-Core Crypto Score 1442 1456
Single-Core Integer Score 998 1055
Single-Core Floating Point Score 1077 1100
Multi-Core Score 26203 31262
Multi-Core Crypto Score 26554 26920
Multi-Core Integer Score 26214 31639
Multi-Core Floating Point Score 26121 31170
 

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

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

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

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


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

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

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

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

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

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

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

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

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

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