Практикум по топологии платформы

PCIe и NUMA без сюрпризов: от схемы к приёмке платформы

Курс для тех, кто подбирает и принимает серверную платформу: как дойти от записи в спецификации до фактического режима соединения PCIe. Разбираем райзеры и бифуркацию, владельцев линий, общий путь до процессора и локальность NUMA.

База → подбор и приёмка платформы120 минут8 модулей16 вопросов
После курса

Что вы сможете сделать

  1. Разделять поколение, ширину, размер слота и наблюдаемый режим соединения.
  2. Подтверждать точные слот, райзер, владельца линий и допустимость всего заполнения.
  3. Отличать бифуркацию порта для пассивного адаптера от PCIe-коммутатора.
  4. Сохранять неизвестную принадлежность NUMA и не обещать недоказанную локальность.
Модуль 1 из 8

1. Что означают PCIe, поколение и xN?

Начните с трёх разных вопросов: какое соединение используется, какова возможность одной линии и сколько линий участвует. Не подменяйте эти поля скоростью приложения.

  • PCIe описывает системное соединение и его программный интерфейс. NVMe может работать поверх PCIe, но задаёт протокол хранения другого уровня.

    Проверить тезис: Системное соединение PCIe 01 02

  • PCIe соединяет два порта; несколько устройств могут находиться за коммутатором. Число устройств не показывает число независимых путей к CPU.

    Проверить тезис: Системное соединение PCIe 04

  • Поколение и ширина — отдельные поля. Обозначение xN указывает число линий; наличие передачи и приёма не превращает x4 в x8.

    Проверить тезис: Системное соединение PCIe 03 · Поколение PCIe 01 · Линия PCIe 01 03

  • Поколение и число передач не равны полезным байтам приложения. Для расчёта нужны ширина и правила передачи; для результата работы — измерение.

    Проверить тезис: Поколение PCIe 05

  • В модели 4 линии × 2 условные единицы равны 8 линиям × 1 единица. Это равенство расчётных пределов одного направления, а не взаимозаменяемость топологий.

    Проверить тезис: Поколение PCIe 06

Модуль 3 из 8

3. Поместится ли карта в разрешённую конфигурацию?

Длина разъёма отвечает только на часть вопроса. Для сервера нужны точное место, вариант райзера, электрический путь и проверка установки целиком.

  • Механический размер и электрическая ширина различаются: длинный слот может иметь меньше подключённых линий. Совместимая карта x4 может вставляться в x4, x8 или x16, но режим проверяют отдельно.

    Проверить тезис: Слот PCIe 01 02 · Линия PCIe 02

  • В заказе сохраняют позицию слота и вариант райзера. Общее число длинных разъёмов не указывает путь и владельца линий.

    Проверить тезис: Слот PCIe 03

  • Редакторская рекомендация: получить требования к габаритам, креплению, питанию и охлаждению из документации конкретных карты и сервера. Приведённые статьи о слотах не устанавливают эти требования. Возможность вставить контактную часть не завершает проверку.

    Проверить тезис: Слот PCIe 04

  • Проверяют допустимость всего заполнения слотов и райзеров. Пригодность каждого места в отдельной схеме не доказывает одновременную установку всех карт.

    Проверить тезис: Слот PCIe 05

  • Свободный разъём не доказывает активный путь к CPU. Его владельца и состав процессоров сверяют по схеме, а не по фотографии.

    Проверить тезис: Слот PCIe 06

Модуль 4 из 8

4. Какая схема нужна пассивному адаптеру?

