面对高性能计算、大数据分析和浪涌型IO高并发、低时延应用,现有TCP/IP软硬件架构和应用高CPU消耗的技术特征根本不能满足应用的需求。这要有体现在处理延时过大,数十微秒;多次内存拷贝、中断处理,上下文切换、复杂的TCP/IP协议处理、网络延时过大、存储转发模式和丢包导致额外延时。接下来我们继续讨论RDMA技术、原理和优势,看完文章你就会发现为什么RDMA可以更好的解决这一系列问题。
RDMA是一种远端内存直接访问技术,详细介绍请参看RDMA(远程直接内存访问)技术浅析文章。RDMA最早专属于Infiniband架构,随着在网络融合大趋势下出现的RoCE和iWARP,这使高速、超低延时、极低CPU使用率的RDMA得以部署在目前使用最广泛的以太网上。
RDMAC(RDMA Consortium)和IBTA ( InfiniBand Trade Association )主导了RDMA发展,RDMAC是IETF的一个补充并主要定义的是iWRAP和iSER,IBTA是infiniband的全部标准制定者,并补充了RoCE v1 v2的标准化。IBTA解释了RDMA传输过程中应具备的特性行为,而传输相关的Verbs接口和数据结构原型是由另一个组织OFA(Open Fabric Alliance)来完成。
相比传统DMA的内部总线IO,RDMA通过网络在两个端点的应用软件之间实现Buffer的直接传递;相比比传统的网络传输,RDMA又无需操作系统和协议栈的介入。RDMA可以轻易实现端点间的超低延时、超高吞吐量传输,而且基本不需要CPU、OS等资源介入,也不必再为网络数据的处理和搬移耗费过多其他资源。