12 июля компания Intel представила новую линейку серверных процессоров под кодовым названием Skylake-SP. Буквы SP в названии линейки — это сокращение от Scalable Processors («масштабируемые процессоры» в переводе на русский). Такое название не случайно: Intel реализовали много интересных нововведений и, как было отмечено в одном обзоре, «попытались угодить чуть ли не всем».
Процессоры линейки SP являются частью серверной платформы Purley, которую называют «платформой десятилетия».
Какие нововведения реализованы в Intel Skylake-SP? Каковы технические характеристики этих процессоров? В чём заключаются их преимущества по сравнению с предыдущими моделями? Обо всём этом мы подробно расскажем ниже.
Новые процессоры — новые имена
Предыдущие линейки процессоров Xeon получали имена вида Exvx: E3v3, E3v5 и т.п. В линейке SP используется другая схема именования: все процессоры делятся на четыре серии под кодовыми названиями Bronze, Silver, Gold и Platinum. Все эти серии отличаются между собой числом ядер и набором технологий.
Bronze — это самые простые процессоры: они могут иметь до 8 ядер и не поддерживают hyper-threading. Platinum, как и следует из названия, рассчитаны на работу под высокими нагрузками и обладают наибольшим (до 28) числом ядер.
В именах некоторых моделей появились новые индексы. Так, литера F указывает на наличие встроенного контроллера Omni-Path, M — на поддержку большего объёма памяти (до 1,5 ТБ на сокет), а T — на поддержку стандарта NEBS (Network Equipment Building System). Процессоры с индексом T в имени выдерживают большие температурные нагрузки, и срок службы по сравнению с другими моделями у них гораздо больше.
Более подробно обо всех этих новшествах мы расскажем ниже.
Технические характеристики
Для наших конфигураций мы выбрали Intel Xeon Silver 4114 и Intel Xeon Gold 6140. Их основные технические характеристики представлены в таблице ниже.
Характеристика | Intel Xeon Silver 4114 | Intel Xeon Gold 6140 |
---|---|---|
Технологический процесс | 14 нм | 14 нм |
Количество ядер | 10 | 18 |
Количество потоков | 20 | 36 |
Базовая частота | 2,20 ГГц | 2,30 ГГц |
Максимальная частота Turbo | 3,00 ГГц | 3,70 ГГц |
Кэш L3 | 13,75 МБ | 24,75 МБ |
Количество линий UPI | 2 | 3 |
TDP (thermal design power) | 85 Вт | 140 Вт |
Основные нововведения
Приведём список наиболее значительныx нововведений, реализованных в процессорах Skylake-SP:
- благодаря набору инструкций AVX-512 существенно улучшена производительность целочисленных вычислений и вычислений с плавающей точкой;
- наличие шестиканального контроллера памяти (в предыдущей линейке был четырехканальный);
- ускорена связь между ядрами благодаря технологии UPI (Ultra Path Interconnect);
- увеличено количество линий PCI (до 48);
- модифицирована топология: на смену кольцевой шине пришла сетчатая (mesh) архитектура.
Микроархитектура
Базовая структура ядра у процессоров линейки SP осталась точно такой же, как и у Skylake предыдущих моделей. Тем не менее, некоторые отличия и усовершенствования есть. Увеличился объём L2-кэша: он составляет 1 МБ. Объём L3-кэша составляет 13,75 МБ на ядро. L2-кэш заполняется напрямую из оперативной памяти, а затем неиспользуемые линии вытесняются в L3. Данные, общие для нескольких ядер, хранятся в L3.
Обратим внимание на ещё один момент: объём L3-кэша не зависит от числа ядер. Кэшем на 24,75 МБ оснащены как восьмиядерные, так и двенадцати- и даже восемнадцатиядерные (см. таблицу выше) модели.
Как отмечено во многих обзорах (см., например, здесь), упор сделан именно на работу с L2-кэшем. Встраиваемая память eDRAM в процессорах Skylake вообще отсутствует.
Новая топология
Важным нововведением в процессорах Intel Skylake-SP является отказ от внутрипроцессорной кольцевой шины, которая использовалась для связи между ядрами на протяжении почти 10 лет.
Впервые кольцевая шина появилась в 2009 году в восьмиядерных процессорах Nehalem-EX. Она работала очень быстро (до 3 ГГц). Задержки L3-кэша были минимальными. Если ядро находило данные в своём фрагменте кэша, требовался только один дополнительный цикл. Для получения кэш-линии из другого фрагмента требовалось до 12 циклов (6 циклов в среднем).
Впоследствии технология кольцевой шины претерпела множество изменений и усовершенствований. Так, в процессорах Ivy Bridge, представленных в 2012 году, три ряда ядер были объединены двумя кольцевыми шинами. Они перемещали данные в двух направлениях (по часовой стрелке и против часовой стрелки), что позволяло обеспечить их доставку по кратчайшему маршруту и снизить время задержки. После поступления данных в кольцевую структуру требовалось скоординировать их маршрут во избежание смешение с предыдущими данными.
В процессорах Intel Xeon E5v3 (2014 год) всё стало куда более сложным: четыре ряда ядер, две независимые друг от друга кольцевые шины, буферный переключатель (подробнее об этом см. в статье по только что приведённой ссылке).
Технология кольцевой шины получила распространение, когда у процессоров было максимум 8 ядер. А когда ядер стало больше 20, стало ясно: предел её возможностей близок. Конечно, можно было бы пойти самым простым путём и добавить ещё одно, третье, кольцо. Но в Intel решили пойти другим путём и перейти к новой топологии строения шин — ячеистой (mesh). Такой подход уже был опробован на процессорах Xeon Phi (более подробно об этом можно прочитать в этой статье.
Схематично ячеистую топологию строения шин можно представить так:
Иллюстрация Intel
Благодаря новой топологии удалось значительно увеличить скорость взаимодействия между ядрами, а также повысить эффективность работы с памятью.
Новый набор инструкций AVX-512
Повысить производительность вычислительных операций в процессорах Skylake-SP удалось благодаря использованию нового набора инструкций AVX-512. Он расширяет 32-битные и 64-битные AVX инструкции с использованием 512-битных векторов.
Программы теперь могут упаковать или 8 чисел с плавающей запятой с двойной точностью, или 16 чисел с плавающей запятой с единичной точностью, или 8 64-битных целых чисел, или 16 32-битных целых чисел внутри 512-битного вектора. Это позволяет увеличить количество обрабатываемых элементов данных за одну инструкцию в два раза по сравнению с Intel AVX/AVX2 и в четыре раза — по сравнению с Intel SSE.
AVX-512 полностью совместим с набором инструкций AVX. Это, в частности, означает, что оба набора инструкций можно использовать в одной программе без ущерба производительности (такая проблема наблюдалась при совместном использовании SSE и AVX). Регистры AVX (YMM0—YMM15) ссылаются на младшие части регистров AVX-512 (ZMM0—ZMM15) по аналогии с SSE и AVX регистрами. Поэтому в процессорах с поддержкой AVX-512 инструкции AVX и AVX2 выполняются на младших 128 или 256 битах первых 16 регистров ZMM.
Тесты производительности
Тесты sysbench
Описание возможностей новых процессоров было бы неполным без результатов тестов производительности. Мы провели такие тесты и сравнили два сервера: на базе процессора Intel Xeon 8170 Platinum и на базе процессора Intel Xeon E5-2680v4. На обоих серверах была установлена OC Ubuntu 16.04.
Начнём с тестов из популярного пакета sysbench.
Первый бенчмарк, который мы провели — это тест по поиску простых чисел.
На обоих серверах мы установили sysbench и выполнили команду:
sysbench --test=cpu --cpu-max-prime=200000 --num-thread=1 run
В ходе выполнения теста мы увеличивали количество потоков (параметр —num-threads) с 1 до 100.
Результат теста наглядно представлен на графике (чем ниже цифра, тем лучше результат):
По мере увеличения числа потоков Intel Xeon Platinum 8170 показывает лучшие результаты.
Рассмотрим теперь результаты теста на скорость операций чтения-записи из буфера памяти (чем ниже цифра, тем лучше результат):
Здесь мы наблюдаем аналогичную картину: c увеличением количества потоков Intel Xeon 8170 Platinum выходит в лидеры.
Тест threads проверяет работу с большим количеством конкурирующих потоков. В ходе наших экспериментов мы увеличивали количество потоков с 1 до 120.
Результаты этого теста представлены ниже (чем меньше цифры, тем лучше результат):
Как видно из графика, по мере увеличения количества потоков у результаты у Intel Skylake-SP Platinum выше.
Тест Linpack
Следующий тест, который мы провели — это Linpack. Этот тест используется для измерения производительности вычислений с плавающей точкой и де-факто является стандартом в области тестирования вычислительных систем. Именно по его результатам составляется список самых производительных систем в мире.
Смысл теста заключается в решении плотной системы линейных алгебраических уравнений (СЛАУ) методом LU-декомпозиции. Производительность измеряется в флопсах — это сокращение от floating point per second, то есть число операций с плавающей точкой в секунду. Об алгоритме, лежащем в основе Linpack, можно подробнее прочитать здесь.
Тест-бенчмарк Linpack можно скачать с сайта Intel. В ходе теста программа решает 15 систем уравнений с матрицей разной размерности (от 1000 до 45000). Результаты проведённого нами теста наглядно представлены на графике (чем выше цифра, тем лучше результат):
Как видим, новый процессор показывает гораздо более высокие результаты. В тесте с максимальным размером матрицы (45 000) производительность Intel Xeon E5-2680v4 составляет 948.9728 ГФлопс, а Intel Xeon Platinum — 1233.2960 Гфлопс.
Сборка Boost на скорость
Для оценки производительности процессоров очень желательно проводить не только бенчмарки, но и тесты, максимально приближенные к реальной практике. Поэтому мы решили посмотреть, с какой скоростью наши серверы соберут из исходного кода набор библиотек С++ Boost.
Мы использовали последнюю стабильную версию Boost — 1.64.0; архив с иcходным кодом мы скачали с официального сайта.
На сервере с процессором Intel Xeon E5-2680v4 сборка заняла 12 минут 25 секунд. Cервер на базе Intel Xeon Platinum справился с задачей ещё быстрее — за 9 минут 16 секунд.
Заключение
В этой статье мы проделали обзор важнейших нововведений, которые появились в процессорах Intel Skylake-SP. Серверы на базе новых процессоров уже доступны для заказа в дата-центрах Петербурга и Москвы.
Мы предлагаем следующие конфигурации:
Процессор | Память | Диски |
---|---|---|
Intel Xeon Silver 4114 | 96 ГБ DDR4 | 2 × 480 ГБ SSD + 2 × 4 ТБ SATA |
Intel Xeon Silver 4114 | 192 ГБ DDR4 | 2 × 480 ГБ SSD |
Intel Xeon Silver 4114 | 384 ГБ DDR4 | 2 × 480 ГБ SSD |
Intel Xeon Gold 6140 2.1 | 384 ГБ DDR4 | 2 × 800 ГБ SSD |
Чтобы арендовать серверы на базе новых процессоров, нужно оформить предварительный заказ, но в скором времени они будут доступны и на постоянной основе.