For Java developers, the Just-In-Time (JIT) compiler is key to improved performance. However, in a container world, the performance gains are often negated due to CPU and memory consumption constraints. To help solve this issue, the Eclipse OpenJ9 JVM provides JITServer technology, which separates the JIT compiler from the application.
JITServer allows the user to employ much smaller containers enabling a higher density of applications, resulting in cost savings for end-users and/or cloud providers. Because the CPU and memory surges due to JIT compilation are eliminated, the user has a much easier task of provisioning resources for his/her application. Additional advantages include: faster ramp-up time, better control over resources devoted to compilation, increased reliability (JIT compiler bugs no longer crash the application) and amortization of compilation costs across many application instances.
We will dig into JITServer technology, showing the challenges of implementation, detailing its strengths and weaknesses and illustrating its performance characteristics. For the cloud audience we will show how it can be deployed in containers, demonstrate its advantages compared to a traditional JIT compilation technique and offer practical recommendations about when to use this technology.
Rich Hagarty is a software developer and Developer Advocate at IBM, currently focusing on Java and Open Source related technologies. Based in Austin, TX, Rich has been active in the developer advocacy community for the past 6 years, working on cloud computing and AI technologies. He has created numerous learning paths, code patterns, articles, and videos - all to help developers understand and utilize IBM services, such as Watson Discovery and Assistant, IBM Cloud Pak for Data, as well as Red Hat OpenShift container security and deployment. Previous to IBM, Rich worked at HP, where he was a contributor to the OpenStack open source project, focusing on UI dashboards and storage device configuration. Rich's passion is to engage and share new and exciting technologies with developers.