Ваш браузер устарел и не обеспечивает полноценную и безопасную работу с сайтом. Пожалуйста обновите браузер чтобы улучшить взаимодействие с сайтом.

RDMA: зачем серверам прямой доступ к памяти

30 октября 2026
1
0 комментариев

При обмене данными между серверами процессор тратит часть ресурсов на сетевые операции. RDMA позволяет сократить эту нагрузку и может уменьшить задержки. Разберем, как работает технология, где ее применяют и что проверить перед внедрением.

Что такое RDMA

RDMA (Remote Direct Memory Access) — технология удаленного прямого доступа к оперативной памяти. С ее помощью один сервер может читать данные из памяти другого сервера или записывать их туда по сети. Для обмена используется сетевой адаптер, который поддерживает прямую передачу данных.

Обычно приложения обмениваются информацией через сетевые средства операционной системы. RDMA позволяет сократить количество промежуточных операций при передаче. Данные могут поступать непосредственно в область памяти, с которой работает программа.

При этом удаленный компьютер не получает свободный доступ ко всей памяти сервера. Программа заранее определяет, какие участки можно использовать для обмена и какие действия с ними разрешены. Остальная память остается недоступной для таких операций.

Как устроен прямой доступ к памяти

Представим, что первому серверу нужно записать блок данных в оперативную память второго. При обычном сетевом обмене программы используют сетевые средства операционной системы. Она обрабатывает передачу и прием информации, а в некоторых случаях дополнительно копирует данные между разными областями памяти.

RDMA позволяет сократить количество промежуточных операций. Разберем процесс на примере удаленной записи.

1. Подготовка памяти

Программы на обоих серверах выделяют участки оперативной памяти для обмена. Затем система регистрирует их для работы с сетевыми адаптерами.

При регистрации система закрепляет нужные страницы памяти и проверяет права доступа. Для удаленного участка создается специальный ключ. Он позволяет адаптеру проверить, разрешена ли запрашиваемая операция.

2. Установление соединения

Серверы подготавливают соединение и обмениваются необходимыми сведениями. Первый получает адрес выделенного участка памяти второго сервера и ключ доступа к нему.

После этого программа может отправить команду на чтение или запись данных в разрешенной области.

3. Передача данных

Программа первого сервера дает сетевому адаптеру команду записи. Она указывает, откуда взять информацию, сколько байтов передать и куда их записать.

Адаптер считывает указанный блок из оперативной памяти и отправляет его по сети. На втором сервере сетевой адаптер принимает информацию и размещает ее в разрешенной области.

Центральному процессору принимающего сервера не требуется обрабатывать поступающие данные через обычные сетевые средства операционной системы.

4. Завершение операции

Сетевой адаптер предоставляет отправляющей программе сведения о результате передачи. Программа может проверить, завершилась ли операция успешно.

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

RDMA также поддерживает удаленное чтение. В таком случае адаптер первого сервера получает данные из разрешенной области памяти второго и размещает их в локальной памяти.

Операционная система продолжает участвовать в подготовке соединения и управлении доступом. При этом основную работу по перемещению данных выполняют сетевые адаптеры.

InfiniBand, RoCE и iWARP: в чем разница

Для работы RDMA используют три основные технологии: InfiniBand, RoCE и iWARP. Они позволяют организовать прямой доступ к памяти через разные виды сетевых соединений. Главное различие заключается в том, как каждая технология передает данные и управляет сетевым обменом.

InfiniBand

InfiniBand — технология построения высокоскоростных сетей с низкими задержками. Она использует собственные правила передачи данных и управления соединениями.

InfiniBand изначально поддерживает удаленный прямой доступ к памяти. Технология также предусматривает управление потоком данных, чтобы принимающее устройство успевало их обрабатывать. Для этого сеть контролирует передачу между подключенными узлами.

Еще одна особенность — собственная система адресации. Специальная служба управления подсетью обнаруживает устройства и определяет пути передачи между ними. Она нужна даже при прямом соединении двух серверов.

