As known for Infiniband or RoCE-Ethernet we can use:
VMA - Voltaire Messaging Accelerator (VMA) Mellanox's Messaging Accelerator (VMA) boosts performance for message-based and streaming applications... The result is a reduction in latency by as much as 300% and an increase in application throughput by as much as 200% per server...
SDP - Sockets Direct Protocol (SDP) is a byte stream protocol that utilizes the capabilities of the InfiniBand fabric to transparently achieve performance gains for existing socket-based networked applications.
Also - Page 9: http://www.informatix-sol.com/docs/TCP_bypass_overview.pdf
And known, that both SDP and VMA use RDMA-Verbs and can be used for already compiled binary of program as (libpreload) LD_PRELOAD: http://www.informatix-sol.com/low-latency.html
As with Openonload, SDP and Mellanox's VMA all preload to accelerate an existing TCP/IP socket program. Openonload retains the TCP/IP protocol so can be used single ended. SDP and VMA both map to VERBS so must be deployed on both ends of the wire.
Also get image from:
- Page 15 figure 2-1: http://lists.openfabrics.org/pipermail/general/attachments/20081016/3fe4fd45/attachment.obj
- Page 76: http://ircc.fiu.edu/download/sc13/Infiniband_Slides.pdf
But if SDP and VMA both:
- bypasses TCP/IP-stack
- uses RDMA-verb
- must be deployed on both ends of the wire
- can be used for already compiled binary of program as (libpreload), run program.bin as:
LD_PRELOAD=libsdp.so program.bin
orLD_PRELOAD=libvma.so program.bin
then why such a big difference in speed (latency and bandwidth)?
- VMA has latency in 2.5 times lower than SDP
- VMA has bandwidth in 1.8 times bigger than SDP