Azul’s award-winning ReadyNow!® technology enables Java applications to start up fast and keep running fast. ReadyNow! solves Java’s so-called warm-up problem – and allows your application to deliver peak performance at critical times like market open. Designed for Java developers and operations teams, ReadyNow! technology extends the power and capabilities of the Zing runtime — and it is part of every Zing license.
Solving the Java warm-up issue in low-latency systems
Designed for Java-based low latency or latency-sensitive applications
Example Performance Improvement at Startup with ReadyNow!Behind the Java “warm-up” problem
Java-based systems deliver great performance when running compiled and optimized code. However, the JVM needs time to “warm up”, or optimize frequently-used code, so the application can run at top speed. Why does this happen? Java was designed to start up quickly, then improve performance over time based upon actual usage. The JVM’s just-in-time (JIT) compilers (like Zing’s Falcon compiler) depend upon profile data that describes which parts of the application are called the most (the “hot” code). JIT compilation allows the JVM to optimize performance, but it can take time. In use cases like capital markets, typically systems are “warmed up” to deliver peak performance. While a Java application often can take time to start up, it has to be ready to go and fully optimized when the opening bell rings.
Current Java warm-up strategies
Companies requiring optimum Java performance and consistency such as those in financial services have tried a number of ways to warm up the JVM such as simulated test data, “fake” trades, or even bursts of small live trades right at market open. Among other issues, these strategies can introduce an operational risk that “fake” data might leak through into the “real” trading day or that actual conditions may differ from the scenarios used to warm up the JVM. Effective strategies need to replicate the real end-to-end behavior. Java reverts to interpreted code if conditions change, a condition called “de-optimization”, that slows performance to a crawl until key methods are recompiled and re-optimized. Azul’s ReadyNow! technology provides two key functions. The first is the ability for operations teams to save and reuse accumulated optimization profiles across runs. The second is a robust set of APIs and compiler directives that give developers more control over the timing and impact of JVM de-optimization.
The Solution: ReadyNow!® technology from Azul Systems
ReadyNow!® is technology built into the Zing runtime for Java. It allows essential systems to achieve optimum performance and consistency at the start of the trading day. Where common warm-up techniques may sometimes optimize for the wrong conditions, Zing’s ReadyNow! technology prevents most de-optimization that otherwise would occur when “real” trades differ from the profile used for warm-up. With ReadyNow! operations teams can save accumulated optimizations from one day or set of market conditions for later reuse. Plus, developers gain more control over Java compilation, including APIs, configuration directives, policy controls and improvements to “unreached” code handling. Designed for low latency systems, ReadyNow! technology makes Java applications market-ready fast from the opening bell — and they stay fast.
Need help making the Zing business case for your operation?
ReadyNow! is ideal for market-facing systems that are challenged by warm-up issues. If you’d like to see how ReadyNow! technology can support your operation at market open, contact Azul and we’ll show you how to deliver predictable, low-latency performance – when you need it most.