Что такое удаленный прямой доступ к памяти (RDMA)?

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

Определение: Удаленный прямой доступ к памяти (RDMA)

Как и в случае с родственным прямым доступом к памяти (DMA), можно использовать удаленный прямой доступ к памяти (RDMA) для передачи данных непосредственно из основной или рабочей памяти компьютера в хранилище другого компьютера. В этом случае операционные системы, центральные процессоры и кэш-память полностью игнорируются, что позволяет снизить нагрузку на аппаратные ресурсы. Для этого передача данных в хранилище с помощью RDMA осуществляется через частный буфер, в который пользователь передает свои данные. При этом технология обращается к сетевым картам системы, где передача обрабатывается через Ethernet или InfiniBand.

Определение

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

Многие продукты (аппаратные и программные) уже поддерживают RDMA. Среди таких решений:

  • Apache Hadoop
  • Spark
  • Baidu Paddle
  • Сервер Dell EMC PowerEdge
  • Масштабируемые процессоры Intel Xeon
  • Microsoft Windows Server (2012 и более поздние версии)

Как работает RDMA?

Чтобы обмен данными через RDMA работал, необходим соответствующий набор протоколов в сетевых картах. Как правило, в качестве основы используется TCP/IP. Только благодаря подходящему транспортному протоколу технология может поддерживать, например, так называемые сети нулевого копирования. При работе в сети нулевого копирования не используется процессор компьютера. Если обе системы позволяют использовать удаленный прямой доступ к памяти, передача данных между ними происходит значительно быстрее, чем между системами без поддержки RDMA.

Примечание

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

Для бесперебойной передачи данных с помощью RDMA наилучшие требования предъявляются к следующим сетевым технологиям и интерфейсам:

  • RDMA over Converged Ethernet (RoCE): RoCE обеспечивает RDMA через соединение Ethernet.
  • Internet Wide Area RDMA Protocol (IWARP): Для передачи данных IWARP полагается на транспортный протокол TCP, или, как вариант, на потоковый TCP. IWARP был создан по инициативе Internet Engineering Task Force (IETF) для того, чтобы записывать задачи и процессы непосредственно на приложения в другой системе.
  • InfiniBand: InfiniBand — это стандарт связи для высокопроизводительных компьютеров с целью передачи файлов с меньшей задержкой. Он часто используется в вычислительных центрах для соединения компьютерных кластеров друг с другом. RDMA через InfiniBand — один из самых популярных методов быстрого обмена данными.

Однако удаленный прямой доступ к памяти может также использоваться в сочетании с флеш- или SSD-накопителями и NVDIMM (энергонезависимыми модулями двойной линейной памяти).

Эволюция RDMA все еще в самом разгаре. Как и в случае с RDMA over Fabrics, его следующее потенциальное применение уже находится в начальной стадии. Инфраструктуры между несколькими серверами и компьютерами называются сетью. Они поддерживают передачу данных через сети волоконных каналов (сети хранения данных) и PCI Express (стандарт для высокоскоростных соединений).

Каковы преимущества и недостатки удаленного прямого доступа к памяти?

Одним из основных преимуществ RDMA является его выдающаяся скорость по сравнению с другими технологиями и протоколами передачи данных, такими как iSCSI (протокол SCSI через TCP), оптоволоконный канал (FC) или оптоволоконный канал через Ethernet (FCoE). Однако конечная скорость обмена данными также зависит от варианта RDMA. Особенно популярны Ethernet и InfiniBand, поскольку они обеспечивают скорость передачи данных от 10 до 100 гигабит в секунду. Это особенно подходит для областей применения, требующих высокой вычислительной мощности, таких как распределенные базы данных, анализ больших данных или приложения в центрах обработки данных.

Однако RDMA имеет и недостатки по сравнению с оптоволоконными каналами, которые до сих пор используются многими компаниями. Для внедрения RDMA компании должны организовать большие инвестиции, поскольку технология требует приобретения нового оборудования и компонентов протокола. Таким образом, затраты на Remote Direct Memory Access значительно выше, чем на FC или FCoE. Кроме того, скоростная передача данных через RDMA работает только в том случае, если все системы поддерживают эту технологию.

Оцените статью
cdelat.ru
Добавить комментарий