RoCE: An Ethernet-InfiniBand Love Story
To go along with the low-latency theme of this week’s High Performance Computing Linux Financial Markets confab in New York City, the InfiniBand Trade Association (IBTA) announced the release of the RDMA over Converged Ethernet standard that brings InfiniBand-like performance and efficiency into the Ethernet realm.
Abbreviated RoCE (and pronounced “Rocky”), the new standard allows the RDMA guts of InfiniBand to run over Ethernet. Basically the IBTA has taken the InfiniBand stack, left the IB transport and network layers intact, and swapped the IB link layer for Ethernet. Or as OpenFabrics Alliance Executive Director Bill Boas put it: “The only change here is that the verbs in the InfiniBand standard have been implemented over Ethernet.”
This is a much simpler solution than iWARP (Internet Wide Area RDMA Protocol), which also uses RDMA, but incorporates TCP/IP into the stack. In a sense, iWARP tried to unify InfiniBand and IP, but that model has garnered limited appeal. Supporting the TCP/IP stack meant latency could only get into the 10 microsecond range. Freed of that extra processing burden, RoCE latency can approach 1-3 microsecond territory. And it can be implemented more cheaply and with less power consumption. Yes, IP support is missing, but in a closed cluster environment, you would normally just use a gateway node to talk to the outside world.
In general, RoCE is aimed at users of clustered computing setups who might otherwise have opted for InfiniBand because of its speed and agility, but who are already married to Ethernet — either to maintain compatibility with existing storage networks and compute infrastructure or because their local datacenter already has a big investment in Ethernet technology, expertise and management tools. Mellanox has been talking about this technology for a year or so, under the moniker low-latency Ethernet.
“Essentially what you’re able to do now is run close to InfiniBand-like latency over 10 Gigabit Ethernet,” says Brian Sparks, IBTA marketing working group co-chair and director of marketing communications at Mellanox . “But you don’t have the InfiniBand barrier and the learning curve that goes with that.”
RoCE isn’t quite InfiniBand-strength, though. QDR IB nets 32 Gbps and sub-microsecond latencies, while RoCE is currently limited to 10 Gig and latencies closer to single-digit microseconds. For most apps, though, 10 Gig is plenty of bandwidth (and there’s a clean path to 40 and 100 Gig when Ethernet catches up). The real hurt is on the latency side.
Financial services, database warehousing, cloud computing and related virtualization apps are all potential targets of this technology. One of the tastiest low-hanging fruits for RoCE is high frequency trading (HFT), an Ethernet-based application that is all about latency. HFT is a highly lucrative class of algorithmic trading that relies far more on network performance than compute muscle. The object of the game is to turn reams of market data coming in from Ethernet-based ticker feeds into split-second arbitrage opportunities. One person I recently spoke with characterized it as “picking up a nickel in front of a freight train.” RoCE seems tailor-made for this type of application.
In more traditional HPC, RoCE could have plenty of takers. Again, the real draw here is the ubiquity of the Ethernet ecosystem and the promise of near-InfiniBand performance. It’s worth noting that more than half the systems on the TOP500 list are still employing Ethernet interconnects. That’s because there are plenty of big cluster-based workloads (for example, data mining) that don’t require obsessively tight coupling, but would still benefit from better latency than vanilla Ethernet. As HPC makes deeper inroads into the enterprise, RoCE could look fill this role.
As of this week, RoCE is implemented in OpenFabrics Enterprise Distribution (OFED) 1.5.1. The Linux version is available today, with a Windows implementation to follow later this year. That makes it especially nice for applications already written for OFED RDMA. In these cases, there would be no need to twiddle with the code again; the apps should just auto-magically run over any RoCE fabric.
On the hardware side, basically you need an L2 Ethernet switch with IEEE DCB (Data Center Bridging, aka Converged Enhanced Ethernet) with support for priority flow control. On the compute or storage server end, you need an RoCE-capable network adapter. Expect the most enthusiastic vendors to come out with products later this year. Mellanox has already declared its intentions to offer RoCE-friendly adapters. OpenFabrics will release a software-based RoCE later in the second quarter. Soft-RoCE will make a regular 10GbE NIC act like the hardware version.
One might wonder why the IBTA and its InfiniBand-loving members decided to push an Ethernet protocol at all. If RoCE is successful, there’s bound to be some cannibalization of the InfiniBand market. But that’s the wrong way to think about it. First, there are no InfiniBand vendors anymore, at least not in the strict sense. All these companies — Mellanox, Voltaire and QLogic — offer Ethernet products of one sort or another. The market decided some time ago that IB technology would only spread so far. RoCE is another way for these vendors to reach customers they couldn’t attract before. The calculation is that there’s enough daylight between RoCE and InfiniBand to support the viability of both technologies.