Четыре разъёма на адаптере не создают четыре независимых соединения автоматически. Проверьте деление точного порта и различайте пассивную разводку и коммутатор.

  • Поддерживаемый порт x16 может делиться, например, на x8+x8 или четыре x4. Нужная схема должна быть разрешена конкретным портом и настройками платформы.

    Проверить тезис: Разделение порта PCIe — бифуркация 01 02

  • Пассивный адаптер разводит линии и не добавляет PCIe-коммутатор. Для независимых устройств ему нужны соответствующие деление вышестоящего порта и разводка.

    Проверить тезис: Разделение порта PCIe — бифуркация 03

  • Для четырёх независимых устройств x4 схема x8+x8 не равна x4+x4+x4+x4, хотя обе дают сумму 16. По неподходящей схеме нельзя заранее обещать обнаружение всех устройств.

    Проверить тезис: Разделение порта PCIe — бифуркация 04

  • Деление сохраняет бюджет 16 линий; четыре группы x4 расходуют его целиком. Число разъёмов не создаёт дополнительные исходные линии.

    Проверить тезис: Разделение порта PCIe — бифуркация 05 · Линия PCIe 05

  • У PCIe-коммутатора собственные порты к устройствам и общий вышестоящий путь. Это другой механизм; общий путь всё равно нужно оценивать.

    Проверить тезис: Разделение порта PCIe — бифуркация 06

  • Подтвердите схему для точных слота, райзера, CPU и BIOS; после установки проверьте все ожидаемые устройства. Настройка другого варианта не является допуском выбранного.

    Проверить тезис: Разделение порта PCIe — бифуркация 07

Модуль 5 из 8

5. Кому принадлежат линии и что осталось для расширения?

Линии разных владельцев нельзя произвольно объединять. Резерв расширения должен иметь конкретный путь и не конфликтовать с текущим составом.

  • PCIe-пути могут идти от разных CPU или системной логики. На Intel S2600WF часть путей CPU 2 недоступна без второго процессора.

    Проверить тезис: Бюджет линий PCIe 01 02

  • Восемь свободных линий CPU 1 и восемь CPU 2 не образуют один порт x16 CPU 1. Для устройства нужна предусмотренная платформой группа.

    Проверить тезис: Бюджет линий PCIe 03

  • Учитывайте встроенные устройства и райзеры по полной карте. Возможности CPU не равны набору линий для свободного перераспределения.

    Проверить тезис: Бюджет линий PCIe 04

  • Вся комплектация должна укладываться в одну допустимую карту устройства, слота, райзера, владельца, ширины и деления. Отдельные допустимые варианты нельзя просто сложить.

    Проверить тезис: Бюджет линий PCIe 06

  • Для будущего устройства резервируют конкретный свободный путь. Один ресурс нельзя одновременно обещать нескольким несовместимым будущим картам.

    Проверить тезис: Бюджет линий PCIe 07

Модуль 6 из 8

6. Хватит ли общего пути нескольким устройствам?

Сумма паспортных возможностей устройств не измеряет весь тракт. Найдите общие участки, определите направление и проведите совместное испытание.

  • Если устройства используют общий вышестоящий участок, его возможности учитывают один раз. Сложение максимумов конечных устройств не увеличивает этот участок.

    Проверить тезис: Бюджет линий PCIe 05

  • Редакторская рекомендация: проверьте устройства совместно, если им нужен общий путь. Успех отдельных испытаний не является наблюдением одновременной работы всего состава.

    Проверить тезис: Системное соединение PCIe 06

  • При одинаковой возможности одной линии x8 имеет вдвое больший расчётный предел, чем x4. Это не гарантия двукратного ускорения приложения.

    Проверить тезис: Линия PCIe 07

  • Сумма возможностей передачи и приёма не является пределом одного одностороннего потока. В сравнении фиксируют направление и полезную работу.

    Проверить тезис: Линия PCIe 06

  • Редакторская рекомендация: для оценки результата нужны режим соединения и полезная операция с нужным драйвером. Обнаружение устройства не заменяет испытание.

    Проверить тезис: Системное соединение PCIe 07

Модуль 7 из 8

7. Доказана ли локальность устройства и памяти?