InfiniBand использует отдельную сетевую архитектуру со своими правилами работы. Это необходимо учитывать при выборе способа подключения серверов.

RoCE

RoCE (RDMA over Converged Ethernet) позволяет передавать данные с помощью RDMA через Ethernet — технологию, на которой построено большинство современных проводных локальных сетей.

Существуют две версии RoCE.

  • RoCE v1. Передает данные в пределах одной локальной сети Ethernet. Эта версия работает без IP-маршрутизации, поэтому обмен между разными IP-подсетями через маршрутизатор невозможен.
  • RoCE v2. Использует UDP/IP. Эти протоколы позволяют адресовать и передавать пакеты между IP-подсетями через маршрутизаторы. Благодаря этому серверы могут обмениваться данными через более сложную сетевую инфраструктуру.

Отдельное внимание при использовании RoCE уделяют перегрузкам сети. Если сетевое оборудование не успевает передавать поступающие пакеты, часть из них может теряться. Повторная передача увеличивает задержки и способна снизить производительность.

Для управления перегрузками применяют специальные механизмы Ethernet. Они помогают ограничивать передачу при заполнении сетевых очередей. Конкретный способ настройки зависит от возможностей используемых устройств.

iWARP

iWARP — технология удаленного прямого доступа к памяти, которая обычно использует TCP/IP для передачи данных через Ethernet.

TCP контролирует доставку информации между устройствами. Он отслеживает порядок поступления данных и предусматривает повторную передачу при потере пакетов.

iWARP использует эти возможности для сетевого обмена. Поэтому технология может работать в сетях, где невозможно полностью исключить потерю пакетов. Однако перегрузки и повторные передачи все равно увеличивают задержки.

IP-адресация также позволяет организовать соединение между серверами из разных подсетей через маршрутизаторы.

Сравнение InfiniBand, RoCE и iWARP

Характеристика InfiniBand RoCE iWARP
Сетевая основа Собственный стандарт InfiniBand Ethernet Ethernet
Использование TCP Нет Нет Обычно да
Передача между подсетями Собственная система маршрутизации Поддерживается в RoCE v2 Поддерживается через IP
Управление потоком данных Встроенные механизмы InfiniBand Механизмы управления перегрузками Ethernet Механизмы TCP

InfiniBand использует специализированную сетевую архитектуру. RoCE дает возможность организовать прямой доступ к памяти через Ethernet, а iWARP опирается на механизмы доставки данных TCP/IP. При выборе технологии необходимо учитывать устройство существующей сети и требования к обмену между серверами.

Где используют RDMA

RDMA применяют в вычислительных кластерах, системах хранения данных и файловых службах. В каждом случае технология помогает организовать обмен между устройствами, от которого зависит работа приложений.

Вычислительные кластеры и искусственный интеллект

При обучении крупных моделей искусственного интеллекта вычисления могут распределяться между несколькими серверами с графическими ускорителями. Каждый узел выполняет свою часть работы, а затем обменивается результатами с остальными.

Например, при распределенном обучении серверы передают промежуточные результаты расчетов, которые нужны для обновления параметров модели. Пока обмен не завершится, часть вычислений может ожидать поступления информации от других узлов.

Для передачи данных между графическими ускорителями NVIDIA разработала библиотеку NCCL. Она содержит программные средства для обмена между устройствами, в том числе расположенными на разных серверах. В зависимости от конфигурации NCCL может использовать разные способы связи, включая сети с поддержкой RDMA.

Отдельная технология GPUDirect RDMA позволяет совместимому сетевому адаптеру обращаться непосредственно к памяти графического ускорителя. Данные могут передаваться без промежуточного копирования в оперативную память сервера. Для работы такого механизма необходима поддержка со стороны оборудования и программного обеспечения.

RDMA также используют в научных и инженерных вычислениях.

