RDMA over TCP的协议栈工作过程浅析

   随着网络带宽和速度的发展和大数据量数据的迁移的需求,网络带宽增长速度远远高于处理网络流量时所必需的计算节点的能力和对内存带宽的需求,数据中心网络架构已经逐步成为计算和 存储 技术的发展的瓶颈,迫切需要采用一种更高效的数据通讯架构。

  传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器 资源和内存总线带宽,所产生严重的延迟来自系统庞大的开销、数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,如图1.1所示,给服务器 的 CPU和内存造成了沉重负担。特别是面对网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更造成了网络延迟效应的加剧。处理器速度比内存速度快得 越多,等待相应数据的延迟就越多。而且,处理每一数据包时,数据必须在系统内存、处理器缓存和网络控制器缓存之间来回移动,因此延迟并不是一次性的,而是 会对系统性能持续产生负面影响。

 

 

  图1.1 主机接收传统以太网数据的典型数据流示意图

    
    这样,以太网的低投入、低运营成本优势就难以体现。为充分发挥万兆位以太网的性能优势,必须解决应用性能问题。系统不能以软件方式持续处理以太网通信;主 机CPU资源必须释放专注于应用处理。业界最初的解决方案是采用TCP/IP负荷减轻引擎(TOE)。TOE方案能提供系统性能,但协议 处理不强;它能使TCP通信更快速,但还达不到高性能网络应用的要求。解决这类问题的关键,是要消除主机CPU中不必要的频繁数据传输,减少系统间的信息延迟。

  RDMA(Remote Direct Memory Access)全名是"远程直接数据存取",RDMA让计算机可以直接存取其它计算机的内存,而不需要经过处理器耗时的传输,如图1.2所示。RDMA是 一种使一台计算机可以直接将数据通过网络传送到另一台计算机内存中的特性,将数据从一个系统快速移动到远程系统存储 器中,而不对操作系统造成任何影响,这项技术通过消除外部存储器复制和文本交换 操作,因而能腾出总线空间和CPU周期用于改进应用系统性能,从而减少对带宽和处理器开销的需要,显著降低了时延。

 

 

  图1.2 RDMA数据流传输示意图

    
    RDMA对以太网来说还是"新生事物",但以不同形式存在已有十多年时间,它是Infiniband技术的基础。产业标准API(应用程序接口)使 RDMA从技术走向实现成为可能。其中包括用于低时延消息处理、成就高性能计算的MPI(消息通过接口),以及DAPL(直接接入供应库)。后者包括两部 分:KDAPL和UDAPL,分别用于内核和用户(应用程序)。Linux支持KDAPL,其它操作系统将来也有可能支持。RDMA在高性能计算环境广为 采纳,在商务应用领域很少,但如今大多应用程序都能直接支持操作系统,透过操作系统(如NFS)间接利用RDMA技术的优势是完全可能的。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值