RDMA如何实现高IO低延时

需要配置支持RDMA技术的网卡,最具代表性的是CX-5、CX-6

1.零拷贝指的是不需要内核和应用层进行拷贝数据,从而降低内核态和用户态切换

2.kernal by pass 指的是传统网络数据包需要使用linux内核协议栈进行层层解封装,并且需要大量中断给cpu造成很大的负担,而kernal by pass可以绕过linux协议栈让用户层直接来解封装,常见的解决方案如DPDK

zerocopy物理上说绕开Cpu不太准确,应该是数据不经过CPU的运算处理,他还是得借用CPU的总线来进行IO。所以不同BUS设计CPU进行DMAIO的速度也会有差异。

也不是完全不进行内核态和用户态的切换,sendfile的IO是必须的,但这个过程和时机可以优化,SGDMA现在最新的算法是两次状态切换。我司在RMDA的应用是DBHA。

RDMA技术概述:

英文全称 remote direct memory access,意思是远程直接内存访问,这种技术是一种最早用于高性能计算领域的网络通讯协议,目前已在数据中心当中得到广泛应用。

RDMA允许用户程序绕过操作系统内核CPU,直接和网卡交互进行网络通信,从而提供搞宽带和极小时延。

DMA工作示意图:

上图红框标出来的,当两个应用程序实现内存交互的时候,一般通过CPU来控制。

当你有DMA这个进程的时候,不用通过CPU,而是通过DMA Engine来实现两个程序之间的内存交互

RDMA工作示意图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值