Following on from the release of Zing 5.2 at the end of April, Azul Systems have announced that they are making their pauseless Zing JVM freely available to open source developers and projects for use in development and testing.
Shyam Pillalamarri, VP of Engineering and co-founder of Azul Systems, explained to InfoQ
A very large part of our install base uses a lot of open source components. So what we felt was, "If we don't have something available for free for people who are the committers on open source projects, then they will continue to focus only on the constraints that are being forced on them by the current offerings from a JVM perspective", and they would not be thinking about additional use cases, or even implementation choices that work very well when something like Zing is available, which basically eliminates the whole memory/scalability issue. As such they can have a large heap size without any down sides.
This idea is borne out by the experience of early adopters in the open source community. For example Michael McCandless, Apache Lucene committer and PMC member, is quoted on the press release as saying
Azul's innovative Zing JVM and pauseless GC now enable Apache Lucene project developers to explore use cases requiring large heaps, such as holding an entire search index in memory for faster searching. Initial in-memory tests on the full Wikipedia English-language site index show Zing is truly pauseless while managing a heap in excess of 140 GB.
Clojure creator Rich Hickey said
Programming and architectural approaches that leverage immutability to enhance concurrency and scale will be well-matched by a runtime that is able to support high continual allocation rates without disruptions or pauses. By making the Zing JVM available to open source developers, Azul is making a fantastic contribution to the community.
Aside from the lack of GC pauses, the Zing GC collector, which we described in more detail here, is designed to remain robust across a wide operating range by being insensitive to factors such as mutation and fragmentation rates, as well as heap size, soft references, and live set size. As such, Zing is particularly suited to workloads that require large memory, high transaction rates, consistent response times and high sustained throughput. 5.2 has seen some further performance improvements, particularly around synchronized method invocations and shared objects.
Zing is based on Oracle HotSpot and optimized for Linux and x86. With the 5.2 release, supported Linux distributions are:
- Red Hat Enterprise Linux (5.2 or later, 6.x)
- SUSE Linux Enterprise Server (SLES 11 sp1 and sp2)
- CentOS (5.2 or later, 6.x)
- Ubuntu Linux (10.04 LTS, 12.04 LTS) - this is new for Zing 5.2.
The JVM supports any Java SE/EE 6 application, with Java 7 support expected in the near future.
The Zing JVM distribution also includes a production-time application visibility tool, called Zing Vision, which provides a means to get real information out of an application in distress without exacerbating the underlying problem. Again, this has seen some enhancements in the 5.2 release, for example expanding the available garbage collection statistics around the time it is taking to reach safe points.
Those who wish to use Zing on an open source project should email zing_oss@azulsystems.com. For free support Azul's open source community support forum is located at http://www.azulsystems.com/developers/forum, with bug reporting via http://www.azulsystems.com/developers/bugzilla. The vendor also offers commercial support options.