Например, при моделировании физических процессов несколько серверов могут одновременно рассчитывать разные части общей задачи. Программы обмениваются результатами, чтобы продолжить вычисления с учетом данных соседних узлов.

Системы хранения данных

Серверы могут использовать накопители, расположенные в отдельной системе хранения данных. Для доступа к ним применяют различные сетевые технологии, в том числе NVMe over Fabrics (NVMe-oF).

NVMe — протокол обмена командами и данными с твердотельными накопителями. NVMe-oF расширяет его применение на сетевые соединения. Сервер получает возможность обращаться к удаленному блочному устройству хранения через сеть.

Один из вариантов подключения — NVMe/RDMA. Он использует прямой доступ к памяти для передачи команд и данных между сервером и хранилищем.

Рассмотрим пример. На сервере работает база данных, а ее файлы размещены на удаленной СХД. Когда приложению требуется прочитать информацию, сервер отправляет запрос к хранилищу. СХД обрабатывает команду и возвращает нужный блок данных. Операции записи выполняются по аналогичной схеме с передачей информации в хранилище.

NVMe/RDMA организует сетевую часть такого обмена. Сервер может работать с удаленным блочным устройством, используя протокол NVMe.

Подобрать систему хранения данных под задачи компании
Посмотреть варианты →
Реклама 16+. ООО "ГК КРЭББИТ". ИНН 7722377552, ОГРН 1167746991170. 107023, г. Москва, ул. Малая Семеновская, д. 9, стр. 3.

Файловые серверы и виртуализация

В Windows Server прямой доступ к памяти применяется через SMB Direct. Эта технология расширяет возможности протокола SMB, который обеспечивает доступ к файлам и общим папкам по сети.

Один из сценариев — хранение файлов виртуальных машин Hyper-V на отдельном файловом сервере.

Представим инфраструктуру с несколькими вычислительными узлами. На них работают виртуальные машины, а файлы виртуальных дисков находятся в общем сетевом хранилище. Когда система читает или записывает информацию, вычислительный сервер обращается к файловому ресурсу через SMB.

При использовании SMB Direct сетевой обмен может выполняться с меньшей нагрузкой на центральный процессор и более низкими задержками. Это имеет значение для приложений, которые регулярно обращаются к удаленным файлам.

Microsoft также поддерживает размещение файлов баз данных SQL Server на общих ресурсах SMB. В совместимой конфигурации такая схема может использовать SMB Direct.

Таким образом, применение RDMA зависит от задачи, которую решает серверная инфраструктура. В вычислительных кластерах технология участвует в обмене результатами расчетов, в системах хранения обслуживает обращения к удаленным блочным устройствам, а в файловых службах помогает передавать данные между серверами.

Важная информация
Важная информация
Важно!

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

Какое оборудование требуется

Для работы RDMA нужно проверить совместимость серверов, сетевых адаптеров, соединений и программного обеспечения. Начать стоит с приложения, которое будет использовать прямой доступ к памяти. Его требования помогут определить, какая сетевая технология и какие компоненты подходят для проекта.

Сетевые адаптеры

На обоих концах соединения должны работать адаптеры с аппаратной поддержкой RDMA. Высокая скорость сетевой карты сама по себе не гарантирует такую возможность.

При выборе важно учитывать конкретную модель и поддерживаемый способ передачи. Например, NVIDIA выпускает следующие адаптеры:

  • ConnectX-6 Dx — работает в сетях Ethernet и поддерживает RoCE.
  • ConnectX-7 — семейство адаптеров с вариантами для Ethernet и InfiniBand. Возможности зависят от исполнения карты.

Перед заказом нужно проверить точный артикул устройства. Даже внутри одного семейства модели могут различаться количеством и скоростью портов, а также набором поддерживаемых функций.

Коммутаторы и сетевые подключения

Серверы можно соединить напрямую, если адаптеры и выбранная технология поддерживают такую схему. Для подключения нескольких узлов обычно используют коммутаторы.

