📌 RDMA
RDMA (Remote Direct Memory Access) — технология, позволяющая одному компьютеру напрямую обращаться к памяти другого, минуя CPU и OS Kernel. Используется для передачи данных с минимальной задержкой и высокой пропускной способностью.
🧠 Как работает
В традиционных системах сетевой стек требует участия CPU и копирования данных между буферами. RDMA работает иначе:
- Сетевой адаптер (RNIC) напрямую читает/записывает данные в RAM удалённой машины
- Обходит IP стек и системные вызовы
- Использует специализированные протоколы: InfiniBand, RoCE (RDMA over Converged Ethernet), iWARP
Основные компоненты:
- RNIC (RDMA NIC) — с аппаратной поддержкой доступа к памяти
- Queue Pairs — пары очередей отправки/приёма
- Memory Region — заранее зарегистрированная область памяти
- Completion Queue — сигнал завершения операции
Режимы:
- Write — удалённая запись
- Read — удалённое чтение
- Send/Recv — семантика сообщений
⚙️ Где применяется
Область | Применение |
---|---|
HPC | Обмен данными между узлами без нагрузки на CPU |
storage | NVMe over Fabrics, кластерные ФС |
AI / ML | Быстрый обмен тензорами между GPU/CPU |
Cloud | Распределённые In-Memory Database, MPI |
Financial Trading | Low-latency обмен между системами |
✅ Преимущества
- Низкая задержка (микросекунды)
- Высокая пропускная способность
- Минимальная загрузка CPU и Memory Bus
- Ускорение распределённых вычислений
❌ Недостатки
- Требуется поддержка на уровне оборудования (RNIC)
- Сложность настройки и отладки
- Безопасность требует строгой изоляции регионов памяти
- Ограниченная совместимость с обычным стеком IP