Главная » Железо » Новая статья: Intel Xeon Broadwell vs. Skylake: жизнь после Spectre

Новая статья: Intel Xeon Broadwell vs. Skylake: жизнь после Spectre

Вместо предисловия

На предварительную подготовку и получение доступа к серверам суммарно был потрачен не один месяц. Честно говоря, с тестами серверных процессоров у нас с самого начала как-то не заладилось. Правда, грядущие патчи по умолчанию будут отключены, так как уже имеющаяся защита от первых версий этих же уязвимостей значительно усложняет использование новой. И… уже во время тестирования пришла «замечательная» весть о четвёртом варианте уязвимости класса Spectre/Meltdown. Мало того, в тот момент, когда пишутся эти строки, в интернете уже гуляют слухи об очередной уязвимости в CPU Intel.

Опять-таки не вдаваясь в подробности, напомним, что этот класс уязвимостей позволяет при некоторых манипуляциях на современных процессорах получить несанкционированный доступ к данным. Совсем коротко и на понятном языке про Spectre и Meltdown рассказано в этом материале. Несмотря на то, что в «дикой природе» так до сих пор и не было выявлено ни одного массового зловреда, использующего такой тип атак, это не значит, что защищаться от них не следует.

Однако для полной защиты требуется наличие обновления в первую очередь микрокода процессоров. Базовую защиту обеспечивают программные патчи в ядре, которые уже почти полгода как получили все популярные ОС. А это уже выливается в снижение производительности в той или иной степени. Побочный эффект от этого выражается в том, что появляются дополнительные проверки и задержки в работе CPU. При этом эффект для CPU неодинаков: более современные модели за счёт новых инструкций и особенностей страдают от таких патчей в меньшей степени.

Так что с начала этого года мы вынуждены жить с различными заплатками против уязвимостей. Для серверов, которые чаще всего заняты обработкой важных данных, эти патчи жизненно необходимы. Пока что таковых нет, но уже сейчас есть смысл посмотреть на производительность CPU после патчей прошивок и микрокода, а также обновить методику тестирования серверных компонентов. В каком-то смысле это новая эпоха, потому что и все последующие модели CPU будут содержать изменения на аппаратном уровне, направленные на избавление от уязвимостей в механизмах предсказания ветвлений.

Конфигурация