NUMA добавляет к схеме линий карту памяти. Разделите известную принадлежность, политику новых выделений и состояние уже размещённых страниц.

  • Стоимость доступа к памяти зависит от узла; Linux по умолчанию старается выделять память ближе к CPU выполнения. Это не замена карте конкретной задачи.

    Проверить тезис: Неоднородный доступ к памяти — NUMA 01 02

  • У AMD EPYC 9004 на одном сокете может быть несколько NUMA-узлов. Их число не является числом физических CPU.

    Проверить тезис: Неоднородный доступ к памяти — NUMA 04

  • Политика памяти и набор CPU настраиваются отдельно. Чередование распределяет выделения по узлам, а не назначает потокам CPU и не гарантирует минимальную задержку.

    Проверить тезис: Неоднородный доступ к памяти — NUMA 03 07

  • Смена политики не переносит автоматически старые страницы. Разрешённые узлы cpuset также ограничивают выбор политики приложения.

    Проверить тезис: Неоднородный доступ к памяти — NUMA 05 06

  • Значение NUMA-узла PCIe-устройства −1 в Linux означает неизвестную принадлежность. Его нельзя заменять нулём при объявлении локальности.

    Проверить тезис: Неоднородный доступ к памяти — NUMA 08

Модуль 8 из 8

8. Что передать в заказ и проверить после сборки?

Итог — проверяемая карта комплектации и результат полезной работы. Наблюдения и ещё не подтверждённые поля должны оставаться различимыми.

  • Заказ сохраняет одну согласованную карту всего состава. Приёмка сопоставляет её с обнаруженными устройствами и текущими режимами, оставляя неизвестные поля открытыми.

    Проверить тезис: Бюджет линий PCIe 06 08

  • Возможности порта и текущие скорость и ширина — разные строки акта. Паспортный максимум не подставляют вместо наблюдения.

    Проверить тезис: Системное соединение PCIe 05

  • Для деления фиксируют точный порт, райзер, CPU и BIOS; проверка должна охватить все ожидаемые устройства.

    Проверить тезис: Разделение порта PCIe — бифуркация 07

  • Редакторская рекомендация: список PCIe-устройств подтверждает обнаружение, но не полезную работу с нужным драйвером. Испытание должно выполнять согласованную операцию.

    Проверить тезис: Системное соединение PCIe 07

  • Редакторская рекомендация: если есть общий участок, полезную работу проверяют при совместной нагрузке. Прохождение испытаний по отдельности не закрывает этот результат.

    Проверить тезис: Системное соединение PCIe 06

Финишная прямая

Проверьте инженерное мышление

Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.

01Соединение использует четыре линии, каждая передаёт и принимает. Как записать ширину?
02В модели A: 4 линии по 2 единицы/с, B: 8 линий по 1. Как сравнить предел одного направления?
03Совместимая карта поддерживает Gen 5 x8, порт — Gen 4 x4; ОС показывает Gen 4 x4. Как оценить наблюдение?
04В акте известен максимум устройства, но текущая ширина не снята. Как заполнить текущую ширину?
05Слот механически x16, электрически x4. Карте для согласованной задачи требуется x8. Что подтверждает длина разъёма?
06Карта A разрешена в варианте райзера R1, B — в R2. Совместимость R1 и R2 в одном сервере не проверена. Как продолжить?
07Пассивный адаптер рассчитан на четыре независимых x4; порт разрешает лишь x16 и x8+x8. Что решить до заказа?
08У адаптера есть PCIe-коммутатор и общий вышестоящий порт. Чем его схема отличается от пассивного деления?
09Для Intel S2600WF выбран путь райзера от CPU 2, установлен только CPU 1. Свободен ли этот путь для карты?
10Есть один свободный x16; допустимы x16 или x8+x8. Двум будущим картам требуется по целому x16. Что можно обещать?
11Две карты могут передавать к CPU по 6 единиц/с, общий путь — 8. Каков верхний предел их суммы к CPU?
12Две карты за общим путём успешно прошли нужную операцию по отдельности. Как закрыть требование одновременной работы?
13На одном сокете EPYC 9004 настроены несколько NUMA-узлов. Что следует из числа узлов?
14У PCIe-устройства Linux принадлежность −1; приложение работает на узле 0. Подтверждён ли локальный путь?
15Устройства обнаружены, но нужная операция с целевым драйвером ещё не выполнялась. Какой результат подтверждён?
16Обе карты обнаружены; текущий режим B неизвестен, совместного испытания нет. Как завершить акт?

В каталоге

Проверяемая база

Источники курса

