Продолжаю тестировать процессоры. В этот раз моё внимание целиком и полностью переключилось с десктопных Core на серверные Xeon. Что, надо признаться, не случайно. Во-первых, меня об этом горячо просили в комментариях к прошлой статье, а во-вторых, наш парк пополнился свежими Xeon E — мы решили обновить линейку однопроцессорных выделенных серверов и прикупили E-2134 и E-2136 как альтернативу E3-12XX.
Изначально у меня были наполеоновские планы. Так как наша «коллекция» Xeon E3-12xyVz, где «z» принимает значение от 2 до 6, охватывает процессоры от Ivy Bridge до Kaby Lake, мне стало интересно сравнить их между собой и с новым семейством Xeon E.
Но оценив объём предстоящей работы, я решил понизить градус амбициозности и оставить из представителей Xeon E3 лишь два предыдущих семейства: Xeon E3-12xxV5 и Xeon E3-12xxV6. Вместе с новыми Xeon E все три семейства фактически построены на одной архитектуре, одном технологическом процессе и, спасибо Интелу, одном процессорном сокете FCLGA1151.
Более того! В наличии оказались процессоры из двух предыдущих семейств, пересекающиеся по базовой частоте и частоте в «бусте», что, на мой взгляд, большая удача :) В комментариях к предыдущей статье прозвучала просьба от читателей — сравнить разные семейства на одной частоте, чтобы увидеть чистый прирост микроархитектурных изменений. Идея показалась мне интересной и, возможно, когда-нибудь я вернусь к Core, чтобы воплотить её в жизнь. А пока решил адаптировать к тому, что есть под рукой, и посмотреть, как поведут себя Xeon с одинаковыми частотами.
Тестирование
В тестировании участвуют восемь процессоров из трёх семейств:
Skylake — Intel E3-1230v5, E3-1240v5, E3-1270v5,
Kaby Lake — E3-1230v6, E3-1240v6, E3-1270v6,
Coffee Lake — E-2134 и E-2136.
Тактико-технические характеристики платформ
Серверы с процессорами Intel E3-1230v5, E3-1240v5, E3-1270v5, E3-1230v6, E3-1240v6 и E3-1270v6 имеют одинаковую базовую конфигурацию:
- Материнская плата: Supermicro X11SSE-F (2.2 BIOS).
- Оперативная память: 16 Гб Micron Technology (DDR4-2666) ECC — 2 штуки.
- SSD-накопитель: Intel DC S4500 480 Гб — 2 штуки в RAID1.
Серверы с процессорами Intel E-2134 и E-2136 также работают на одинаковой платформе:
- Материнская плата: Supermicro X11SCE-F (BIOS 1.0a).
- Оперативная память: 16 Гб Micron Technology (DDR4-2666) ECC — 2 штуки.
- SSD-накопитель: Intel DC S4500 480 Гб — 2 штуки в RAID1.
Программная часть: ОС CentOS Linux 7 x86_64 (7.6.1810)
Ядро: 3.10.0-957.5.1.el7.x86_64
Внесённые оптимизации относительно штатной установки: добавлены опции запуска ядра elevator=noop selinux=0.
Тестирование производится со всеми патчами от уязвимостей Spectre, Meltdown и Foreshadow, бэкпортироваными в данное ядро.
Тесты, которые использовал для исследования:
- Sysbench
- Geekbench
- Phoronix Test Suite
Более подробное описание тестов можно найти в предыдущей статье. Взял тот же набор плюс Timed GCC Compilation, который добавил по просьбам читателей. А пока кратко о том, что и чем замерял.
Тест Sysbench
Тест многопоточный, во все ядра. Замерял один показатель — CPU speed events per second, который означает количество выполненных процессором операций за секунду — чем выше значение, тем производительнее система.
Тест Geekbench
Измерял два основных показателя, построенных на результатах нескольких тестов: Single-Core Score и Multi-Core Score, — одно- и многопоточные тесты. Единицы измерения — абстрактные «попугаи». Чем больше «попугаев», тем лучше.
Тест Phoronix Test Suite
Из большого набора взял только 10 — те же, что и в прошлый раз — и к ним, как я уже говорил выше, добавил Timed GCC Compilation. В итоге получилось 8 многопоточных тестов и 2 однопоточных (Himeno и LAME MP3 Encoding).
В этих тестах чем показатель больше, тем лучше
- Тест John the Ripper для подбора паролей. Возьмём криптоалгоритм Blowfish.
- Тест Himeno — линейный решатель давления Пуассона, использующий точечный метод Якоби.
- 7-Zip Compression — тест 7-Zip с использованием p7zip с интегрированной функцией тестирования производительности.
- OpenSSL — это набор инструментов, реализующих протоколы SSL (Secure Sockets Layer) и TLS (Transport Layer Security). Измеряет производительность RSA 4096-бит OpenSSL.
- Apache Benchmark — измеряет, сколько запросов в секунду может выдержать данная система при выполнении 1 000 000 запросов, при этом 100 запросов выполняются одновременно. Единицы измерения — запросы в секунду.
А в этих если меньше, то лучше — во всех тестах измеряется время его прохождения.
- C-Ray тестирует производительность CPU на вычислениях с числами с плавающей запятой. Это многопоточный тест (16 потоков на ядро).
- Parallel BZIP2 Compression — измеряет время сжатия файла (пакет .tar исходного кода ядра Linux) с использованием сжатия BZIP2.
- Тест LAME MP3 Encoding выполняется в один поток.
- Тест ffmpeg x264 — многопоточный.
- Timed GCC Compilation. В первой моей статье в комментариях читатели просили добавить тест, связанный с компиляцией из исходников. Этот тест именно для вас :-) Он показывает, сколько времени занимает сборка компилятора GNU GCC (версия 8.2.0). Единицы измерения — секунды.
Итак, я собрал на одном тестовом стенде представителей трёх семейств — Skylake, Kaby Lake и Coffee Lake. У всех процессоров, кроме нового E-2136, по четыре ядра и восемь потоков в HT, а также одинаковый суммарный объём кэш-памяти. Все процессоры имеют двухканальную память с поддержкой ECC и близкие базовые частоты. Как и в предыдущей статье, обращаю внимание, что процессоры трёх разных семейств построены на одной архитектуре. Соответветственно, «балом должны править частоты, ядра и потоки».
Но в этот раз будет ещё интереснее: у всех этих семейств разные поддерживаемые частоты при работе с оперативной памятью — 2133, 2400 и 2666 соответственно, а также разный теплопакет. Любопытно посмотреть, как это повлияет на результаты тестов и повлияет ли вообще. Конечно, предполагаю, что чем выше частота работы с ОЗУ, тем лучше процессор будет проходить тесты.
Особый интерес вызывают E3-1240v5 и E3-1230v6 с одинаковыми частотами: базовой 3,50 ГГц и 3,90 ГГц в Турбобусте. Предполагаю, что они должны показать идентичные или близкие результаты, так как отличаются только теплопакетом и частотой памяти.
Что же касается моих прогнозов относительно Xeon E, думаю, что результаты однопоточных тестов E-2134 и E-2136, также должны быть одинаковыми или очень близкими по показателям — хоть базовая частота и отличается, но частоты в «бусте» у них совпадают. Ну и конечно результаты обоих Xeon E, я уверен, будут лучше их предшественников: 4.5 ГГц на максималках и 6 ядер у E-2136 однозначно себя покажут. А теперь «будем посмотреть», насколько я окажусь прав.
Результаты тестов
В тесте Sysbench E3-1240v5 и E3-1270v5 идут вровень. С E3-1230v6 начинается рост, который заканчивается резким взлётом Е-2136. E-2136 на 36% лучше в данном тесте, чем E3-1270v6, и на 43%, чем E3-1230v5. E-2134 всего на 4% обгоняет E3-1270v6 и на 14% E3-1230v5. Разница у E3-1240v5 и E3-1230v6 на 2,4% в пользу E3-1230v6.
В однопоточном тесте Geekbench наблюдается рост в пределах каждого семейства, за исключением семейства Xeon E: E-2134 обгоняет E-2136 на 4,5%.
В многопоточном тесте тенденция роста сохраняется во всех трёх семействах: E-2136 на 14,6% обгоняет E-2134. В однопоточном тесте E3-1240v5, E3-1270v5 и E3-1230v6 идут вровень, а в многопоточном E3-1230v6 обгоняет E3-1240v5 на 2,5%
Ссылки на результаты тестов Geekbench:
Xeon E3-1230v5
Xeon E3-1240v5
Xeon E3-1270v5
Xeon E3-1230v6
Xeon E3-1240v6
Xeon E3-1270v6
Xeon E-2134
Xeon E-2136
Результаты многопоточного John The Ripper очень похожи на результаты теста Sysbench: E3-1240v5, E3-1270v5 и E3-1230v6 выдают почти одинаковые показатели и E-2136 на 33% быстрее, чем E-2134. Хорошо виден стабильный прирост в показателях E3-1240v6, E3-1270v6 и переход на следующее поколение — E-2134.
В тесте C-ray самый высокий результат у E-2136, самый низкий — у E3-1230v5, что вполне логично хронологически. Второе место у новинки E-2134. А вот E3-1240v5, E3-1270v5 и E3-1230v6 опять идут вровень.
Однопоточный тест Himeno почти в точности повторяет результаты однопоточного теста Geekbench: наблюдается рост в пределах каждого семейства, за исключением Xeon E: E-2134 обгоняет E-2136 на 2,4%. Разница между E3-1240v5, E3-1270v5 и E3-1230v6 на уровне погрешности.
В тесте 7zip наблюдаем красивую «лестницу» и рост во всех семействах. Разница между E3-1240v5, E3-1270v5 на уровне погрешности. E3-1230v6 почти на 4% лучше проходит этот тест, чем E3-1240v5. E-2134 на 21% опережает E3-1230v5, на 16% — E3-1270v5 и на 6,6% — E3-1270v6. А E-2136 — лучше всех :-)
Аналогичная тенденция наблюдается в тесте pbzip2, выбивается лишь E3-1230v6.
Хотелось бы сказать, что тест mp3 показывает равномерную «лестницу вниз», но разница даже между крайними в графике E3-1230v5 и E-2136 всего 9,5%, так что называть это «лестницей» не очень-то правильно. Тем более, что E3-1230v6 вносит свои коррективы, а E3-1240v5 и E3-1270v5 только добавляют графику пологости.
В многопоточном тесте ffmpeg «лестница вниз» уже без всплесков и с почти ровной площадкой в районе E3-1240v5, E3-1270v5 и E3-1230v6. E-2136 в этом тесте лучше E-2134 на 19%, E3-1230v5 на 32%, E3-1270v5 на 29% и E3-1270v6 на 22%.
Тест OpenSSL показывает «лестницу вверх» с площадкой на E3-1240v5, E3-1270v5, E3-1230v6 и заметным отрывом на E-2136. E-2134 на 14% лучше E3-1230v5.
E-2136 на 43% опережает E3-1230v5, на 36% — E3-1270v6 и на 33% — E-2134.
В тесте Apache разница между процессорами семейства V5 минимальна. В семействе V6 «лестница вверх»: E3-1270v6 на 8,8% лучше, чем E3-1230v6. Семейство Xeon E продолжает тенденцию роста и добавляет «ступеней»: E-2136 на 3% обгоняет E-2134, на 8% опережает E3-1270v6 и на 22% — E3-1270v5. Разница между первым представителем V5 и новым E-2136 составляет 24%. E3-1240v5 и E3-1270v5 на уровне погрешности. Заметный скачок на переходе от семейства V5 к V6: разница между E3-1230v6 и E3-1240v5 в 7%.
В тесте на время компиляции GCC последнее место у E3-1230v5, предпоследнее место делят между собой E3-1240v5 и E3-1270v5. Победа остаётся за шестиядерным E-2136.
Если в предыдущей статье, где тестировал Core, я писал, что не удивлён результатами — они были предсказуемы, то и в этот раз не удивлён :-)
Но сначала немного предыстории.
Надо сказать, что все тесты для E3-1230v6 мне пришлось переделать. И все из-за того, что в первый раз я допустил ошибку — представитель из семейства V6 прошёл тестовый полигон с ОЗУ в одноканальном режиме. В итоге вложенный индекс в тесте Geekbench — Memory Score, получился ниже, чем у E3-1240v5, что сильно повлияло на общий результат всего теста. E3-1240v5 по показателям значительно обгонял E3-1230v6.
Аналогичная картина нарисовалась во всех однопоточных тестах. Долго морщил мозг, чтобы дать хоть сколько-нибудь внятное объяснение сложившейся ситуации (и даже нашёл его!), пока не протёр глаза и не переделал все тесты, но уже с двухканальной памятью. А теперь к выводам.
Ожидания vs реальность
Первое, что я ожидал увидеть, так это одинаковые показатели у E3-1240v5 и E3-1230v6. И увидел. Во всех тестах, кроме mp3 и pbzip2, E3-1230v6 лучше или равен E3-1240v5. Лично я не считаю, что это чистый прирост микроархитектуры. Скорее всего, такой результат получается за счёт большей тактовой частоты оперативной памяти. Одно могу сказать точно: память в одном канале существенно влияет на результаты в тестах, так что будьте внимательны :)
Вторая моя гипотеза касалась двух представителей семейства V5 — E3-1240v5 и E3-1270v5. Честно говоря, надеялся обнаружить между ними хотя бы небольшую разницу, но по итогам тестирования она оказалась никакая от слова совсем. Влияние дополнительных 100 MHz приходится искать под микроскопом в подавляющем большинстве тестов.
При этом те же 100 MHz вполне видны невооружённым глазом при сравнении E3-1270v5 и E3-1240v6. Полагаю, опять же, сказываются частоты памяти.
Переходим к свежим Xeon E. Я был совершенно не готов к тому, что в однопоточных тестах E-2136 будет уступать E-2134. Хоть базовая частота у старшей модели и ниже на 200 MHz, но частота в «бусте» у них одинаковая. Я повторил каждый тест по несколько раз с каждым процессором, чтобы получить ожидаемый мной результат, но достичь его так и не смог :) Очень не люблю делать выводы и заключения, поэтому с удовольствием узнал бы мнения уважаемых читателей: с чем могут быть связаны такие необычные результаты?
Вот где ожидания совпали с реальностью, так это при сравнении нового семейства Xeon E с предшественниками — тут прогнозы, что новые Е обойдут старых добрых Е3 просто подтвердились тестами. И если четырёхъядерный E-2134 делает это за счёт более высокой частоты в «бусте», то E-2136 ещё сильнее отрывается за счёт своих честных шести ядер.
В целом, картина получилась следующая. Новые Xeon E действительно можно рассматривать как хорошую альтернативу семейству Е3. Тем более, что стоят они почти столько же, сколько V6 — производительность выше за те же деньги. Если же ищете более бюджетный вариант, то можно смело выбирать из тройки E3-1240v5, E3-1270v5 и E3-1230v6. По результатам тестов, они оказались вполне взаимозаменяемыми.
В тестировании использовались серверы на базе процессоров Intel Xeon E3-1230v5, E3-1240v5, E3-1270v5, E3-1230v6, E3-1240v6, E3-1270v6, E-2134 и E-2136 с 1dedic.ru.
До 1 мая серверы с новыми Xeon E можно заказать со скидкой 25% на 1 месяц по промокоду XEONE_HABR. Промокод сгорит в полночь 30 апреля 2019 года.
Для любого выделенного сервера скидка 10% при оплате за год.
Для вас тестировал и писал Trashwind, системный администратор FirstDEDIC.
Комментарии (17)
trashwind Автор
12.04.2019 12:29Вы можете не согласиться, но :-)
grep MHz /proc/cpuinfo
cpu MHz: 4979.003
cpu MHz: 4956.152
cpu MHz: 4898.583
cpu MHz: 4998.999
cpu MHz: 4979.443
cpu MHz: 5000.097
cpu MHz: 5000.976
cpu MHz: 5000.097
cpu MHz: 4897.924
cpu MHz: 4509.667
cpu MHz: 4898.583
cpu MHz: 4904.516
cpu MHz: 4899.902
cpu MHz: 4880.786
cpu MHz: 4802.563
cpu MHz: 4789.160
Это i9-9900k из предыдущей статьи
Базовая у него 3,6, буст — 5,0. В таком режиме он проходит стресс-тест у нас уже неделю.
Все тесты процессоры проходят в TB. На страничках Geekbench, например, указана частота из TB. Возможно, если вы выставите гувернёра в перфоманс, и охлаждение позволит, и у вас он выйдет на максимум.izyk
12.04.2019 12:56В федоре29 на ноуте частота, при 100% загрузке всех ядер, ушла даже ниже базовой. Охлаждение ни к чёрту.
Intel:
Какие факторы влияют на работу технологии Intel® Turbo Boost?
Работа технологии зависит от запаса мощности, существующего в одном или нескольких ядрах. Время работы системы в режиме Turbo Boost зависит от рабочей нагрузки, условий эксплуатации и конструкции платформы.
Значит на какой максимальной частоте при 100% загрузке будет работать процессор, зависит от охлаждения… Не знал, спасибо, думал что на базовой, а на деле, от мат. платы, питания, вентиляторов зависит. Я для тестов https://www.mersenne.org/download/ пользую.trashwind Автор
12.04.2019 12:59Всегда пожалуйста :-)
izyk
12.04.2019 16:13Всё разобрался.
Максимальная частота при нагрузке меняется в зависимости от количества загруженных ядер. При загрузке только одного, действительно, оно должно работать на максимальной частоте TurboBoost. Собственно Intel это так и объясняет:
Max turbo frequency is the maximum single core frequency at which the processor is capable of operating using Intel® Turbo Boost Technology and, if present, Intel® Thermal Velocity Boost. Frequency is measured in gigahertz (GHz), or billion cycles per second.
А вот если подключаются ещё ядра, то максимальная частота TurboBoost должна снижаться. И будет где то между базовой и TurboBoost. Более менее внятный источник этой информации Вот (Upper limit based on active core count).
А насчёт i9-9900k — это исключение, Intel слукавил, он как-бы разогнан. Вот статья про это.
Спасибо, ещё раз.# cpupower frequency-info analyzing CPU 0: driver: intel_pstate CPUs which run at the same hardware frequency: 0 CPUs which need to have their frequency coordinated by software: 0 maximum transition latency: Cannot determine or is not supported. hardware limits: 1.60 GHz - 3.50 GHz available cpufreq governors: performance powersave current policy: frequency should be within 1.60 GHz and 3.50 GHz. The governor "performance" may decide which speed to use within this range. current CPU frequency: 3.50 GHz (asserted by call to hardware) boost state support: Supported: yes Active: yes 3300 MHz max turbo 4 active cores 3400 MHz max turbo 3 active cores 3500 MHz max turbo 2 active cores 3500 MHz max turbo 1 active cores
izyk
Очевидно же, «буст» не работает, на любом более менее длинном временном отрезке с загруженностью 100 процентов, даже на одном ядре. Только на коротких промежутках, рискну предположить, до одной секунды.
trashwind Автор
Думаю, что не понял вас про временные отрезки. Тест Geekbench — очень быстрый по времени тест.
izyk
Значит не достаточно быстрый, чтобы технология «буст» повлияла на результаты. Посмотрите на графики, там как раз эти 200 MHz.
Например, я взял однопоточный Geekbench:
6008/3,5*3,3=5665, а у вас в таблице 5739 чуть выше, за счет turbo boost IMHO.
trashwind Автор
Да, хороший вариант, но нет. На тесте mp3, достаточно долгом тесте, буст работает: результаты одинаковые у E2134 и E2136. На тесте Himeno то же самое. Больше ясности дают вложенные тесты Geekbench, ссылки на которые есть в статье.
izyk
Я не знаю, что делают эти тесты mp3, Himeno, но может они оба в память упираются, а не в частоту процессора. А память у них одинаковая.
trashwind Автор
Посмотрите Memory Score в тесте Geekbench у этих процессоров.
izyk
Я чего то, не понял. Как раз «буст» и не работат. А почему mp3 подругому? Надо посмотреть.
trashwind Автор
Вы видите что Memory Score у Е-2434 на 40% лучше чем у Е-2436?
izyk
А при чём тут память в однопоточных Geekbench и Himeno? Вы же видите, что в этих тестах, базовая частота повлияла на результаты, а память как раз нет. А в mp3, не зная не разбирался. В принципе, я просто предположил, если вы считаете по другому, хорошо, я не настаиваю. Шайтан машина :)
trashwind Автор
В том то и дело что повлияла не частота, а память. Я вижу что что-то повлияло. Не обязательно что базовая частота. Анализирую вложенные тесты, нахожу серьёзный разрыв в одном из них. При формирование общего балла в тесте Geekbench в однопоточном режиме значение Memory Score сильно влияет на результат. В тесте многопоточном цифра у Memory Score такая же, а влияние значительно меньше на конечный балл. Грубо говоря там берутся четыре позиции Score, суммируются и делиться на 3,6-3,8. А в тесте Himeno разница в 2,45%. Из-за принципа формирования общего балла Geekbench я и делаю много других тестов. Если вы обратите внимание, в тексте я пишу о том, что были проблемы с тестами у E3-1230v6. Так вот там расхождение в Memory Score было так же примерно в 40%. Вывод напрашивается сам собой :-)
izyk
Офтопик, можно, пожалуйста. Я чего то не понимаю. У меня вот какой результат от разных комманд.
Все 4 процессора загружены на 100%. Почему «cat /proc/cpuinfo» показывает 3.3 GHz, хотя на мой взгляд должно быть 3.1 GHz — базовая частота cpu. Только dmidecode показывает верно, но почему-то turbo у dmidecode 4 GHz, вместо 3.5. А я им верил. Больше всего интересно почему 3.3 GHz под нагрузкой, вместо 3.1?
Спасибо.
trashwind Автор
Ещё к это выкладке хорошо бы увидеть вывод cpupower frequency-info | grep driver, а лучше весь cpupower frequency-info, — нужно знать какой гувернёр. И uname -a. Ну и при 100% загрузке без дополнительных ограничений процессор должен работать в бусте. Например, у нас есть один кластер, ноды в котором на постоянной основе работают в TB. Вывод же dmidecode для меня загадка :-)
izyk
Проверил ещё один сервер, там тоже самое при 100% 3.4 вместо базовой 3.3, тут процессор CPU E3-1225 v5 @ 3.30GHz. ОС CentOS7.
И там и там
Вот тут не соглашусь, он должен работать как раз на базовой частоте, все ядра загружены на 100%. Но по факту, утилиты показывают нечто среднее, между базовой и турбо буст. Вот это непонятно, от слова совсем. Может баг какой сейчас в Fedora 29 ноут перегружу проверю на нёй.