【RDMA】降低CPU除了RDMA (vbers)还是VMA ?|使用socket进行RDMA编程?

前言

看介绍,像是mellonx针对其kernel bypass网卡(RDMA网卡)提供的一个lib库,该lib库对外提供socket api,使得用户的程序不需要修改就可以直接使用kernel bypass网卡(如RDMA网卡)。

我们都知道RDMA 网卡目前使用的是rdma_cm和vbers api编程,和socket不一样,如果能用socket对RDMA编程,那确实是很大的利好。

官网介绍

什么是VMA?Mellanox Interconnect Community

官方介绍:

Mellanox的信息加速器(VMA)提高了基于信息和流的应用的性能,如金融服务、媒体和娱乐、数据库和数据流应用中的性能。其结果是将延迟降低到微秒以下,将吞吐量提高到100GbE线速。

VMA是一个开源库项目,提供标准sokect API 接口,实现kernel-bypass 架构, 在用户空间可以多播,UDP单播和TCP流。 VMA还具有易用,内置预配置配置文件(例如(配置)延迟或流)等特性。


参考资料:
 

架构:

 什么是vma?


内核旁路 - 程序绕过内核直达网卡降低CPU负担。
不需要任何应用程序更改 - 向应用程序层提供标sockets  TCP,UDP(单播,组播),使用socket接口编程


Mellanox VMA带来的利好


降低延迟 - 使用UDP / TCP小于1.3微秒
较低的抖动 - 减少的上下文切换和中断优化应用程序网络抖动
降低CPU利用率 - 较少的开销和更优化提供CPU效率
高吞吐量 - 达到100gbe的线速率


vma降低延迟

VMA带来内核内核无法达到的性能(说明性)


内核无法给应用层带来(高)吞吐量。通过绕过内核 -  VMA能够实现RX和TX的(高)吞吐量。

 

Guess you like

Origin blog.csdn.net/bandaoyu/article/details/120726746