CEP as a tool for multi-threaded application development
I spoke at an event this morning in Chicago. The event was hosted by Wall Street and Technology and the theme was “The Intelligent Low Latency Trading Imperative”. It was interesting listening to Ambreesh Khanna of Sun and Jarod Jenson of Forsythe talk about the challenges that software developers face in building applications that perform with extremely low latency. Ambreesh made the point that in the past, the ever-increasing speed of hardware kept the pressure off the programmers when it comes to performance, but that now we’ve hit the limits of single-CPU performance. Now that hardware performance gains are coming via more CPUs/cores rather than faster CPUs, software has to be written to take advantage of the architecture. And the fact is that most software isn’t, and many programmers aren’t ready for the challenge. And it goes beyond writing multi-threaded code. Jarod ran through a check list of the low level things that can contribute latency, and the tools that can be used to pinpoint where latency is being introduced.
All this makes me realized that while we talk about CEP as a platform for rapid application development, we probably don’t make enough of the fact that it’s a way to build scalable, low latency apps without having to develop the deep technical skills that normally requires. For example: you don’t have to know anything about threads to implement your app on Aleri CEP. But it’s automatically multi-threaded, allowing it to run different operations in parallel across multiple cores. Bottom line: writing highly scalable, highly efficient, low latency code isn’t easy. It requires specialized skills. But when you implement your business logic on Aleri, our team, that has those skills, has done the low level work for you. You focus on the business logic; we’ll take care of performance.

