access2010密匙

RDMA(远程直接内存访问)技术
RDMA(Remote Direct Memory Access)是在高性能计算(HPC)领域中诞生的一项技术,旨在解决传统TCP/IP网络协议栈在数据传输方面所面临的瓶颈。传统网络中,数据在传输过程中需要经过发送端CPU封装协议头、接收端CPU解析协议头,导致延迟高、CPU占用率高以及带宽利用率低的问题。RDMA技术的出现,通过绕过操作系统内核和采用零拷贝机制,实现了两点间的内存直接读写,从而极大地释放了CPU资源。
RDMA是一种网络协议,它允许计算机通过网络直接读写另一台计算机的内存空间,而无需对方CPU参与数据搬运。数据传输仅通过网卡(RNIC)完成,极大地提高了数据传输的效率。其核心标准由IBTA(InfiniBand Trade Association)制定,支持InfiniBand、RoCE和iWARP三种传输层协议。
核心原理与架构
1. 工作流程:
建立连接:通过QP(队列对)建立通信上下文,包括发送队列(SQ)和接收队列(RQ)。
内存注册:预先将目标内存区域注册为RDMA可访问区域,并生成物理地址和密钥。
数据传输:发送端应用直接向SQ提交工作请求,包含操作类型和内存地址。接收端网卡硬件解析请求,直接读写目标内存,完成后通过CQ(完成队列)通知应用。
2. 关键技术特性:
零拷贝:数据不经过内核缓冲区,直接从用户内存传输到网卡。
内核旁路:用户态驱动直接控制网卡,避免了系统调用开销。
3. 性能指标:
延迟:达到亚微秒级,InfiniBand可达0.5μs,RoCE v2约为1-3μs。
吞吐量:在100Gbps网络中,带宽利用率可达90%以上。
CPU占用率:接近0%,仅需处理完成事件。
关于RoCE技术
RoCE(RDMA over Converged Ethernet)技术是在以太网基础上实现RDMA协议的标准。它的出现,旨在降低RDMA技术的部署成本。虽然InfiniBand性能卓越,但其专用的交换机和网卡导致成本较高。而RoCE技术则通过以太网来承载RDMA,大大降低了成本。
RoCE技术分为两个版本:RoCE v1和RoCE v2。RoCE v1基于以太网链路层(Layer 2),依赖无损网络(PFC+ECN)。而RoCE v2则基于UDP/IP(Layer 3),支持路由和跨子网通信。
RoCE技术的核心原理是通过将InfiniBand传输语义映以太网帧,复用现有网络基础设施提供RDMA能力。其优点在于成本低,可以复用以太网交换机;兼容性强,支持标准IP路由和VXLAN隧道;性能接近InfiniBand,RoCE v2的延迟仅比InfiniBand高10-20%。
