Удалённый прямой доступ к памяти (англ. remote direct memory access, RDMA) — аппаратное решение для обеспечения прямого доступа к оперативной памяти другого компьютера при помощи высокоскоростной сети. Такой доступ позволяет получить доступ к данным, хранящимся в удалённой системе без привлечения средств операционных систем обоих компьютеров. Является методом пересылки данных с высокой пропускной способностью и низкой задержкой сигнала, и особенно полезен в больших параллельных вычислительных системах — кластерах.
RDMA реализован в различных протоколах, например, в Virtual Interface Architecture[англ.], InfiniBand, iWARP, RoCE[англ.][1], Intel Omni-Path.
Аппаратная реализация RDMA позволяет реализовать метод zero-copy для сетей. При передаче данных с помощью RDMA исключаются лишние копирования между приложением и буферами операционной системы; соответственно, снижается объём работы центрального процессора, нагрузка на кэш-память, уменьшается количество переключений контекста, а сами передачи могут производиться одновременно с другой полезной работой. Когда приложение исполняет запрос на чтение или запись в удалённую оперативную память, данные могут доставляться напрямую в сетевой адаптер, уменьшая задержки при передаче данных.
При использовании простых односторонних примитивов RDMA отправитель не информируется о завершении передачи. Часто по завершении пересылки адаптер выставляет некоторые значения в памяти, но для обнаружения такого изменения отправитель должен считывать этот флаг в цикле. Циклический опрос потребляет процессорное время, кроме того, возрастают накладные расходы памяти и задержки для систем с очень большим количеством узлов.
Примечания
Ссылки
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.