The Zing Virtual Machine (ZVM) has been developed to address the performance-related issues that result from a managed runtime environment that is provided by the JVM. These fall into two specific areas:

  1. Application response latency caused by the garbage collector (GC) pausing application threads to perform its work.
  2. Reduced initial throughput when an application is started. This is the warm-up time that is a consequence of the use of Just in Time (JIT) rather than static compilation.

Zing replaces all the OpenJDK garbage collectors (CMS, G1, Parallel, etc.) with the Continuous Concurrent Compacting Collector (C4). C4 is a truly pauseless collector that will exhibit no degradation in GC related latency, even with heaps as big as 8 TB. The old, C2 JIT compiler has been replaced in Zing with the Falcon JIT developed using the LLVM open-source compiler infrastructure project. To address application warm-up time, Zing includes ReadyNow!, Azul technology that can use profiles collected from a stable running application. The profile can reduce much of the work that the JVM has to do when an application is restarted.

The latest release of Zing, version 19.07, is significant as it includes several new enhancements that deliver even greater performance and flexibility than in prior versions. The focus of this release has been to make Zing much simpler and more effective to use in a microservices, container or cloud-based environment.

Until Zing 19.07, the ZVM required the Zing System Tools (ZST). The ZST module is installed at the operating system level to manage the physical-to-virtual memory mapping of ZVM heaps directly, rather than using the Linux virtual memory subsystem. This provides a number of performance advantages like cache optimization and managing memory in a way that aligns with how JVM heaps are organized. The requirement of having root access to install the kernel-based ZST module affected the simplicity of Zing deployments within containers and to the cloud.

With Zing 19.07, the use of the ZST is now optional. Modern Linux kernels now include features that make it possible to replicate much of the functionality of ZST from a user-level process. For most use cases, Zing 19.07 eliminates the need to install anything requiring privileged accounts with root access.