Практикум по топологии платформы
PCIe и NUMA без сюрпризов: от схемы к приёмке платформы
Курс для тех, кто подбирает и принимает серверную платформу: как дойти от записи в спецификации до фактического режима соединения PCIe. Разбираем райзеры и бифуркацию, владельцев линий, общий путь до процессора и локальность NUMA.
Что вы сможете сделать
- Разделять поколение, ширину, размер слота и наблюдаемый режим соединения.
- Подтверждать точные слот, райзер, владельца линий и допустимость всего заполнения.
- Отличать бифуркацию порта для пассивного адаптера от PCIe-коммутатора.
- Сохранять неизвестную принадлежность NUMA и не обещать недоказанную локальность.
1. Что означают PCIe, поколение и xN?
Начните с трёх разных вопросов: какое соединение используется, какова возможность одной линии и сколько линий участвует. Не подменяйте эти поля скоростью приложения.
PCIe описывает системное соединение и его программный интерфейс. NVMe может работать поверх PCIe, но задаёт протокол хранения другого уровня.
PCIe соединяет два порта; несколько устройств могут находиться за коммутатором. Число устройств не показывает число независимых путей к CPU.
Проверить тезис: Системное соединение PCIe 04
Поколение и ширина — отдельные поля. Обозначение xN указывает число линий; наличие передачи и приёма не превращает x4 в x8.
Проверить тезис: Системное соединение PCIe 03 · Поколение PCIe 01 · Линия PCIe 01 03
Поколение и число передач не равны полезным байтам приложения. Для расчёта нужны ширина и правила передачи; для результата работы — измерение.
Проверить тезис: Поколение PCIe 05
В модели 4 линии × 2 условные единицы равны 8 линиям × 1 единица. Это равенство расчётных пределов одного направления, а не взаимозаменяемость топологий.
Проверить тезис: Поколение PCIe 06
2. Как отличить возможность от текущего режима?
Обратная совместимость не означает работу на максимуме новой карты. Приёмка сохраняет возможности обеих сторон и отдельное наблюдение установленного соединения.
Для конкретной системы при обратной совместимости PCIe остаются проверки ревизии CPU и поддержки BIOS платы. Общее правило не заменяет допуска платформы.
Проверить тезис: Поколение PCIe 02
В совместимой паре карта Gen 5 и порт с пределом Gen 4 не могут дать режим выше Gen 4. Фактический режим может быть ниже: верхний предел ещё не измерение.
Проверить тезис: Поколение PCIe 04
В реализации Linux 6.12 максимальная и текущая скорости, максимальная и текущая ширина PCIe представлены отдельными атрибутами. Доступность сведений проверяют на устройстве; возможности и наблюдаемый режим записывают раздельно.
Проверить тезис: Поколение PCIe 03 · Линия PCIe 04 · Системное соединение PCIe 05
Если наблюдение ниже максимума карты, сначала сверяют обе стороны, разводку и условия наблюдения. Само различие не устанавливает неисправность.
Проверить тезис: Поколение PCIe 07
Сравните ожидаемую электрическую ширину слота с текущей шириной установленного устройства. Маркировка слота не является наблюдением режима.
Проверить тезис: Слот PCIe 07
3. Поместится ли карта в разрешённую конфигурацию?
Длина разъёма отвечает только на часть вопроса. Для сервера нужны точное место, вариант райзера, электрический путь и проверка установки целиком.
Механический размер и электрическая ширина различаются: длинный слот может иметь меньше подключённых линий. Совместимая карта x4 может вставляться в x4, x8 или x16, но режим проверяют отдельно.
В заказе сохраняют позицию слота и вариант райзера. Общее число длинных разъёмов не указывает путь и владельца линий.
Проверить тезис: Слот PCIe 03
Редакторская рекомендация: получить требования к габаритам, креплению, питанию и охлаждению из документации конкретных карты и сервера. Приведённые статьи о слотах не устанавливают эти требования. Возможность вставить контактную часть не завершает проверку.
Проверить тезис: Слот PCIe 04
Проверяют допустимость всего заполнения слотов и райзеров. Пригодность каждого места в отдельной схеме не доказывает одновременную установку всех карт.
Проверить тезис: Слот PCIe 05
Свободный разъём не доказывает активный путь к CPU. Его владельца и состав процессоров сверяют по схеме, а не по фотографии.
Проверить тезис: Слот PCIe 06
4. Какая схема нужна пассивному адаптеру?
Четыре разъёма на адаптере не создают четыре независимых соединения автоматически. Проверьте деление точного порта и различайте пассивную разводку и коммутатор.
Поддерживаемый порт x16 может делиться, например, на x8+x8 или четыре x4. Нужная схема должна быть разрешена конкретным портом и настройками платформы.
Пассивный адаптер разводит линии и не добавляет 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. Кому принадлежат линии и что осталось для расширения?
Линии разных владельцев нельзя произвольно объединять. Резерв расширения должен иметь конкретный путь и не конфликтовать с текущим составом.
PCIe-пути могут идти от разных CPU или системной логики. На Intel S2600WF часть путей CPU 2 недоступна без второго процессора.
Восемь свободных линий CPU 1 и восемь CPU 2 не образуют один порт x16 CPU 1. Для устройства нужна предусмотренная платформой группа.
Проверить тезис: Бюджет линий PCIe 03
Учитывайте встроенные устройства и райзеры по полной карте. Возможности CPU не равны набору линий для свободного перераспределения.
Проверить тезис: Бюджет линий PCIe 04
Вся комплектация должна укладываться в одну допустимую карту устройства, слота, райзера, владельца, ширины и деления. Отдельные допустимые варианты нельзя просто сложить.
Проверить тезис: Бюджет линий PCIe 06
Для будущего устройства резервируют конкретный свободный путь. Один ресурс нельзя одновременно обещать нескольким несовместимым будущим картам.
Проверить тезис: Бюджет линий PCIe 07
7. Доказана ли локальность устройства и памяти?
NUMA добавляет к схеме линий карту памяти. Разделите известную принадлежность, политику новых выделений и состояние уже размещённых страниц.
Стоимость доступа к памяти зависит от узла; Linux по умолчанию старается выделять память ближе к CPU выполнения. Это не замена карте конкретной задачи.
У AMD EPYC 9004 на одном сокете может быть несколько NUMA-узлов. Их число не является числом физических CPU.
Проверить тезис: Неоднородный доступ к памяти — NUMA 04
Политика памяти и набор CPU настраиваются отдельно. Чередование распределяет выделения по узлам, а не назначает потокам CPU и не гарантирует минимальную задержку.
Смена политики не переносит автоматически старые страницы. Разрешённые узлы cpuset также ограничивают выбор политики приложения.
Значение NUMA-узла PCIe-устройства −1 в Linux означает неизвестную принадлежность. Его нельзя заменять нулём при объявлении локальности.
Проверить тезис: Неоднородный доступ к памяти — NUMA 08
8. Что передать в заказ и проверить после сборки?
Итог — проверяемая карта комплектации и результат полезной работы. Наблюдения и ещё не подтверждённые поля должны оставаться различимыми.
Заказ сохраняет одну согласованную карту всего состава. Приёмка сопоставляет её с обнаруженными устройствами и текущими режимами, оставляя неизвестные поля открытыми.
Возможности порта и текущие скорость и ширина — разные строки акта. Паспортный максимум не подставляют вместо наблюдения.
Проверить тезис: Системное соединение PCIe 05
Для деления фиксируют точный порт, райзер, CPU и BIOS; проверка должна охватить все ожидаемые устройства.
Проверить тезис: Разделение порта PCIe — бифуркация 07
Редакторская рекомендация: список PCIe-устройств подтверждает обнаружение, но не полезную работу с нужным драйвером. Испытание должно выполнять согласованную операцию.
Проверить тезис: Системное соединение PCIe 07
Редакторская рекомендация: если есть общий участок, полезную работу проверяют при совместной нагрузке. Прохождение испытаний по отдельности не закрывает этот результат.
Проверить тезис: Системное соединение PCIe 06
Проверьте инженерное мышление
Вопросы проверяют не память на аббревиатуры, а умение не делать лишних выводов.
В каталоге
- Платформы: схема PCIe и NUMA — Курс учит доходить от строки спецификации до фактического режима соединения в платформе.
- Материнские платы: разводка линий — Райзеры, слоты и владельца линий курс учит находить на схеме платы.
Источники курса
Полные сведения о первоисточниках приведены один раз для всего курса. Под тезисами — ссылки на соответствующие утверждения Архивариума.
- Первичная спецификация
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; дата тегирования задаёт редакцию. Страниц в оригинале нет.
Открыть первоисточник