Железо и инфраструктура 27 просмотров

RDMA

Remote Direct Memory Access

RDMA (Remote Direct Memory Access) — технология прямого доступа к памяти удалённого сервера без участия CPU. Ключевой компонент высокоскоростных сетей для распределённого ML-обучения.

Что такое RDMA

RDMA (Remote Direct Memory Access) — сетевая технология, позволяющая одному серверу читать и писать в память другого напрямую, минуя CPU и операционную систему обоих узлов. Это даёт минимальную латентность (<1 мкс) и максимальную пропускную способность.

Почему это важно для ML

При распределённом обучении GPU-серверы постоянно обмениваются градиентами через All-Reduce. Каждую итерацию нужно синхронизировать гигабайты данных между всеми узлами. С обычным TCP/IP это создаёт огромный оверхед — CPU тратит время на копирование данных между буферами, а сетевой стек добавляет латентность.

RDMA решает это:
- Zero-copy: данные идут напрямую из GPU-памяти одного узла в GPU-память другого
- Kernel bypass: обход сетевого стека ОС
- CPU offload: CPU свободен для других задач

Реализации RDMA

Технология Сеть Скорость Применение
InfiniBand Выделенная IB-сеть 200-800 Gbps AI-кластеры, HPC
RoCE v2 Ethernet 25-400 Gbps Облачные GPU
iWARP Ethernet 10-100 Gbps Хранилища

GPUDirect RDMA

NVIDIA GPUDirect RDMA позволяет передавать данные между GPU разных серверов без промежуточного копирования в CPU-память:

GPU сервера A → NIC → Сеть → NIC → GPU сервера B
(без копирования в RAM)

Это критично для NCCL — библиотеки коллективных операций NVIDIA, используемой в PyTorch Distributed, DeepSpeed и Megatron-LM.

Диагностика

# Проверка RDMA-устройств
rdma link show

# Тест пропускной способности
ib_write_bw -d mlx5_0 --report_gbits

# Проверка GPUDirect
nvidia-smi topo -m  # Показывает топологию GPU-NIC

Связанные термины

Используется в

Попробуйте на практике

Арендуйте GPU и запустите ML-модели в Intelion Cloud

Начать работу