﻿# GPU, NVMe и NIC: конкуренция за общий путь PCIe

Как проверить конкуренцию GPU, NVMe и NIC за PCIe: карта пути, изолированные и совместные передачи, контроль CPU и ограниченный воспроизводимый опыт.

Автор: Команда Retrivium
Обновлено: 2026-11-01
Канонический URL: https://retrivium.ai/ru/journal/gpu-shared-pcie-root-contention/
Language: ru

## Построить карту пути

GPU, NVMe и сетевой адаптер могут показывать хорошую скорость по отдельности, но замедляться при одновременной работе. Возможная причина — общий участок пути передачи, однако одного совпадения во времени недостаточно для такого вывода. Сначала записывают PCI addresses устройств и их положение в дереве системы. [Документация PCI sysfs](https://docs.kernel.org/PCI/sysfs-pci.html) описывает ресурсы и представление устройств Linux; снимок сохраняют вместе с моделью сервера и версией ядра. Дерево помогает сформулировать гипотезу, но не заменяет сведения о платформе и измерение. Общий root complex сам по себе ещё не задаёт точную доступную пропускную способность для каждой пары операций в выбранном режиме.

## Сделать изолированные контрольные прогоны

Отдельно измеряют путь host–GPU, чтение выбранного файла NVMe и сетевую передачу в контролируемую точку. Для каждого случая фиксируют направление, объём, размеры блоков, продолжительность и состояние кеша. [CUDA Best Practices Guide](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html) помогает поставить измерение передачи GPU, не смешивая его со стоимостью подготовки памяти. Опыты ограничивают заранее известным числом операций и временем. Нельзя сравнивать чтение из RAM cache с действительным чтением SSD и приписывать различие PCIe. Аналогично внешний сетевой endpoint с меняющимся bandwidth плохо подходит для проверки локального общего пути без собственного контроля условий передачи и клиента на другой стороне.

## Добавить совместные операции

Следующая матрица запускает GPU с NVMe, GPU с NIC и выбранную общую комбинацию при сохранении параметров отдельных задач. Сравнивают не только скорость каждого устройства, но и суммарную длительность полезной работы. Фиксируют момент фактического пересечения, потому что случайно последовательный запуск ничего не говорит о конкуренции. Отчёт содержит исходный baseline и относительное изменение для каждого сценария. Если одна задача завершилась раньше, оставшаяся часть измерения уже относится к другим условиям. Поэтому результаты разделяют на интервалы с активным пересечением и без него, не усредняя их до числа, которое скрывает реальную форму взаимодействия устройств на сервере.

## Исключить другие общие ресурсы

При одновременной передаче могут закончиться CPU, memory bandwidth, доступные буферы или возможности тестового процесса. Если замедление появляется вместе с ростом CPU и не меняется при другом пути устройства, гипотеза PCIe становится слабее. Если контролируемая смена расположения меняет результат при прочих равных, появляется дополнительное свидетельство влияния топологии. Такие изменения требуют отдельного корректного сравнения, а не перестановки оборудования посреди одного теста. Нельзя объявлять физический предел PCIe по одному графику. Диагностика должна записать, какие альтернативы проверены и какие остались, включая драйверы, NUMA placement, направление обмена и ограничения удалённого участника сетевой передачи в исследуемом интервале.

## Связать опыт с inference

Артефакт включает карту пути, матрицу контрольных запусков, интервалы пересечения и показатели альтернативных узких мест. Контекст дают [NVMe для serving моделей](/ru/journal/nvme-for-model-serving/) и [сетевой egress serving](/ru/journal/cloud-egress-model-serving/). Замедление одновременной загрузки весов и GPU transfer ещё не означает ухудшение steady-state генерации: рабочие фазы могут отличаться. Поэтому итог проверяют на конкретной операции модели, которую планируется оптимизировать. Ограниченный эксперимент устанавливает наблюдаемую конкуренцию в выбранной конфигурации, а не универсальный рейтинг серверов или гарантию для всех устройств. Его ценность — в воспроизводимой развилке причин и сохранённых условиях, позволяющих проверить следующую гипотезу без гадания.
