Sockets SDP和VMA之间有什么区别?

Sockets SDP和VMA之间有什么区别?,sockets,tcp,tcp-ip,infiniband,rdma,Sockets,Tcp,Tcp Ip,Infiniband,Rdma,对于Infiniband或RoCE以太网,我们可以使用: -伏尔泰消息传递加速器(VMA)Mellanox的消息传递加速器(VMA)提高了基于消息和流媒体应用程序的性能。。。结果是每个服务器的延迟减少了300%,应用程序吞吐量增加了200% -socket Direct Protocol(SDP)是一种字节流协议,它利用InfiniBand结构的功能透明地为现有基于套接字的网络应用程序实现性能提升 另外-第9页: 众所周知,SDP和VMA都使用RDMA谓词,并且可以作为(libpreloa

对于Infiniband或RoCE以太网,我们可以使用:

  • -伏尔泰消息传递加速器(VMA)Mellanox的消息传递加速器(VMA)提高了基于消息和流媒体应用程序的性能。。。结果是每个服务器的延迟减少了300%,应用程序吞吐量增加了200%

  • -socket Direct Protocol(SDP)是一种字节流协议,它利用InfiniBand结构的功能透明地为现有基于套接字的网络应用程序实现性能提升

另外-第9页:

众所周知,SDP和VMA都使用RDMA谓词,并且可以作为(libpreload)LD_PRELOAD用于已编译的二进制程序:

与Openonload一样,SDP和Mellanox的VMA都预加载加速 现有的TCP/IP套接字程序。Openonload保留TCP/IP协议 协议因此可以使用单端。SDP和VMA都映射到动词so 必须部署在导线的两端

还可以从以下位置获取图像:

  • 第15页图2-1:
  • 第76页:

但如果SDP和VMA同时存在:

  • 绕过TCP/IP堆栈
  • 使用RDMA动词
  • 必须部署在导线的两端
  • 可用于已编译的二进制程序as(libpreload),运行program.bin as:
    LD_PRELOAD=libsdp.so program.bin
    LD_PRELOAD=libvma.so program.bin
那么为什么速度(延迟和带宽)会有如此大的差异呢

  • VMA的延迟比SDP低2.5倍
  • VMA的带宽是SDP的1.8倍

SDP不应该在Java中使用吗?而VMA是RDMA的套接字级实现。在我看来,它们并不完全相同。@JC1 SDP与Java无关。SDP和VMA都可以通过使用
sockfd=socket(AF_INET_SDP,SOCK_STREAM,0)在C/C++/C#/Java中使用而不是
sockfd=socket(AF\u INET,SOCK\u STREAM,0)。此外,SDP/VMA也可以在不作更改的情况下使用,并通过以
LD\u PRELOAD=libsdp.so program.bin
的方式运行程序,使用标准的
socket(AF\u INET,SOCK\u STREAM,0)
,重新编译源代码。SDP和VMA都映射到RDMA-谓词。“套接字直接协议(SDP)是一种与传输无关的协议,用于支持远程直接内存访问(RDMA)网络结构上的流套接字。”