RDMA описывает размещение данных и операции, RoCE — конкретное семейство сетевых транспортов для них. Общее название RDMA не выбирает RoCE автоматически.
RDMA
Определение
RDMA (удалённый прямой доступ к памяти) — это способ сетевого обмена, при котором данные попадают сразу в подготовленные буферы приложения без промежуточного копирования. Быстрый путь может работать без системного вызова на каждую операцию, а управляющие операции в Linux идут через ядро.
Также ищут: Remote Direct Memory Access · удалённый прямой доступ к памяти
Зачем это знать
Сокращение копирований не означает нулевой CPU. Карта с возможностями RDMA также не доказывает, что текущая операция приложения использует именно этот путь.
Карта понятия
Что подтверждено
В стеке RFC 5040 протокол RDMAP задаёт семантику операций RDMA поверх DDP. Непосредственное размещение данных в указанные буферы выполняет DDP; совместная работа слоёв позволяет избежать промежуточного копирования между сетевыми и прикладными буферами.
Граница применимости: RDMAP по RFC 5040 и слой DDP по RFC 5041; подготовленные буферы и совместимая реализация. Это описание данного стека, а не всех транспортов RDMA.
Быстрый путь RDMA может обращаться из пользовательского пространства к отображённым регистрам устройства без системного вызова и переключения контекста при каждой операции.
Граница применимости: Стек RDMA в Linux и совместимые драйверы устройства, ядра и пользовательского пространства; управляющий путь остаётся отдельным.
В Linux операции создания и изменения управляющих объектов RDMA, включая регистрацию памяти, идут через интерфейс ядра. Быстрый путь обращения к устройству из пользовательского пространства не означает отсутствия управляющих операций.
Граница применимости: Пользовательский интерфейс verbs Linux и совместимые драйверы. Конкретные вызовы и оптимизации поставщика устройства не обобщаются на все реализации.
Наличие возможностей RDMA в адаптере не подтверждает, что текущая передача приложения использует их. Проверяют выбранный транспорт, поставщик интерфейса и фактические операции приложения; обычный сетевой обмен не становится RDMA по названию карты.
Граница применимости: Редакторская граница аппаратной возможности и действующего пути приложения. Конкретный способ наблюдения зависит от стека; необнаруженное использование остаётся неподтверждённым.
Прямое размещение данных устраняет определённые промежуточные копирования, но не доказывает нулевую загрузку CPU приложения. Управление ресурсами и работа программы остаются частью системы; влияние на CPU проверяют на своей передаче.
Граница применимости: Редакторское сопоставление семантики размещения и разделения управляющего и быстрого путей. Нулевые затраты или одинаковое ускорение всех задач не обещаются.
Не путать
RDMA — модель операций, iWARP реализует её через RDMAP и DDP поверх надёжного транспорта. Возможность одной технологии не подтверждает любой стек.
Что проверить
- Уточните точный транспорт.
- Сверьте совместимость конечных точек.
- Проверьте регистрацию и доступ к буферам.
- Разделите управление и быстрые операции.
- Подтвердите фактическое использование приложением.
- Измерьте CPU, задержку и полезный объём.
- Не выводите нулевые затраты из прямого размещения.
Первоисточники
- RFC 5040: A Remote Direct Memory Access Protocol Specification
Определяет RDMAP и прямую доставку данных в upper-layer buffers без промежуточного копирования.
- RFC 5041: Direct Data Placement over Reliable Transports
Определяет Direct Data Placement поверх reliable transports как часть iWARP protocol suite.
Утверждения: 01
- Userspace verbs access
Описывает fast path userspace verbs через device-specific hardware без syscall на каждой операции.
- InfiniBand Architecture Specification and RoCE
Определяет RoCE как transport для RDMA через обычные Ethernet networks уровня 2 и 3.
Связанные понятия
Курсы по теме
В каталоге
- Коммутаторы для RDMA-сетей — Для RoCE путь должен передавать трафик без потерь, а для iWARP хватает обычной IP-сети.
- Сетевые карты с RDMA — RDMA снимает копирование данных с процессора, но требует поддержки на обеих сторонах соединения.