RDMA (Remote direct memory access)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 12:41, 14 мая 2019.

В программировании 'удаленный прямой доступ к памяти' ( RDMA ) является прямой доступ к памяти из памяти одного компьютера в другой без участия операционной системы. Это позволяет создавать сети с высокой пропускной способностью и низкой latency, что особенно полезно в массово параллельных компьютерных кластерах. RDMA реализован в различных протоколах, например, в Virtual Interface Architecture, InfiniBand, iWARP, RoCE, Intel Omni-Path.

Описание

RDMA поддерживает zero-copy сетевое взаимодействие, позволяя сетевому адаптеру передавать данные из провода непосредственно в память приложения или из памяти приложения непосредственно в провод, устраняя необходимость копировать данные между памятью приложения и данными буферах в операционной системе. Такие передачи не требуют никакой работы со стороны процессоров, кэшей или переключение контекста, и передачи продолжаются параллельно с другими операциями системы. Это уменьшает задержку при передаче сообщения. Однако эта стратегия представляет ряд проблем, связанных с тем, что целевой узел не уведомляется о завершении запроса (односторонняя связь).

Передача данных RDMA

Принятие

По состоянию на 2018 год RDMA получила более широкое признание в результате улучшений реализации, которые обеспечивают хорошую производительность по сравнению с обычной сетевой инфраструктурой [1], Например, RoCE (RDMA over Converged Ethernet) теперь может работать с инфраструктурой с потерями или без потерь. Кроме того, iWARP позволяет реализовать Ethernet RDMA на физическом уровне, используя TCP / IP в качестве транспорта, объединяя преимущества производительности и задержки в RDMA с недорогим, основанным на стандартах решением.[2] Консорциум RDMA и DAT Collaborative[3] сыграли ключевую роль в разработке протоколов RDMA и APIs для рассмотрения группами по стандартизации, такими как Internet Engineering Task Force и Interconnect Software Consortium.[4] Поставщики оборудования начали работать над сетевыми адаптерами с более высокой пропускной способностью на основе RDMA со скоростями 100 Гбит / с.[5][6] Поставщики программного обеспечения, такие как Red Hat и Oracle Corporation, поддерживают эти API в своих последних продуктах,[7]и по состояню на 2013 инженеры начали разработку сетевых адаптеров, которые реализуют RDMA через Ethernet.[8] И в Red Hat Enterprise Linux, и в Red Hat Enterprise MRG[9] есть поддержка RDMA. Microsoft поддерживает RDMA в Windows Server 2012 через SMB Direct. Продукт VMware ESXi также поддерживает RDMA с 2015 года.

Обычные реализации RDMA включают в себя Архитектура виртуального интерфейса, RDMA over Converged Ethernet (RoCE), InfiniBand, Omni-Path и iWARP.

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

Аппаратная реализация RDMA позволяет реализовать метод zero-copy для сетей. При передаче данных с помощью RDMA исключаются лишние копирования между приложением и буферами операционной системы. Соответственно снижается объём работы центрального процессора, нагрузка на кэш-память, уменьшается количество переключений контекста, а сами передачи могут производиться одновременно с другой полезной работой. Когда приложение исполняет запрос на чтение или запись в удалённую оперативную память, данные могут доставляться напрямую в сетевой адаптер, уменьшая задержки при передаче данных.

Недостатки

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

Примечания

  1. RoCE Rocks over Lossy Network: https://dl.acm.org/citation.cfm?id=3098588&dl=ACM&coll=DL
  2. "Understanding iWARP" (PDF). Intel Corporation. Retrieved 16 May 2018. 
  3. "DAT Collaborative website". Archived from the original on 17 January 2015. Retrieved 14 October 2014. 
  4. The Interconnect Software Consortium website Archived 2005-08-30 at the Wayback Machine.
  5. "Microsoft Based Solutions - Mellanox Technologies". Retrieved 14 October 2014. 
  6. "40Gbe SMB Direct RDMA Over Ethernet For Windows Server 2012 - Chelsio Communications". Retrieved 14 October 2014. 
  7. https://access.redhat.com/solutions/22188
  8. "40Gbe SMB Direct RDMA Over Ethernet For Windows Server 2012 - Chelsio Communications". Chelsio Communications. 2013-04-02. Retrieved 2016-07-15. The demonstration will show Microsoft's Windows Server 2012 SMB Direct running at line-rate 40Gb using RDMA over Ethernet (iWARP). 
  9. "Red Hat Enterprise MRG 2.0 Now Available". Archived from the original on 25 August 2016. Retrieved 23 June 2011. 

Ссылки