Удалённый прямой доступ к памяти
Удалённый прямой доступ к памяти (англ. remote direct memory access, RDMA) — аппаратное решение для обеспечения прямого доступа к оперативной памяти другого компьютера при помощи высокоскоростной сети. Такой доступ позволяет получить доступ к данным, хранящимся в удалённой системе без привлечения средств операционных систем обоих компьютеров. Является методом пересылки данных с высокой пропускной способностью и низкой задержкой сигнала, и особенно полезен в больших параллельных вычислительных системах — кластерах.
RDMA реализован в различных протоколах, например, в Virtual Interface Architecture , InfiniBand, iWARP , RoCE[1], Intel Omni-Path.
Аппаратная реализация RDMA позволяет реализовать метод zero-copy для сетей. При передаче данных с помощью RDMA исключаются лишние копирования между приложением и буферами операционной системы; соответственно, снижается объём работы центрального процессора, нагрузка на кэш-память, уменьшается количество переключений контекста, а сами передачи могут производиться одновременно с другой полезной работой. Когда приложение исполняет запрос на чтение или запись в удалённую оперативную память, данные могут доставляться напрямую в сетевой адаптер, уменьшая задержки при передаче данных.
При использовании простых односторонних примитивов RDMA отправитель не информируется о завершении передачи. Часто по завершении пересылки адаптер выставляет некоторые значения в памяти, но для обнаружения такого изменения отправитель должен считывать этот флаг в цикле. Циклический опрос потребляет процессорное время, кроме того, возрастают накладные расходы памяти и задержки для систем с очень большим количеством узлов.
Примечания
- ↑ Источник . Дата обращения: 1 декабря 2016. Архивировано 22 декабря 2016 года.
Ссылки
- "Why Compromise?" // HPCwire, Gilad Shainer (Mellanox Technologies), 2006
- A Critique of RDMA // HPCwire, 2006
- A Tutorial of the RDMA Model // HPCwire, 2006
В статье не хватает ссылок на источники (см. также рекомендации по поиску). |