Chronicle Software goes beyond expectations in trading, data processing, and event-driven apps.
Electronic traders operate in a brutally competitive environment where every advantage matters. Trading strategy, research, and capital position matter. And the underlying technology — the trading application, algorithms, and Java infrastructure — matter just as much.
Azul customers expect that with market open, technology warm-up times can be critical. They are constantly investing in increasing transaction speeds, where every microsecond matters. And consistency of performance in the face of market volatility is always at the top of the list.
But what does it take to bring microsecond latency and real-time transaction processing to the cloud? What are the most important building blocks? We sat down with Chronicle Software CEO Peter Lawrey for his insight.
Q1: Peter, you guys have deep expertise in trading, data processing, and event-driven apps and microservices – tell us more about Chronicle Software.
PL: Chronicle Software started as a consulting company for trading firms almost 10 years ago. Our interest was how to use Java efficiently to achieve low latencies.
Today we provide solutions to banks and trading firms as products, consulting, and support. We are interested in how to make developers more efficient in developing and supporting low latency and high throughput software.
Q2: I think that you would agree that ease of deployment and efficiency of trading, high availability is essential to any trading system or exchange – describe the low-latency building blocks that your teams use with your customers.
PL: The ease of deployment impacts the efficiency of your team. Poor/lengthy development and deployment processes can cost more than inefficiency in the servers.
Chronicle has a low-latency microservices framework our clients have used to replace key eFX/Equities trading systems in six months from start to finish – that the client estimated would have taken two years to redevelop. Many of these utilize 2N+N redundancy (two sets of N instances in one data center and another N servers in a second data center) allowing them to move databases, which is often the largest source of latency, out of their critical path. We also have a low latency FIX engines used by banking customers to manage thousands of high availability sessions.
High availability is important, as is being fast enough to get the trades you want. However, if you trade too slowly – or worse, trade incorrectly – you can lose more money than not trading at all.
High availability is important, as is being fast enough to get the trades you want. However, if you trade too slowly – or worse, trade incorrectly – you can lose more money than not trading at all.
Q3: You have previously talked about low-Latency, high-performance Java within the Friends of OpenJDK community (foojay.io) – do you still see that as an important topic today?
PL: For low-latency trading systems, these are still important. However, for other systems, developer efficiency can be more important than server efficiency, and having great tools can make a big difference to productivity and the time to deliver new functionality.
Improve Java Performance While Reducing Java Costs
Optimize low-latency trading and high-performance risk management systems.
Q4: Your design principles are built around ensuring the client infrastructure operates efficiently – in your mind, what are the benefits of including a performance JVM like Azul Platform Prime in the design?
PL: If you can have efficient Java or Kotlin software that is practical to optimize, as many of our clients do, I recommend Azul Platform Core (formally Azul Zulu) as a supported OpenJDK JVM.
However, if you have a vendor application, a higher level JVM language like Scala, or you have a complex application, especially if you have complex object life cycles, Azul Platform Prime (formally Azul Zing) and the tooling that comes with it can make a significant difference for a manageable cost. i.e. If even you had a team of developers to optimize it, it would be hard to know in advance what benefit you would get for what the cost. With Azul Platform Prime you can easily try it and get an idea of how much benefit you would get.
having great tools can make a big difference to productivity and the time to deliver new functionality.
Q5: What are some specific customer benefits and examples – including measurable KPI’S?
PL: The most common benefits I see with Azul Platform Prime are improved reliability, especially reducing the risk of cascade failures triggered by a long GC pause, and the benefit of getting improved performance without needing to spend time tuning the software.
For example, creating an environment for quantitive analysts or data scientists to use Scala without needing to re-optimize their code manually. A shorter more efficient software development life cycle makes developers more productive, eases maintenance costs, and reduces opportunity risk.
Need more help?
Check out Peter’s recent blog, Vanilla Java, and learn more about Chronicle Software.
For our customer Spotex, Azul helped eliminate problematic latency outliers – improving performance by 28% to drive more competitive advantage. How did we do it? From fast warmup to microsecond latency and consistent performance, the details are described in our free 3 Competitive Advantages in Electronic Trading guide. Azul Platform Prime improves performance for your business-critical applications. Take Azul’s optimized JVM for a test run here.
We Love to Talk About Java
We’re here to answer any questions about Azul products, Java, pricing, or anything else.