Практикум по расширению памяти
CXL-память в сервере: от устройства до активного региона
Курс учит отличать поддержку CXL от реально доступной CXL-памяти: как система обнаруживает устройство Type 3, зачем нужны HDM-декодеры и как ёмкость становится активным регионом памяти.
Что вы сможете сделать
- Различать поддержку CXL, обнаружение PCI-функции и активное отображение памяти.
- Понимать роль устройства памяти Type 3, HDM-декодеров и активного CXL-региона.
- Собирать перечень проверок платформы и ОС до обещания доступной CXL-ёмкости.
1. Сначала отделите CXL от обычного PCIe
CXL использует PCI-механизмы для части управления, но наличие PCI-функции не означает, что CXL-память уже доступна системе.
CXL Consortium определяет CXL как когерентный интерфейс для процессоров, расширения памяти и ускорителей.
Когерентность CXL связывает пространство памяти CPU и память на подключённых устройствах; конкретный режим зависит от типа устройства и протоколов.
В Linux устройство CXL-памяти использует CXL.mem, а перечисление и настройка компонентов опираются на CXL.io и стандартные механизмы PCI.
Видимая PCI-функция ещё не доказывает активный диапазон памяти: топологию CXL.mem и регионы проверяют отдельно.
Прошивка и PCIe-топология ограничивают, какие устройства CXL-памяти могут участвовать в доступных схемах декодирования.
2. Разберите Type 3 memory device
Устройство CXL-памяти — отдельный объект со своим типом памяти и способом отображения. Объём на наклейке ещё не равен активной ёмкости системы.
CXL Memory Device реализует CXL.mem; в Linux объект cxl_memdev представляет Type-3 Memory Device.
Такое устройство может содержать энергозависимую память, постоянную память или оба вида. Тип памяти проверяют у точной модели.
Linux определяет CXL memory device как PCI-устройство для настройки и служебных mailbox-команд. Это не заменяет проверку активного отображения памяти.
HDM-декодеры задают вклад устройства в системное физическое адресное пространство и могут включать память в чередующийся диапазон вместе с другими устройствами.
3. Проверьте активный регион
Регион — это уже отображённая ёмкость. Его состав и схема чередования определяют фактическую карту CXL-памяти.
CXL region в Linux представляет активную ёмкость, отображённую в системное физическое адресное пространство.
Region строится через HDM-декодеры на пути через мосты хоста, коммутаторы и конечные устройства.
Один и тот же аппаратный набор можно собрать в разные CXL.mem-топологии; конфигурацию нужно сохранять вместе с результатом.
Прошивка задаёт доступные схемы чередования, а PCIe-топология ограничивает состав участников каждой схемы декодирования.
У чередования есть число участников и гранулярность. Эти параметры описывают карту памяти, но сами по себе не равны производительности приложения.
4. Зафиксируйте конфигурацию до измерения
Для приёмки сохраните аппаратный путь и активную карту памяти, а уже затем сравнивайте ёмкость и производительность.
До закупки сверяют CPU, платформу, прошивку и конкретный CXL-путь, а не только название устройства.
При приёмке отдельно фиксируют memdev, активные регионы и параметры чередования.
После отображения памяти сопоставляют её с NUMA-топологией и измеряют нужную нагрузку. CXL-совместимость не является готовым числом производительности.
Проверьте инженерное мышление
Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.
Следующий шаг
Сформулируйте задачу и уточните требования к своей системе.
Подготовить подбор с ДелектусомОткроется черновик вопроса. Отправьте его, когда будете готовы.
Источники курса
Ссылки приведены один раз для всего курса, чтобы не мешать чтению каждого тезиса.
- Официальное разъяснение
About CXL®
Compute Express Link Consortium · официальная страница CXL Consortium, прочитана 19 сентября 2026 года
Описывает CXL как когерентный интерфейс для процессоров, расширения памяти и ускорителей и связывает его с когерентностью памяти CPU и подключённых устройств.
Открыть первоисточник - Официальная документация
Compute Express Link Memory Devices
Linux Kernel · Linux 6.12 documentation
Описывает CXL memory devices, CXL.io/CXL.mem, Type-3 memdev, HDM-декодеры, регионы и конфигурируемую CXL.mem-топологию.
Открыть первоисточник