SCIENCE
Solace Achieves Sub-400 Nanosecond IPC Messaging Performance on Cisco Unified Computing System
Solace Systems has announced the completion of a series of performance tests using the Solace Unified Messaging Platform API on a single Cisco Unified Computing System C200-M2 server. When testing for low latency at high throughput between two cores within a single processor, the results show that Solace’s API delivered as many as 2.97 million messages per second with an average latency of 388 nanoseconds and a 99th percentile latency of 480 nanoseconds.
A second test utilizing all 12 cores of the same Cisco server in a six by six “full mesh” configuration showed that for 128 byte messages, a sustained total of 48.6 million messages per second were passed between publishers and subscribers within a single Cisco server. Full mesh means six cores were allocated to publishing applications that each “fanned out” or published messages to six subscribing applications on the remaining cores.
Tests were run with message sizes between 16 and 1024 bytes on a Cisco C200-M2 server featuring twin Intel Xeon 5670 (‘Westmere’) 2.93 GHz processors with 48 GB RAM running on RedHat Linux. Anyone with similar Cisco Unified Computing System hardware and the Solace IPC software stack should expect similar results.
The low latency test simulates the maximum core-to-core performance characteristics of one application sending messages directly to another. In the past, such applications were commonly deployed across a network with messaging delivering data between the trading applications. With today’s powerful multi-core servers, applications like low-latency trading or scientific analytics have the option of deploying the applications within cores on a single server with the messaging occurring using inter-process communications (IPC) over a shared memory transport. This approach is appealing when the latency introduced by a network makes a difference to the application’s performance (common with high-frequency trading), or when the throughput between applications is higher than available network bandwidth (common with scientific applications and high performance computing).
“For the lowest latency messaging, such as when feeds and algorithmic servers are co-located directly at an exchange, you really can’t go faster than core-to-core within a single machine using Solace’s API with shared memory for inter-process communication,” said Shawn McAllister, CTO of Solace Systems. “The beauty of the Solace API is whether you are communicating between cores in a processor or between servers on a network the requirements are the same – you code the applications once, and choose to deploy with an IPC or a networking transport.”