Разделы

Техника

Технология Intel, призванная «разгонять» процессоры, вместо этого их замедляет

Технология Speed Select, созданная Intel для повышения производительности серверных процессоров в различных задачах, в ряде случаев замедляет их. Производительность падает более чем на 10% по вине неправильного драйвера для Linux. Проблема локализована, и один из инженеров Intel подготовил патч, устраняющий ее.

Полезная технология оказалась вредителем

Современные серверные процессоры Intel могут не обеспечивать свою максимальную производительность из-за неправильной работы заложенной в них технологии Speed Select (Intel Speed Select Technology, ISST). Она сама по себе предназначена для повышения скорости выполнения процессором тех или иных задач, но на деле приносит больше вреда, чем пользы.

Как пишет портал Neowin, активация ISST в ряде конфигураций может снижать производительность процессора более чем на 10%.

Speed Select была представлена Intel одновременно с анонсом новой линейки серверных процессоров Xeon Scalable второго поколения в апреле 2019 г. Эта технология позволяет отключать часть ядер процессора (в Xeon Scalable второго поколения их число может доходить до 56) и повышать частоты оставшихся ядер. Такое решение позволяет CPU работать эффективнее в задачах, в которых не задействуется большое число ядер, но при этом не перегреваться. Также за счет Speed Select можно сократить энергопотребление всего сервера, например, в ночное время, когда от него требуется выполнение только базовых задач. Поддержка ISST реализована в микрокоде процессора и выполняется его блоком управления питанием (Power Control Unit, PCU).

Где кроется проблема

Некорректную работу технологии ISST обнаружил Шринивас Пандрувада (Srinivas Pandruvada) один из инженеров Intel. Он отметил, что проблема кроется в драйвере ISST для Linux. Общедоступных сведений о том, когда и кем в него вносились последние изменения, отсутствуют.

xeon600.jpg
Проблема с Speed Select затрагивает все процессоры с ее поддержкой

«Выяснилось, что некоторые из тестов высокой производительности проводят больше времени в ядре в зависимости от того, какой пакет ЦП они выполняют. Разница значительна, и результаты тестов различаются более чем на 10%. Эти тесты регулируют класс обслуживания для повышения производительности параллельных потоков. Это изменение класса обслуживания вызывает доступ к области MMIO PCI-устройств Intel Speed Select в зависимости от того, какой пакет ЦП они выполняют», – сообщил Шринивас Пандрувада.

Со слов инженера, этот маппинг от процессора к PCI-устройству использует стандартный интерфейс Linux PCI «pci_get_domain_bus_and_slot ()». Иначе говоря, доступ к нужному устройству на шине PCI для процессора реализован через их последовательный перебор. Поскольку в некоторых конфигурациях может быть более 100 PCI-устройств, подобный алгоритм поиска нужного устройства при активированной Speed Select может замедлить работу всей системы.

Патч не за горами

Шринивас Пандрувада нашел способ исправить недочет драйвера ISST для Linux. По его словам, информация, для получения которой нынешняя версия драйвера каждый раз проводит линейный поиск, может кэшироваться одновременно со считыванием номера шины для процессора. «Таким образом, во время выполнения можно использовать кэшированную информацию. Это значительно улучшает производительность этих тестов», - сказал инженер.

xeon602.jpg
Инженер Intel нашел выход из ситуации с Speed Select

Пандрувада подготовил патч, исправляющий недочет в Linux-драйвере. С его слов, исправление небольшое, однако пока неизвестно, когда Intel начнет его распространение.

Появление Speed Select

Intel начала продвижение технологии ISST с трех процессоров серии Xeon Scalable (Cascade Lake) второго поколения. Они получили индексы 8260Y, 6240Y и 4214Y, где литера «Y» и означает наличие в чипе данной технологии.

Принцип работы Speed Select

Старший процессор 8260Y получил 24 ядра, 48 потоков, частоту от 2,4 до 3,9 ГГц и кэш 35,75 МБ. Процессоры попроще (6240Y и 4214Y) получили 18 и 12 ядер и 36 и 24 потока соответственно. 6240Y работает на частоте от 2,6 до 3,9 ГГц, 6240Y – от 2,2 до 3,2 ГГц. Объем кэша равен 24,75 МБ и 16,5 МБ. Все три чипа Intel выпускает по 14-нанометровым нормам.

В тренде мультиоблако — изучаем плюсы и минусы
Облака

Во II квартале 2021 г. Intel приступила к выпуску процессоров Xeon Scalable третьего поколения (Ice Lake). Для них она использует техпроцесс 10 нм, и в этой линейке чипов с поддержкой Speed Select стало значительно больше.

Поддержка ISST, согласно сайту Intel, реализована теперь не только в процессорах, в названиях которых есть литера «Y». Например, эта технология присутствует в 38-ядерном 76-поточном чипе Xeon Platinum 8368.

Эльяс Касми