Featured in AI, ML & Data Engineering

In this article, author shows how to use big data query and processing language U-SQL on Azure Data Lake Analytics platform. U-SQL combines the concepts and constructs both of SQL and C#. It combines the simplicity and declarative nature of SQL with the programmatic power of C# including rich types and expressions.

Featured in Culture & Methods

The book Agile Leadership in Practice - Applying Management 3.0 by Dominik Maximini is an experience report of the agile transformation journey of NovaTec. Maximini shares his experiences from applying principles and practices from Management 3.0, success stories, failure stories, and learnings from experiments.

Featured in DevOps

Yuri Shkuro presents a methodology that uses data mining to learn the typical behavior of the system from massive amounts of distributed traces, compares it with pathological behavior during outages, and uses complexity reduction and intuitive visualizations to guide the user towards actionable insights about the root cause of the outages.

Azul's Pauseless Garbage Collector Goes Native on Linux

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.