Performance

Image

“It's hardware that makes a machine fast. It's software that makes a fast machine slow.”

--Craig Bruce

How do you achieve a consistent throughput of over 250,000 individual, real-time position updates per second? What about a snapshot of your entire positions database, that takes just a few seconds, is consistent and non-disturbing to your system? How about the instantaneous business date roll forward, without having to reserve to a lengthy end of day process?

Sokol Systems turned away from traditional, concurrent 3-tier architecture, in favor of a single instance engine. This engine delivers an ultra-high throughput due to the three key architectural decisions we made. First, a highly optimized source code - every aspect of the in-process storage and the runtime were thoroughly optimized. Second, we broke away from a traditional dependency on a relational database. Our selected storage mechanism provides us with all the necessary reliability our system demands, while being extremely fast compared with a traditional RDBMS. Third, we made a decision to do away with a ubiquitous messaging and queueing solution, with its high IO and resource-sharing cost. Instead, for all our in-process communications we utilize an ultra- fast communications mechanism, that ultimately allows us to demonstrate a performance of a tens of thousands business transactions per second on a single CPU. And last, but not least, we strongly prefer critical services co-location, to their horizontally scaled deployment, that leads to an enormous cross-network communication overhead; leading to a vicious circle of even more horizontally scaled services.