September 14, 2009

Solace Systems Sets the Pace in the Race to Zero Latency

by Michael Feldman

In the algorithmic trading business, speed is literally money. An extra microsecond of latency between the market feed and the trading application could be worth a million dollars to a large investment bank or hedge fund. The annual take of algorithmic trading in the US is estimated in the billions of dollars per year — $8 billion according Tabb Group, a research and advisory firm for the financial industry.

That’s why companies that offer the fastest market messaging platforms are getting a lot of attention these days. In financial applications, messaging filters and massages the data, and as such, is the critical layer between the market data feed, or feed handler, and the trading application. For example, messaging middleware is the software that makes the decision to send MSFT messages to a subscriber that is looking to buy or sell Microsoft stock. But getting that information to the subscriber as quickly as possible is what determines how much of an advantage the customer has.

The lucrative messaging business has attracted a number of companies, including TIBCO Software, 29West, IBM, RTI, Tervela, NYSE Technologies, and Solace Systems. Of these, Solace has been one of the most aggressive in attacking the latency issue. The company’s big claim to fame is its hardware approach to message acceleration. Traditional messaging is accomplished via software running on servers, but Solace has developed what they call a message (or content) router. It’s implemented as an appliance that provides the message processing using FPGAs, network processors, and other off-the-shelf ASICs. The company’s Unified Messaging Platform API provides client applications access to the functionality.

According to Larry Neumann, Solace’s senior vice president of marketing and alliances, the hardware-based message router is analogous to what IP routers did for Internet, namely to commoditize software functionality into the network. The advantage, he says, is that the hardware approach gives a 10x performance boost — in some cases, 100x — compared to software-based messaging, mainly by eliminating all the context switching between the OS and the application. Also, FPGAs and ASICs just generally outperform CPUs for these kinds of high throughput workloads.

“Being a newer entrant into the market, if we were 20 percent faster, it would be very hard to displace the incumbent,” says Neumann. “But if you’re 10 times faster, they’ll take a good hard look at you; if you’re 100 times faster, it becomes pretty easy.”

The hardware is not identical for all use cases. Solace offers six different function-specific “blades” or cards that can be included in a configuration, and not all of them necessarily apply to financial market applications (Solace’s message platform offerings are applicable across a variety of application areas outside financial services, such as real-time billing systems, IPTV, mobile content distribution, and even geospatial applications like emergency alerts, proximity marketing, and social networking). For algorithmic trading, the minimum configuration is the network acceleration blade and the topic routing blade.

TIBCO Software and Tervela also offer hardware-based messaging appliances. In TIBCO’s case, the company is actually employing Solace blades, which are used to implement TIBCO’s Rendezvous messaging software in firmware. Tervela’s version is its own TMX Message Switch, which also uses a combination of ASICs and FPGAs to implement messaging middleware.

In all cases, the hardware-based appliances promise at least an order of magnitude boost in performance compared to software solutions. This allows the financial customers to replace many servers with a single appliance, reducing the datacenter footprint, along with the attendant power and cooling. Latency within the appliance is predictably low, but the end-to-end latency is still dependent upon the other pieces of the market trading system: the feed handler and the algorithmic engine on the server. Because of the separate devices and the network hops between them, the best-case latency is in the tens of microseconds.

The next logical step is to integrate the components into a single system in order to avoid all the network latency and intermediate memory copies. And that’s what Solace Systems has done. Announced on Monday at the High Performance Computing on Wall Street conference in New York, Solace has demonstrated sub-microsecond latencies by adding support for inter-process communications (IPC) via shared memory. Using Solace’s latest Unified Messaging Platform API, developers will be able to fold the ticker feed function, the messaging platform, and the algorithmic engine into the same application, and use shared memory IPC as the data transport.

Such applications do not rely on special hardware appliances. All you need is a standard multicore x86 server, preferably sitting in a colocation facility right next to the exchange. With quad-core chips now the norm, and eight-core chips (and greater) on the horizon, single servers are becoming powerful enough to handle these integrated trading applications. Solace ran tests with a million 100-byte messages per second, achieving an average latency of less than 700 nanoseconds using a single Intel Xeon “Harpertown” 5400 processor.

To put that in perspective, currently the largest market feed is delivered by the Options Price Reporting Authority (OPRA), which coincidentally tops out at about a million messages per second. However, those numbers are projected to rise, and as they do, latency tends to rise with it. Fortunately, core counts are increasing as well. Intel’s eight-core Nehalem EX processor is expected to be launched in early 2010, essentially doubling the processing power of the quad-core generation.

In fact, Solace CTO Shawn McAllister believes the Nehalem processors, in general, with their larger caches and better memory bandwidth, should deliver even lower latencies than they demonstrated with their Harpertown tests. He says for best results you want to keep each application on the same processor, and nail individual application components (like the feed handler and algo engine) to specific cores. That way, application data can be shared between the cores in the Level 2 cache, reducing latency even further.

Not all the applications that make up an automated trading suite can be run in a single server, however. There are risk management systems, order executions systems, and back-end settlement systems, among others, that can’t all be shoe-horned onto a single motherboard. The idea, of course, would be to put the most pathologically latency-sensitive trading applications in the server, and spread the rest out across the datacenter using the more traditional feed handlers, message platforms and servers. McAllister says one of the advantages of their model is that their common API allows developers to deploy the same code in a networked environment as in a shared memory one, since the middleware takes care of the data transport underneath the programmer interface.

Solace is not the only vendor to have thought to implement a messaging system using IPC on shared memory. In February, 29West introduced a similar IPC transport offering, claiming end-to-end latencies in the 3 to 5 microsecond range. But with Solace breaking the 1 microsecond barrier, McAllister thinks they’ve got a game changer — at least for the time being. Considering there is so much money at stake in algorithmic trading, the race toward zero latency is far from over.