SPDK/NVMe存储技术分析之RDMA概述

本文深入探讨了RDMA(Remote Direct Memory Access)技术,解释了DMA和RDMA的基本原理,强调了RDMA如何通过零拷贝、内核旁路和无CPU干预实现高效的数据传输。RDMA支持InfiniBand、RoCE和iWARP等网络协议,广泛应用于存储领域如NVMe over Fabrics。文章还介绍了核心概念,如Memory Registration、QueuePairs和数据传输操作。
摘要由CSDN通过智能技术生成

1. DMA和RDMA的概念

1.1 什么是DMA?

Direct Memory Access(DMA) is a capability provided that allows data to be sent directly from an attached device to the memory on the computer's motherboard.
DMA(直接内存访问)是一种能力,允许在计算机主板上的设备直接把数据发送到内存中去,数据搬运不需要CPU的参与。

1.2 什么是RDMA?

RDMA is a concept whereby two or more computers communicate via Direct Memory Access directly from the main memory of one system to the main memory of another.
RDMA是一种概念,在两个或者多个计算机进行通讯的时候使用DMA, 从一个主机的内存直接访问另一个主机的内存。

RDMA 是一种主机卸载、主机旁路技术,它允许应用程序(包括存储)直接向/从另一个应用程序的内存空间传输数据。支持 RDMA 的以太网 NIC (RNIC)——而不是主机——管理源和目标之间的可靠连接。应用程序使用专用队列对 (QP) 和完成队列 (CQ) 与 RDMA NIC 进行通信:

  • 每个应用程序可以有许多 QP 和 CQ
  • 每个 QP 都有一个发送队列 (SQ) 和接收队列 (RQ)
  • 每个 CQ 可以与多个 SQ 或 RQ 关联

RDMA是一种host-offload, host-bypass技术,允许应用程序(包括存储)在它们的内存空间之间直接做数据传输。具有RDMA引擎的以太网卡(RNIC)--而不是host--负责管理源和目标之间的可靠连接。使用RNIC的应用程序之间使用专注的QP和CQ进行通讯:

  • 每一个应用程序可以有很多QP和CQ
  • 每一个QP包括一个SQ和RQ
  • 每一个CQ可以跟多个SQ或者RQ相关联

2. RDMA的优势

传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值