Найти в Дзене
ServerNews

Intel Xeon Sapphire Rapids получат UMA-режим, динамический балансировщик нагрузки DLB и поддержку CXL на всех линиях PCIe

На мероприятии Architecture Day Intel, наконец, поделилась некоторыми подробностями о будущих серверных процессорах Xeon Sapphire Rapids, которые станут доступны в первой половине 2022 года. Правда, презентация оставила больше вопросов, чем ответов. Но на HotChips 33 представители компании дали некоторые пояснения и чуть более подробно рассказали о части нововведений.

Например, компания назвала типичный уровень задержек между отдельными тайлами, соединёнными между собой десятью EMIB-мостиками — в среднем от 4 до 8 нс (но не более 10 нс) за один переход по мостику. Причём этот показатель может чуть плавать в зависимости от обращения к соседу слева/справа или снизу/сверху (подключений по диагонали нет). Поскольку все ресурсы для всех тайлов и ядер/потоков общие, наихудшая ситуация наступает тогда, когда запрос и ответ к памяти соседнего тайла пойдут в обход по всем тайлам. То есть на пути туда-обратно запрос совершит четыре перехода по мостикам.

Избавиться от такой ситуации можно как формированием NUMA-кластеров, так и новым UMA-режимом (квадрант в терминологии Intel), в котором  системный агент каждого тайла «привязывается» к контроллеру памяти на том же самом тайле. Это требует симметричного размещения памяти на всех контроллерах, зато снижает задержки (как при использовании NUMA), сохраняя при этом «цельность» процессора при взгляде со стороны, то есть не требует модификации ПО. Вероятно, именно этот режим работы будет рекомендовано использовать по умолчанию.

-2

Число линий PCIe так и не было названо, однако было сказано, что все они будут поддерживать CXL (блоками по x16) — у AMD EPYC Genoa, если верить утечкам, это не так. Режим работы будет автоматически выбираться в зависимости от типа устройства при загрузке. Интересно, что ускорители Ponte Vecchio, вероятно, будут поддерживать только PCIe-режим. Это, правда, не помешает реализовать обещанную когда-то поддержку общей когерентной памяти в связке CPU-GPU.

-3

Кроме того, текущая реализация CXL не поддерживает режим Type 3, который, в частности, позволяет наращивать объём доступной CPU памяти путём подключения внешних блоков DRAM/SCM. Дополнительно отмечено, что HBM-память, тоже подключаемая посредством EMIB, будет иметь собственные контроллеры, так что все 8 каналов DRAM никуда не денутся. Любопытно, что SKU с малым числом ядер будут иметь то же число каналов памяти, линий PCIe/UPI и т.д., но при этом могут оказаться вовсе не состоящими из тайлов.

-4

Помимо прочего, докладчик поделился некоторыми сведениями о новых или расширенных возможностях Sapphire Rapids. В частности, они получат поддержку Virtual Shared Memory, позволяющую ПО, использующему CPU и ускорители (интегрированные или дискретные), иметь для удобства работы единое адресное пространство с поддержкой целостности и когерентности памяти. В том числе для виртуальных машин. Для них же (и для контейнеров) пригодится технология Intel Scalable IO Virtualization (S-IOV), расширяющая возможности SR-IOV.

-5

Про акселераторы DSA и QAT уже говорилось в прошлый раз. Сейчас же было немного рассказано про DLB (Dynamic Load Balancer), динамический балансировщик нагрузки, который распределяет её между ядрами, принимая решения 400 млн раз в секунду, и ускоряет операции, связанные с этим процессом. Он отслеживает потребление ресурсов и позволяет задать приоритеты для различных нагрузок. Для работы со всеми этими ускорителями и нужен новый набор инструкций AiA (Accelerator Interfacing Architecture), который позволяет управлять ими из режима пользователя.