Здесь важно проверить совместимость оборудования. Адаптеры и коммутаторы должны поддерживать выбранный тип сети. Также необходимо согласовать скорости портов, кабели и приемопередающие модули, которые обеспечивают подключение по оптоволокну или медным линиям.

Для RoCE особое значение имеет управление перегрузками Ethernet. При проектировании сети могут использоваться два механизма:

  • PFC (Priority Flow Control) — временно приостанавливает передачу определенного класса трафика, когда сетевое устройство не успевает его обрабатывать.
  • ECN (Explicit Congestion Notification) — позволяет отмечать пакеты при возникновении перегрузки. Полученные сведения помогают конечным устройствам регулировать интенсивность передачи.

PFC требуется не во всех конфигурациях RoCE. Набор механизмов зависит от выбранной архитектуры и возможностей оборудования. Поэтому перед внедрением нужно сверить настройки с рекомендациями производителей адаптеров и коммутаторов.

Совместимость с сервером

Сетевая карта должна подходить к серверной платформе. Для плат расширения проверяют разъем PCIe — интерфейс, через который адаптер взаимодействует с системой.

Значение имеют версия PCIe, количество доступных линий и физическое исполнение платы. Эти параметры определяют, можно ли установить адаптер и обеспечить необходимую пропускную способность соединения с процессором и оперативной памятью.

Также стоит проверить документацию сервера. Производители могут устанавливать ограничения на использование отдельных разъемов и поддерживаемых сетевых карт.

Программная поддержка

После установки оборудования необходимо настроить драйверы и программные компоненты для выбранной операционной системы.

Драйвер позволяет системе взаимодействовать с сетевой картой. Его версия должна быть совместима с адаптером и встроенным программным обеспечением устройства.

В Linux для работы с RDMA используют пакет rdma-core. Он содержит библиотеки и другие компоненты, которые помогают программам обращаться к сетевому оборудованию.

В Windows Server прямой доступ к памяти может использовать SMB Direct. Для его работы нужна поддержка RDMA со стороны сетевых карт и включенная функция SMB Multichannel. Она обнаруживает возможности адаптеров и устанавливает соответствующие соединения. Обычно SMB Multichannel уже включена по умолчанию.

Отдельно проверяют само приложение.

Например, система хранения с поддержкой NVMe/RDMA должна использовать соответствующий способ подключения. Подходящий сетевой адаптер не обеспечит работу RDMA, если программа не умеет его использовать.

Что учесть перед закупкой

Перед составлением спецификации необходимо сверить совместимость компонентов по документации производителей. Особенно важно проверить точные модели адаптеров, поддерживаемые сетевые технологии, возможности серверных разъемов и требования программного обеспечения.

Если часть инфраструктуры уже установлена, проверка поможет определить, какое оборудование подходит для дальнейшего использования, а что потребуется добавить или заменить.

Серверы для ИИ и вычислительных кластеров
Посмотреть варианты →
Реклама 16+. ООО "ГК КРЭББИТ". ИНН 7722377552, ОГРН 1167746991170. 107023, г. Москва, ул. Малая Семеновская, д. 9, стр. 3.

Преимущества и ограничения RDMA

Даже при одинаковой скорости сетевых портов RDMA может давать разный результат. Одно приложение постоянно обращается к другим серверам, другое большую часть времени занято вычислениями. Чтобы оценить пользу технологии, нужно учитывать характер нагрузки и возможные ограничения.

Преимущества RDMA

Снижение нагрузки на процессор

Когда сервер постоянно отправляет и получает большие объемы данных, обслуживание сетевого обмена может занимать значительную часть процессорного времени. RDMA помогает сократить эти затраты.

Освободившиеся ресурсы процессора могут использовать сами приложения. Насколько заметным будет выигрыш, зависит от интенсивности обмена и того, сколько ресурсов сеть потребляла до внедрения технологии.

Сокращение задержек

