В серии Intel Xeon 6700P “Granite Rapids-SP” есть несколько моделей процессоров, у которых ядра подразделяются на ядра с высоким и низким приоритетом. При этом, если, например, у одного процессора этого разделения ядер по приоритетам может не быть, то у двух других, согласно спецификациям, могут быть различные количества ядер с высоким и низким приоритетом. Это обстоятельство отметили некоторые наши читатели; также оно породило ряд слухов, что будто бы в некоторых процессорах Granite Rapids-SP есть ядра E (на самом деле их там нет). В общем, мы решили прояснить этот вопрос.

Если мы посмотрим на спецификации процессоров на актуальной странице Intel Ark, то увидим различные числа ядер с высоким и низким приоритетом, при этом обычно ядер с высоким приоритетом меньше и они имеют более высокую базовую частоту. Так как для обзора выпуска Intel Xeon 6700P и 6500P Granite Rapids-SP мы использовали процессор Intel Xeon 6781P, возьмем для примера этот 80-ядерный чип.

Как вы сами можете видеть, у этого процессора 30 ядер с высоким приоритетом (High Priority Cores) с частотой 2.10 ГГц и 50 ядер с низким приоритетом (Low Priority Cores) с частотой 1.60 ГГц. Это порождает разные слухи и предположения – что все это может означать – особенно на фоне того, что такие спецификации имеют не все модели серии и к тому же теперь есть линейки на базе только ядер E, например, и десктопные процессоры с гетерогенной архитектурой.
Чтобы понять идею, давайте сделаем шаг назад и посмотрим на обычную конфигурацию CPU и на то, как мы обычно ее используем. Здесь у нас всего 80 ядер с базовой частотой 2.0 ГГц. У Intel есть технология под названием SST-BF (Speed Step Technology - Base Frequency), которая позволяет конфигурировать процессор следующим образом: назначать некоторым ядрам более высокие базовые частоты, а некоторым – более низкие. Соответственно, в вышеупомянутом процессоре Intel Xeon 6781P ядра с высоким приоритетом работают не на базовой частоте 2.0 ГГц, а на 5% быстрее – на частоте 2.1 ГГц. Чтобы обеспечить эти ядра дополнительной мощностью и сохранить энергетический баланс, ядра с низким приоритетом работают на меньшей базовой частоте – 1.6 ГГц.
Идея в том, что по мере увеличения числа ядер CPU некоторые нагрузки могут запускаться на сете ядер, которые уже имеют более высокую частоту, что целесообразно для улучшения отзывчивости системы, особенно когда она работает в слабонагруженном режиме. Это в некотором смысле аналог технологий «повышения утилитарности» (таких как Intel Speed Select Technology Core Power и Intel Speed Select Technology Turbo Frequency) для базовой частоты, позволяющий определенным ядрам в нагруженных системах работать быстрее.
Хотя может показаться, что здесь все просто, стоит сделать, по крайней мере, два практически важных замечания.
Первое замечание очевидно. Тот же самый процессор Intel Xeon 6781P также поддерживает технологию Intel Speed Select Technology - Performance Profile (SST-PP). Как видно из таблицы ниже, профиль (0) соответствует конфигурации с базовой частотой 2.0 ГГц.

В то же время профиль (1) имеет базовую частоту 2.10 ГГц, а профиль (2) – 2.50 ГГц. Если вы не знаете про технологию SST-PP, то мы имеем некоторый опыт ее использования и можем сказать, что это классная фишка. На некоторых процессорах Intel вы при желании можете, например, выделить больше ядер под более низкие тактовые частоты или меньше – под более высокие. Это полезная опция для предприятий – как для тех, которые покупают готовые конфигурации и имеют скидку в зависимости от объема партии, так и для облачных провайдеров, которые обычно хотят развертывать одну конфигурацию и потом продавать несколько вариантов CPU. Вы можете удивиться – а почему бы просто не выбрать профиль (2) с базовой частотой 2.5 ГГц, вместо того, чтобы заводить кластеры из 30 ядер с частотой 2.1 ГГц и из 50 ядер с частотой 1.6 ГГц. Причина – экономия энергии, как ни банально это звучит.
И второе замечание – приоритизация ядер «неоднородна». Например, среди 64-ядерных моделей имеет место следующее:
Таким образом, среди четырех 64-ядерных процессоров возможны три различные схемы приоритизации. Среди 48-ядерных моделей – аналогично:
Снова у нас четыре процессора и три различные схемы приоритизации ядер. С той разницей, что, в отличие от, например, Xeon 6781P, не все из этих чипов поддерживают несколько различных опций SST-PP, что делает спорным само разделение ядер в случае, например, Intel Xeon 6748P, который поддерживает только профиль SST-PP (0):

Поэтому 2.5 ГГц – это базовая частота. Если только вы не используете SST-BF, где 32 ядра с низким приоритетом работают на частоте 800 МГц.
Технология SST-PP может быть полезной в ситуации, когда нужно быстро протестировать нагрузку на различных количествах ядер, не прибегая к замене процессора, но мы, кроме того, запускаем лабораторную вычислительную среду. Обычно мы тестируем процессоры и серверы, используя их базовые профили, и мы догадываемся, что большинство пользователей не задействуют все эти фишки. Например, мы сами впервые столкнулись с этим в сетевых процессорах 2-го поколения Intel Xeon Scalable “Cascade Lake”, у которых в наименовании был суффикс “N”. И дошли до того, что даже подключили инструменты OpenStack для реализации этих опций.
Судя по всему, в Intel упростили свою линейку процессоров, убрав специализированные сетевые компоненты “N” с технологией SST-BF и добавив эту технологию в стандартные процессоры. В результате обычные пользователи смотрят в спецификации и недоумевают, потому что ранее не заказывали процессоры “N” и не имели дела с этой технологией.
Поэтому большинству наших читателей мы рекомендуем просто пропускать эти строки в таблицах спецификаций. А для интересующихся у Intel есть горы документации по SST-BF, если вы знаете, что искать.