Mellanox Open Sources Messaging Accelerator for Networks
Intrepid enterprises looking to boost the performance of their data streaming and messaging applications just got a new option now that Mellanox has open sourced its Messaging Accelerator offload engine for its ConnectX-3 server adapter cards.
Messaging Accelerator, says Mellanox, has been popular in the financial services industry, but is also applicable to online medical web services, imaging and radar, and other kinds of applications that deal with messaging and streaming data. The software is also used in cloud environments to speed up content delivery and caching, particularly with Memcached, an open source caching program popular with Web 2.0 companies.
The name of the software is still abbreviated VMA on the shrink-wrapped box, and that is short for Voltaire Messaging Accelerator. Mellanox acquired its InfiniBand partner and Ethernet upstart Voltaire in November 2010 for $218 million in cash – an acquisition that has paid for itself many times over in terms of growth for Mellanox and broadening its product line. The VMA software initially ran on Voltaire's switches and was used primarily to boost the performance of multicast market data feeds, offloading some of the TCP and UDP processing from servers to the InfiniBand switches, thereby reducing the latency on the feeds and also freeing up CPU cycles on the servers to do other work. VMA has been adapted to other uses in the past several years.
Technically speaking, VMA is a dynamically linked library that runs in the Linux user space that handles TCP, UDP unicast, and UDP multicast traffic processing. VMA started out on Voltaire switches, but after the acquisition by Mellanox, the offloading was pushed out to the ConnectX-3 adapter cards and could therefore work with any switch that was using Linux or BSD sockets. The current VMA 6.4 accelerates 40 Gb/sec and 56 Gb/sec InfiniBand as well as 10 Gb/sec and 40 Gb/sec Ethernet protocols; it works with Red Hat Enterprise Linux 6, SUSE Linux Enterprise Server 11 SP1, and Canonical Ubuntu Server 12.04. If you want to go with a development release, Fedora 14 is also an option.
Back in 2012, when VMA 6.0 came out, Mellanox ran some benchmarks along with Google to see how much the software could boost performance, and here is what it looked like:
Obviously, the skinnier the messages, the bigger the difference in latency and throughput. These tests were done with PCI-Express 2.0 adapters, and with PCI-Express 3.0 cards, which can handle roughly twice as much sustained bandwidth, the gaps should be even larger between plain vanilla Linux running TCP or UDP from the kernel and the VMA offload. UDP application-to-application latency is on the order of 1.1 microseconds and TCP latency for sockets-based applications (not shown in the chart above) is around 1.5 microseconds with the 6.4 release, according to Mellanox.
All of this speedup is transparent to applications, which is why it has proven useful. But, some customers want to tweak this offload or integrate it more deeply into their applications, and that, says Mellanox, is why it decided to open source it.
The commercial-grade VMA will continue to be available for $300 per server, and VMA Open Source is freely available under a GNU General Public License v2. Mellanox is looking for customers to not only use the code, but to contribute changes back to the code to help improve it.