Для некоторых приложений важно время каждой сетевой операции. Если программа должна дождаться ответа другого сервера, задержки могут замедлять выполнение всей задачи.

RDMA сокращает затраты времени на программную обработку передачи. Это особенно полезно при частых обращениях к удаленным данным.

Размер передаваемого блока здесь не всегда имеет решающее значение. Даже короткие запросы могут создавать заметные задержки, если приложение выполняет их очень часто и зависит от получения ответов.

Эффективное использование пропускной способности

При передаче больших объемов информации процессор может ограничивать скорость обмена. Например, он не успевает обслуживать сетевые операции с той интенсивностью, которую позволяет соединение.

RDMA снижает затраты процессорного времени на передачу. В подходящей конфигурации это помогает полнее использовать пропускную способность сети.

Однако физическая скорость порта остается прежней. Если канал уже полностью загружен, одна лишь поддержка RDMA не позволит передать через него больше данных.

Ограничения RDMA

Зависимость от состояния сети

Даже при поддержке RDMA задержки могут увеличиваться из-за перегрузок.

Например, если несколько серверов одновременно отправляют большие объемы информации через один коммутатор, сетевые очереди могут заполняться.

В сетях RoCE потеря пакетов и их повторная передача способны снижать производительность. Поэтому важны стабильная работа соединений и правильное управление сетевым трафиком.

Затраты на подготовку памяти

Перед обменом приложение регистрирует участки памяти, к которым получит доступ сетевой адаптер. Эта подготовка требует дополнительных операций и ресурсов.

Если программа постоянно регистрирует новые области для коротких передач, затраты могут уменьшить ожидаемый выигрыш. Для снижения расходов некоторые приложения повторно используют уже подготовленные участки памяти.

Особенно заметной такая проблема бывает при работе с памятью графических ускорителей через GPUDirect RDMA, где подготовка памяти может занимать существенное время.

Сложность внедрения и сопровождения

RDMA требует согласованной работы оборудования, операционной системы и приложений. Ошибки в настройке могут приводить к нестабильной скорости передачи и увеличению задержек.

Администраторам также приходится учитывать особенности диагностики. Если производительность снизилась, причину нужно искать с учетом состояния сети, работы адаптеров и поведения приложения.

Это увеличивает требования к проектированию и сопровождению инфраструктуры. Дополнительные затраты следует учитывать при оценке целесообразности внедрения.

Когда RDMA оправдана

RDMA имеет смысл рассматривать, если приложение часто ожидает данные от других серверов или сетевой обмен занимает заметную долю процессорных ресурсов. В этих условиях сокращение затрат на передачу может улучшить работу системы.

При этом важно определить основное ограничение производительности. Если приложение большую часть времени выполняет вычисления или ожидает завершения операций с накопителями, ускорение сетевого обмена может почти не изменить итоговый результат.

Оценить пользу поможет сравнение работы приложения при одинаковой нагрузке с RDMA и без нее. Помимо задержек и пропускной способности сети, стоит учитывать время выполнения основных задач и загрузку процессора.

Если полученный выигрыш существенен для приложения, его можно сопоставить с расходами на внедрение и обслуживание. Такой подход позволит оценить целесообразность RDMA для конкретной инфраструктуры.

Цитата
Цитата
Оценить пользу поможет сравнение работы приложения при одинаковой нагрузке с RDMA и без нее.
— Редакция CRABBIT

Вопросы и ответы

DMA обеспечивает прямой обмен данными между устройствами и оперативной памятью внутри одного компьютера. RDMA позволяет выполнять подобные операции по сети, обращаясь к разрешенным областям памяти другого сервера.

В Windows Server команда Get-SmbMultichannelConnection показывает выбранные соединения SMB и поддержку RDMA. Фактическую передачу проверяют по счетчикам SMB Direct во время обмена данными. В Linux для проверки активности можно использовать rdma statistic show. Доступные показатели зависят от адаптера и драйвера.

