CPU, GPU И RAM

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

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

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

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

GPU, NVMe и сетевой адаптер могут показывать хорошую скорость по отдельности, но замедляться при одновременной работе. Возможная причина — общий участок пути передачи, однако одного совпадения во времени недостаточно для такого вывода. Сначала записывают PCI addresses устройств и их положение в дереве системы. Документация PCI sysfs описывает ресурсы и представление устройств Linux; снимок сохраняют вместе с моделью сервера и версией ядра. Дерево помогает сформулировать гипотезу, но не заменяет сведения о платформе и измерение. Общий root complex сам по себе ещё не задаёт точную доступную пропускную способность для каждой пары операций в выбранном режиме.

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

Отдельно измеряют путь host–GPU, чтение выбранного файла NVMe и сетевую передачу в контролируемую точку. Для каждого случая фиксируют направление, объём, размеры блоков, продолжительность и состояние кеша. CUDA Best Practices Guide помогает поставить измерение передачи GPU, не смешивая его со стоимостью подготовки памяти. Опыты ограничивают заранее известным числом операций и временем. Нельзя сравнивать чтение из RAM cache с действительным чтением SSD и приписывать различие PCIe. Аналогично внешний сетевой endpoint с меняющимся bandwidth плохо подходит для проверки локального общего пути без собственного контроля условий передачи и клиента на другой стороне.

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

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

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

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

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

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

← Все материалы