关于RDMA技术原理、三种主流实现技术对比
远程直接内存访问RDMA技术是一种革命性的数据传输技术,它通过直接内存访问实现了数据在计算机系统间的快速传输,无需操作系统介入。本文将深入探讨RDMA技术的核心原理及其在高性能计算集群中的应用。
RDMA技术的起源可以追溯到Infiniband网络,专为高性能计算集群设计。传统的基于Socket套接字(TCP/IP协议栈)的网络通信涉及大量数据传输和处理,数据在系统的DRAM、处理器Cache和网卡Buffer之间频繁搬移,导致CPU计算资源和内存带宽的大量占用,网络延迟较高。RDMA技术的出现解决了这一问题。例如,在40Gbps的高速数据传输场景下,RDMA技术能将CPU占用率从满载降低到仅5%,同时将网络延迟从毫秒级降低到微秒级。
RDMA技术的核心在于其独特的硬件和网络机制,让计算机可以直接访问其他计算机的内存,绕过复杂的软件协议栈处理,实现了数据的高速传输。这一技术的实现原理与传统的TCP/IP架构形成鲜明对比。
RDMA技术在Infiniband传输网络上率先实现,技术先进但成本高昂。随着技术的发展,RDMA技术逐渐被移植到传统的Ethernet以太网上,大大降低了使用成本,推动了其普及。在以太网上,RDMA技术主要体现为iWARP和RoCE两种形式,其中RoCE又包括RoCEv1和RoCEv2两个版本。RoCEv2的最大改进在于支持IP路由。
Infiniband是一种支持RDMA的新一代网络协议,需要特殊的NIC和交换机支持。RoCE则是一种允许在以太网上执行RDMA的网络协议,其网络标头结构独特。而iWARP则是另一种允许在TCP上执行RDMA的网络协议,它在标准以太网基础设施上工作,但性能优势相对较小。
RDMA应用和RNIC之间的传输接口层被称为Verbs或RDMA API,主要有内存Verbs和消息Verbs两种形式。内存Verbs(One-SidedRDMA)包括RDMA Reads、RDMA Writes、RDMA Atomic等,这种模式的RDMA访问完全不需要远端机的确认。而消息Verbs(Two-SidedRDMA)包括RDMA Send、RDMA Receive等,需要远端机CPU的参与。
至于RDMA over TCP(iWARP)协议,它能在标准的基于TCP/IP协议的网络上工作,如广泛使用的以太网。iWARP允许多种传输类型共享相同的物理连接,如网络、I/O、文件系统、块存储以及处理器间的消息通讯。这种协议的灵活性使其在许多数据中心得到了广泛应用。而RDMA over Converged Ethernet(RoCE)则是一种允许应用通过以太网实现远程内存访问的网络协议,目前有两个协议版本。RoCE v1是一种链路层协议,能在同一个广播域下的任意两台主机间实现直接访问。这一技术的出现进一步推动了RDMA技术在现代数据中心和网络应用中的普及和发展。
RoCE v2是一种互联网层协议,具备路由功能。尽管RoCE协议的优势是基于融合以太网的特性,但它同样适用于传统以太网网络或非融合以太网络。
目前,虽然IB、以太网RoCE和以太网iWARP这三种RDMA技术使用统一的API,但它们却在物理层和链路层有着各自的特点。在以太网解决方案中,RoCE相对于iWARP在延迟、吞吐量和CPU负载方面有着显著的优势。RoCE得到了众多主流方案的青睐,并被纳入Windows服务软件中。
RDMA技术虽基于传统网络概念,却与IP网络有所不同。最关键的是,RDMA提供了一种消息服务,使得应用程序可以直接访问远程计算机上的虚拟内存。这一消息服务在网络进程间通信(IPC)、远程服务器通信以及上层协议协助下的存储设备数据传递中发挥着重要作用。众多上层应用协议,如iSCSI的RDMA扩展(iSER)、SCSI RDMA协议(SRP)等,都在广泛应用RDMA。主流的SMB、Samba、Lustre、ZFS等也支持RDMA。
RoCE与InfiniBand虽然都旨在RDMA技术的应用,但在以太网上的运行方式存在技术差异。RoCE期望将IB的应用(尤其是集群应用)迁移到融合以太网中。而在其他应用中,IB网络因其更高的带宽和更低的延迟仍将占有一席之地。深入探讨RoCE和IB协议的技术差异:
在拥塞控制方面,RoCE依赖于无丢包网络,通过以太网流控或PFC实现。RoCEv2定义了拥塞控制协议,使用ECN做标记和CNP帧做确认。而IB则采用基于信用的算法确保HCA-HCA之间的通信无丢包。
在延迟方面,当前的IB交换机通常比以太交换机具有更低的延迟。以太网交换机的一般Port-to-Port延迟约为230纳秒,相比之下,IB交换机在相同端口数的情况下只有100纳秒的延迟。
在配置和运维方面,配置一个DCB以太网络比配置一个IB网络更为复杂。
RoCE和iWARP之间存在显著的差异。RoCE基于无连接协议UDP,而iWARP基于面向连接的协议(如TCP)。RoCEv1局限于二层广播域内,而RoCEv2和iWARP则支持三层路由。在大规模组网情况下,iWARP的大量TCP连接可能会占用大量内存资源,对系统规格要求较高。RoCE支持组播,而iWARP尚未有相关标准定义。
Intel通过收购Qlogic的InfiniBand业务后,推出了一套名为“True Scale Fabric”的高性能计算架构解决方案(包括IB和Omni-Path)。Intel还集成了Omni-Path相关功能于CPU中,以提高通信效率。通过收购Cray互联部门,Intel在Omni-Path中引入了1.5层概念,基于Cray的Aries基础互联技术优化底层数据通信。这一创新为Intel的网络技术注入了新的活力。
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销