Да, если средство виртуализации позволяет предоставить гостевой системе доступ к совместимому сетевому устройству. Возможен и другой вариант: физический сервер использует RDMA для доступа к файлам виртуальной машины, как при работе Hyper-V через SMB Direct.

Это зависит от приложения. SMB Direct может перейти на обычную передачу через TCP/IP, если сетевой путь остается доступным. При использовании NVMe/RDMA потеря соединения может нарушить доступ к хранилищу. Восстановление работы зависит от наличия резервных путей.


#Серверы
#IT-инфраструктура
0 комментариев
CRABBIT
ваш проводник в мире IT
Раз в неделю - дайджест материалов, достойных внимания
Другие статьи
#Серверы #ИИ
3 декабря 2025
H3C: что это и почему являются ведущим выбором для телеком- и дата‑центров?
Разбираем, как серверы H3C ускоряют трафик на 45%, снижают задержки до 0,5 мс и становятся основой телеком- и AI-инфраструктуры Подробнее...
CRABBIT
#IT-инфраструктура #СХД
14 октября 2026
Миграция данных между СХД: как подготовить перенос и снизить риск простоя
При замене СХД важно сохранить доступ приложений к данным и избежать потери изменений во время переключения. Разберем, как подготовить миграцию между хранилищами, сократить время простоя и проверить результат переноса. Подробнее...
CRABBIT
#IT-инфраструктура #СХД
21 сентября 2026
NAS, SAN и DAS: сравнение систем хранения данных
Способ работы с данными определяет, как хранилище подключается к серверам и приложениям. В статье разберем архитектуру каждого подхода, используемые протоколы, ограничения и требования к инфраструктуре. Подробнее...
CRABBIT
#Серверы
19 ноября 2025
Почему компании выбирают серверы Acer: польза для вашего бизнеса
Разбираем, как серверы Acer дают стабильности, снижают TCO и ускоряют анализ данных в крупных корпоративных средах Подробнее...
CRABBIT
#IT-инфраструктура
13 августа 2026
Маршрутизатор: что это, как работает и зачем нужен
В статье разберем принцип работы маршрутизатора, его функции, виды и основные параметры для выбора оборудования в компанию. Подробнее...
CRABBIT
#Серверы #Обзор
21 января 2026
Обзор рынка российского серверного оборудования: 5 решений, которые стоит рассмотреть в 2026 году
В этом обзоре разберем пять решений, которые появились или получили серьезные обновления в 2025 году. Подробнее...
CRABBIT
#Серверы #IT-инфраструктура
3 сентября 2026
SAS, SATA и NVMe: какие диски выбрать для сервера
Переход с SATA на NVMe не гарантирует ускорения сервера. При этом слишком медленные накопители сами могут сдерживать работу приложений. Разберем различия технологий и их применение Подробнее...
CRABBIT
#Серверы #IT-инфраструктура
14 сентября 2026
ECC-память: что это, как работает и зачем нужна
Ошибки в оперативной памяти могут проявляться сбоями программ, повреждением данных или нестабильной работой системы. В серверной инфраструктуре последствия таких ошибок особенно важны, поэтому при выборе памяти учитывают поддержку ECC. Подробнее...
CRABBIT
#Серверы #IT-инфраструктура #СХД
4 сентября 2026
Резервное копирование данных: виды, хранение и выбор оборудования
После потери рабочих данных компания может надолго остановиться. Даже если копии сохранились, вернуть приложения в работу не всегда удается быстро. В статье разберем, как организовать резервное копирование под задачи бизнеса. Подробнее...
CRABBIT
#Серверы
18 сентября 2026
Однопроцессорный или двухпроцессорный сервер: различия и сценарии применения
Архитектура платформы определяет, как распределяются ресурсы и какие ограничения возникают при расширении системы. Разберем, где разница между этими вариантами действительно влияет на работу сервера и какие исходные данные нужны для подбора конфигурации. Подробнее...
CRABBIT
0 комментариев