前言
看介绍,像是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的(高)吞吐量。