什么是RDMA

From The Power of Many
Revision as of 06:04, 14 August 2020 by Snowshi (talk | contribs) (Created page with "RDMA, Remote Direct Memory Access, 远程内存直接访问, 是一种性能加速技术, 通过网卡来直接访问另一台服务器上的内存,不需要CPU介入。...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

RDMA, Remote Direct Memory Access, 远程内存直接访问, 是一种性能加速技术, 通过网卡来直接访问另一台服务器上的内存,不需要CPU介入。

服务器间传统的数据交换需要通过CPU从内存中读取数据, 然后通过网络协议堆栈交由网卡把数据传送到另一台服务器; 另一台服务器执行相反的操作,经过网卡把数据交给CPU再写入内存. 这中间消耗大量CPU资源。RDMA则通过一整套的软硬件协议,把这些工作完全交由网卡实现,这样可以提高跨服务器数据访问的效率,节省CPU资源。

三种 RDMA 技术方案:

  • InfiniBand(IB) 需要 InfiniBand 专用的网卡和交换机,性能高,昂贵
  • RDMA Over Converged Ethernet (RoCE) 利用现有以太网和交换机支持RDMA 只需要网卡支持 RoCE
  • Internet Wide Area RDMA Protocol (iWARP) 在TCP网络上支持RDMA 要求网卡支持 iWARP