Полные сведения о первоисточниках приведены один раз для всего курса. Под тезисами — ссылки на соответствующие утверждения Архивариума.

  • Первичная спецификация

    PCI Express Base

    PCI-SIG · Current Approved Specification: PCI Express Base 7.0

    Официальное описание архитектуры и программного интерфейса PCI Express.

    Открыть первоисточник
  • Первичная спецификация

    NVM Express Specifications

    NVM Express · NVMe 2.4 specification set, 4 августа 2026 года

    Официальная карта набора спецификаций и транспортов NVMe.

    Открыть первоисточник
  • Официальное разъяснение

    PCI Express FAQ

    PCI-SIG · официальный FAQ, проверено 29 августа 2026 года

    Описывает PCIe как serial I/O interconnect и перечисляет агрегируемые ширины link.

    Открыть первоисточник
  • Официальная документация

    Tuning Throughput Performance for Intel Ethernet Adapters

    Intel · support article 000005811, проверено 6 февраля 2025 года

    Предупреждает, что физический размер PCIe-слота может превышать его электрическую ширину.

    Открыть первоисточник
  • Официальная документация

    Is PCIe Backward Compatible?

    Intel · support article 000089069, проверено 23 мая 2022 года

    Подтверждает обратную совместимость поколений и необходимость сверять процессор и BIOS платы.

    Открыть первоисточник
  • Официальная документация

    Linux v6.12 — drivers/pci/pci-sysfs.c

    Linux kernel maintainers / torvalds/linux · исходный код ядра Linux, тег v6.12, drivers/pci/pci-sysfs.c, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, файл по тегу v6.12 сверен. Официальная реализация, не ABI-файл.

    Открыть первоисточник
  • Официальная документация

    PCIe Lane Ownership on Intel Server Board S2600WF

    Intel · support article 000090009, проверено 21 июля 2023 года

    Показывает привязку riser-слотов к CPU 1, CPU 2 и DMI и зависимость части слотов от второго CPU.

    Открыть первоисточник
  • Официальная документация

    Intel Server D50DNP Family Technical Product Specification

    Intel · раздел 7.3 PCIe Bifurcation, проверено 29 августа 2026 года

    Перечисляет поддержанные схемы x16/x8/x4 и настройку bifurcation в BIOS конкретной платформы.

    Открыть первоисточник
  • Официальная документация

    Intel 700 Series Chipset Family Platform Controller Hub Overview

    Intel · Datasheet Volume 1, ID 743835, 22 апреля 2024 года

    Перечисляет I/O-функции PCH: DMI, PCIe, SATA, USB, SMBus и другие.

    Открыть первоисточник
  • Официальная документация

    ABI testing symbols: sysfs-bus-pci

    The Linux Kernel documentation · документация ABI ядра Linux (sysfs-bus-pci), страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Официальная документация

    Physical Memory

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Описывает NUMA nodes, различную стоимость доступа и node-local allocation.

    Открыть первоисточник
  • Официальная документация

    АМД Эпик 9004 BIOS and Workload Tuning Guide

    AMD · документ AMD 58011, выпуск на портале 2025-05-09, страница открыта 7 сентября 2026 года

    Фиксирует два hardware thread при SMT и предупреждает о нейтральном или отрицательном эффекте на части workload.

    Открыть первоисточник
  • Официальная документация

    NUMA Memory Policy

    Linux kernel documentation · актуальная документация ядра, проверено 29 августа 2026 года

    Разграничивает NUMA memory policy и cpusets и описывает выбор узлов для выделения памяти.

    Открыть первоисточник
  • Официальная документация

    Linux PCI sysfs ABI — sysfs-bus-pci

    The Linux Kernel developers · Linux v6.12, тег от 17.11.2024; последний коммит файла 759ec2824289, committer 2024-09-06

    Полный ABI-текст: 574 строк. Скачан редактором и прочитан автором 11.09.2026. SHA-256 13a73b125e800a57c2ed352f49a85e03a6dfb41eb33d3d498beb9297b92e28d1. Авторская дата последнего коммита 2024-09-04; дата тегирования задаёт редакцию. Страниц в оригинале нет.

    Открыть первоисточник
Подтвердите действие