Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Azul's Pauseless Garbage Collector Goes Native on Linux

Azul's Pauseless Garbage Collector Goes Native on Linux

This item in japanese

Azul Systems have today announced Zing 5.0, eliminating their previous requirement for a hypervisor, and therefore bringing their pauseless JVM to unmodified 64-bit Linux for the first time.

The Zing 5.0 product is supplied as two software packages. Zing System Tools is an RPM you install on Linux which includes the memory management capabilities and other things which the Zing JVM needs in order to work. The other package is the JVM itself, which is designed to look like HotSpot; you install it the same way, either as an RPM or as a tarball, it has the same directory structures and so on.

During our conversation, Azul Systems CTO Gil Tene, the new packaging allows Azul to reach customers that they simply couldn't reach before

One end is the higher end, the low latency trading guys. These are guys that count [on] 50-100 microsecond response times; they really want to get rid of garbage collection effects but they can't pay an extra 200 microseconds to do it. Those were customers who were very intrigued by Zing 4.0, but the virtualised mechanism with the proxy and the extra hop across it, whilst invisible to any human response time app, would be a 3 times wire latency increase for these guys, so they couldn't use it. With Zing 5.0 it just drops straight in, there's no proxy mechanism, and so no additional cost at all.

But what if all you have is a 3GB heap, and you are just annoyed at the pauses. You can't really go and ask for virtual infrastructure changes to do it. ZingLX is just a better VM for Linux. So it becomes a possibility for these guys too.

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, it is typically possible to use the collector with little or no tuning at all. This wide operating range also makes the product a good fit for Software-as-a-Service companies, allowing a larger density of tenants/server than HotSpot would support,with consistent response times. Azul told us that Apptio and SuccessFactors were amongst their adopters. Apptio's application is a good example of where the wide-operating range of Azul's algorithm pays dividends. The company deals with a wide range of customer data-sets, from around 1GB-100GB+ Azul told us. From the press release:

"Our customers are leading global enterprise organizations that rely on Apptio's SaaS-based Technology Business Management services to power insights and decisions by processing large-scale financial and operational data," commented Mark Jancola, vice president of Engineering, Apptio, Inc. "With the Zing JVM, we can effectively use five times more application memory and deliver more consistent response times under unpredictable loads."

SuccessFactors, already an Azul customer, is now able to transition from Azul's Vega-hardware to commodity hardware using the Zing 5.0 product.

Zing 5.0 currently supports Red Hat Linux 6, and CentOS 6. The firm plans to add Red Hat 5, and CentOS 5 before December, they told us, and will certify other distributions such as SUSE, Ubuntu andAmazon EC2 very soon. Customers using 32-bit Linux, or other products such as Solaris, can use the Zing 4.0 virtualised product.

Being able to run natively eliminates some overhead from the system, particularly around things like JNI calls, which would become RPC calls across the proxy mechanism, incurring additional overhead, when run from Zing 4.0. Similar problems occur when making heavy use of disk I/O, such as using a messaging system where all the messages are journaled to disk, or a Lucene search with the indices on disk.

Zing 5.0 has been in beta with around 30 customers for some time and is generally available from today. A single per physical server license supports both Zing 4.0 and Zing 5.0. The per server annual subscription cost is similar to that for an IBM WebSphere Application Server developer license.

Rate this Article