Solarflare turns network adapters into servers
When a CPU just isn't fast enough
Solarflare, a maker of 10 Gigabit Ethernet server adapter cards for performance-obsessed companies like stock exchanges, hedge funds, and supercomputer centers, is turning its network interface cards into servers, more or less.
Solarflare is doing this by adding field programmable gate arrays (FPGAs) to the NICs and special software to onload calculations and algorithms from servers to those FPGAs.
FPGAs are wonders of the electronics world because they are malleable, essentially allowing coders to run all different manners of functions on them and even to create what would be a CPU if the volumes were high enough to warrant actually etching the circuits and running them off in a short run at a wafer baker. Lots of serious propellerheads, often in academia, in the financial services industry, and in the supercomputer space have tried to make machines using FPGAs with limited success.
Solarflare wants to make that all easier, Russell Stern, CEO at the company, tells El Reg, particularly at the more than 500 financial services companies where Solarflare has been most successful peddling its 10GE adapter cards. These use Open Onload application acceleration technology that the company has created to get high messaging rates and low latency for Ethernet networks.
Customers include the New York Stock Exchange and the Chicago Board of Options Exchange, and they have been scarfing up Solarflare NICs – the company claims to have a 90 per cent share of interface cards among high frequency traders – because of the homegrown TCP/IP stack that Solarflare has come up with that bypasses the Linux kernel.
A dual-port 5122F card from Solarflare has a list price of $1,100 and sells for $600 to $700 on the street. Open Onload is open source and free, but the full-tilt-boogie Enterprise Onload TCP/IP stack that most of the financial firms buy will run between $150 and $200 on top of that, depending on features.
But networking is not the only problem these companies face. They are running up against the speed of light, and they are trying everything they can to shorten every line in a system and across the network for a speed advantage.
"Every single one of these institutions has an FPGA project going on, and some of them have two projects," says Stern. "And most of them never see the light of day."
The reason is that developers can get an FPGA from Altera or Xilinx, the two main suppliers, and code their algorithms and apps to run on an FPGA board. But then they have a problem. They have to integrate the FPGA in a server and figure out how to offload the application to the FPGA, or if they want to build a system entirely out of FPGAs, then they are making their own system boards and licensing the technology to put 10GE links onto the board. This is a major project.
Now, with Solarflare's Application Onload Engine, the FPGA is parked on the NIC and lives right on the wire, so algorithms can be executed on data coming in from the network without even bothering the CPU back on the server. If the application calls for it, the results of the calculation done by the FPGA are forwarded to apps on the server, which now has more CPU and memory capacity to run those applications, or passed back out onto the Ethernet wire if the server doesn't need to be involved.
Block diagram of Solarflare's Application Onload Engine
Stern is being cagey about precisely what FPGA is on the 10GE network interface card, or who the supplier is – "there's only two options, so you have a 50 per cent chance of guessing right," Stern said with a laugh.
Solarflare thinks that some companies will want to do preprocessing or postprocessing on data as it comes over the 10GE wire, while others will want to use the Application Onload Engine software development kit to create and run whole applications on the FPGA. Solarflare is going to get the applications going first with a few of its own – creating a recurring software revenue stream with maintenance, something that all hardware vendors crave.
The performance advantage of FPGA-goosed apps over a 10GE network
The first application does line arbitration. A lot of hedgies have two identical data feeds for redundancy and bandwidth and sophisticated network monitors to figure out which link is running with the lowest latency at any given nanosecond to execute transactions. Now, instead of buying all this heavy gear, it can run on the FPGA. Another app will do symbol discard routines.
A hedgie might want data from 2,000 publicly traded companies but want to ignore another 3,000 they don't trade in. Normally, you have to take all the feed into the server and then sort what you want from what you don't want. Now, this sorting routing can run off the wire in the FPGA and only pass data for the 2,000 companies the hypothetical hedgie wants to see to the application running on the server.
Stern says that the company is looking at putting its FPGA-goosed network cards into adjacent industries, such as the security racket and in various simulation segments, with the oil and gas industry already heavily investing and probably looking for an easier solution for application acceleration.
The Application Onload Engine NIC cards are sampling now to a half-dozen test customers and will be generally available in the second quarter. Solarflare is not announcing pricing on the FPGA-NIC combo, but did confirm that they will cost more than the regular 10GE cards from the company, as you would expect. ®
Whilst it's good to see innovation in IT being pushed by business needs (rather than social foibles) I still think that this whole High Speed Trading business needs to be outlawed.
And how would you propose to implement and police that?
Automated trading has been going on for a very long time now and FPGAs have been routinely in the loop for at least the last five years. The current challenge is getting the actual trading algorithms into hardware in a convenient manner, demoting the server to a supervisory / record keeping role. This is really only just becoming feasible with the forthcoming generations of devices with gargantuan gate-counts.
Why would they limit themselves to speed-of-light?
CERN has shown that Neutrinos travel faster than Light. SO why don't we have grids of particle accelerators and detectors broadcasting data around yet?