Две как можно более близкие конфигурации с процессорами разных поколений, которые, в свою очередь, тоже должны быть по возможности близкими. Итак, что нам нужно? Точнее, к чему нам дали доступ? Что у нас получилось? Обе платы имели последний стабильный на момент написания материала вариант прошивки с патчами — для микрокода — против Spectre/Meltdown v. К двум двухсокетным материнским платам производства той же Intel: S2600WT и S2600WF. скриншоты ниже). 1/2/3, но не варианта 4, увы (см. Да, Skylake-сервер поддерживает до 6 каналов памяти DDR4-2666, но фактически работал он именно в четырёхканальном режиме, как и Broadwell-сервер — по два модуля на канал. Обе машины получили 64 Гбайт RDMIMM DRR4-2133 ECC: по 8 модулей Samsung M393A1G40DB0-CPB. Это было сделано умышленно.

4 — использовался SATA SSD DC S3500 ёмкостью 300 Гбайт. В качестве системного диска для ОС — стабильная версия Debian 9. Все диски имели файловую систему ext4. Впрочем, тесты проводились на новеньких NVMe-накопителях Intel SSD DC P4510 ёмкостью 2 и 8 Тбайт — /var на обеих машинах был смонтирован именно на них. Наконец, несколько слов о CPU. Заодно с тестом CPU были сделаны и небольшие тесты этих накопителей. Они находятся примерно в одной ценовой категории: почти $2 100 и $2 450 соответственно. Нам достались Intel Xeon E5-2690 v4 и Xeon Gold 6140. На стороне Skylake большее число ядер (18 против 14) и чуть более высокая турбочастота (3,7 ГГц против 3,5 ГГц). При этом различаются они всё же существенно. В пользу Broadwell играет в полтора раза более объёмный L3-кеш (35 Мбайт против 24,75 Мбайт) и повышенная базовая частота (2,6 ГГц против 2,3 ГГц).

Впрочем, это как раз указывает на то, что описанные выше различия лишь поверхностны. TDP и предельная рабочая температура обоих CPU практически одинаковы: 135/140 Вт и 89/91 °C. Даже техпроцесс, обозначенный как «14 нм», не совсем один тот же. Гораздо больше изменений приходится на архитектуру. Отдельно останавливаться мы на них здесь не будем. Особенности строения и работы обоих поколений Intel Xeon описаны в соответствующих материалах: Broadwell-EP и Skylake-SP. Отметим лишь, что для обеих систем CPU scaling governor (кажется, более адекватного перевода, чем «регулятор производительности», для этого термина нет) был переведён в режим performance — для серверов это допустимый и разумный вариант регулировки мощности процессоров.

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

8 в виде deb-пакета, взятого с официального сайта. Для тестирования использовался пакет Phoronix Test Suite (PTS) версии 7. Примерно то же самое можно и от бинарных сборок софта во многих дистрибутивах. Да, для получения абсолютных показателей он не очень годится, так как все бенчмарки компилируются непосредственно на тестируемых машинах и параметры сборки порой далеки от оптимальных — для некоторых тестов, например, сделан сознательный отказ от современных инструкций типа AVX в угоду стабильности. Кроме того, мы надеемся и далее использовать уже подобранный набор тестов для оценки серверов. Впрочем, для сравнения производительности двух и более систем PTS подходит.

ПО собрано с помощью GCC 6. Все результаты тестов находятся в открытом доступе. 0 и Clang 3. 3. 1-24. 8. 1/2/3 плюс были установлены обновления микрокода самих CPU. Ядро ОС содержало все актуальные на момент тестирования портированные патчи против Meltdown и Spectre v. Результаты тестирования FIO и других бенчмарков для накопителей Intel SSD DC P4510 смотрите по ссылке выше, здесь они умышленно не приведены. В таблице приведены некоторые результаты тестов, которые успешно завершились на обеих машинах и были собраны с одинаковыми параметрами. Кроме того, по ссылке можно также посмотреть уровень погрешности для ряда бенчмарков. Впрочем, они по большей части очень схожи на обеих машинах.

За базовый уровень (100 %) взяты показания с машины с Intel Xeon E5-2690 v4. Основные тесты сведены в одну большую таблицу. В соответствии с этим зелёным цветом в последней колонке обозначен прирост производительности для  Xeon Gold 6140, а красным её снижение или отсутствие роста. В четвёртой колонке дано указание на то, что лучше — увеличение результата теста или уменьшение. На глаз рост в среднем достигает где-то 40%, а нижняя граница находится около 15%. На первый взгляд всё просто замечательно, за исключением лишь некоторых бенчмарков. В общем, всё вроде бы укладывается в прошлогодние обещания: «ПО, оптимизированное для Broadwell, без перекомпиляции в среднем получит +10 % скорости на ядрах Skylake-SP». Если провалы и есть, то они находятся на уровне менее 10%.

Разница в четыре ядра между процессорами фактически выливается в 16 потоков (2 × [CPU + HT]), что уже существенно. Однако на практике нужно учесть ещё кое-что. Но теоретически именно потому, что, к примеру, результат CLOMP указывает на не самое лучшее распараллеливание с OpenMP. Поэтому мы выбрали и пересчитали прирост на ядро из всей пачки бенчмарков для тех, которые теоретически хорошо масштабируются и могут реально задействовать все ядра. С другой стороны, некоторые результаты (рендер + БД) не просто удивляют, а даже настораживают — настолько велик и общий прирост, и прирост на ядро.

Помните первые тесты IBM POWER9? Так вот, этот же набор тестов был сделан и на вверенных нам машинах. На десерт у нас есть ещё кое-что. Однако частота модулей заметно выше, система работает на Intel Optane, а данных о патчах прошивки против Spectre/Meltdown нет. Собственно, среди результатов есть смысл смотреть только на показатели AMD EPYC 7601 (32 ядра/64 потока, 2,2/3,2 ГГц, 64 Мбайт L3-кэш, TDP 180 Вт, 14 нм, ≈ $4000), но и то очень аккуратно, потому что с нашими тестовыми машинами совпадение есть только в объёме/наборе RAM. И это уж не говоря о более свежих компиляторе и ядре.

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

С учётом того, что в дата-центрах и других крупных инсталляциях средний срок жизни CPU составляет от трёх-четырёх лет, прирост будет ещё более заметен — даже без должной оптимизации под новую архитектуру и увеличившееся число потоков. На помощь можно призвать Капитана Очевидность и отметить, что новые процессоры (м-м, почти новые, им уж скоро год всё-таки) лучше старых — быстрее и производительнее при тех же цене и TDP. Увы, сравнить результаты с  показателями систем без заплаток не удалось. После заплаток разница между поколениями меньше не стала, так что годичной давности обещания Intel относительно производительности всё ещё в силе.

В связи с этим очень интересно, что будет с грядущими Xeon — получат ли они реальную аппаратную защиту или Intel обойдётся мягкими мерами вроде предварительного накладывания заплаток на микрокод, пусть и ценой снижения итоговой производительности? Так что полученные результаты пока что не слишком ценны сами по себе, но мы надеемся в дальнейшем расширить список протестированных систем с тем же набором бенчмарков. Но об этом как-нибудь в другой раз. И да, здесь мы совершенно обошли стороной другие нововведения в Skylake-SP, касающиеся в первую очередь ввода-вывода и ускорения некоторых операций.   Впрочем, если у вас есть пожелания по включению в набор каких-то других тестов, не стесняйтесь написать об этом в комментариях.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Смартфон Samsung Galaxy A7 (2018) показался на рендерах с тройной камерой

В распоряжении веб-источников оказались, как утверждается, рендеры нового смартфона Samsung среднего уровня — аппарата Galaxy A7 (2018). По слухам, устройство получит фирменный процессор Exynos 7885, 4 Гбайт оперативной памяти и флеш-модуль вместимостью 64 Гбайт. О подготовке названной модели мы уже ...

Новый планшет Apple iPad Pro дебютирует до конца осени

1 обнаружились свидетельства того, что компания Apple в скором времени планирует представить планшетный компьютер iPad Pro нового поколения. В программном коде iOS 12. Она позволяет предположить, что новый гаджет дебютирует до конца текущей осени. В частности, пытливые пользователи нашли строку, ...