New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Charles Humble on Jun 22, 2010
Hot on the heels of their announcement that they are open-sourcing key parts of their software technology stack as part of the Managed Runtime Initiative, Azul Systems has announced their upcoming fourth generation product, Zing, a Virtualisation system for Java. Zing comprises a software-only port of Azul Systems' entire technology stack optimised for the x86 platform, and has the same capabilities as Azul's Vega-based solutions. It shares some components that have been open-sourced as part of the Managed Runtime Initiative.
Zing uses Virtualisation as a way of bypassing the limitations of the current generation of Operating Systems. This contrasts with the approach taken by the Managed Runtime Initiative, which aims to deliver enhanced interfaces across the entire system stack, including the Operating System; an effort that is likely to take several years. The Managed Runtime Initiative will doubtless have some advantages in terms of performance and scalability, but Zing can be delivered now, without having to wait for Operating System vendors to catch up.
The Zing platform comprises four main components:
Core to how the product works is what Azul describe as virtualising the JVM itself, something they have been doing with their Vega platform for around five years. Azul offers a JDK for a wide range of Operating Systems including Linux, zLinux, AIX, Solaris, HP-UX, and Windows. Vice President of Technology and CTO for Azul Systems, Gil Tene, told InfoQ
When you execute our JDK what you have actually executed is a thin virtualisation proxy that pushes the actual solution, the actual Java stack, away from your Operating System and into a better execution stack. In the case of Vega that better execution stack was our own custom appliances. In the case of Zing that is a virtual execution stack running as a virtual appliance on x86.
The Virtual Execution Stack - the Zing Virtual Appliances - can be run on either RedHat's KVM or VMWare's vSphere Hypervisor products. According to Azul, Zing's runtime is able to scale very smoothly over a wide range, limited only by the hypervisor that surrounds the virtual appliances. So for example, on VMWare's vSphere the technical limitation at the time of writing is 8 x86 cores and 256GB memory per virtual appliance instance (and therefore per JVM). On KVM the figures are double that for each metric - 16 x86 cores and 0.5TB of memory. Both of these figures are likely to have improved by the time Zing reaches General Availability later this year.
Rounding out the product offering are two management components - Zing Resource Controller and Zing Vision. Zing Resource Controller is the system administrator tool and is designed to give a high level view of the entire Java application infrastructure. Zing Vision offers zero overhead production visibility of running Java applications. As such, when a problem occurs in production, Zing Vision provides a means of getting real information out of an application in distress without exacerbating the underlying problem. This capability has been available through Vega for around two years. Originally built as a tool for gathering statistics on running systems to guide future developments of the Azul technology stack, Tene explained that key to the way Zing Vision works is that it uses statistical information that is already available from processing occurring within the JRE. For example a JIT compiler, in order to know how to correctly optimise code, what to inline and which way to assume a branch will go, will collect information such as tick counters and hotspots about a running program. Similarly, the Garbage Collector traverses every object in memory in every cycle; it gets class instance counts, what classes are pointing to what other classes and lots of other information that is generally thrown away once the GC cycle is complete. By collecting this information Zing Vision is able to achieve its real-time profiling without adding any performance overhead (which can occur if other techniques like byte code instrumentation are used), meaning that it can be used even in production systems.
The announcement of Zing offers something of a change of direction for Azul Systems, shifting from hardware to software, as the commodity hardware players are catching up with what Azul can currently do. Tene told us that he suspects within five years Azul will no longer be selling dedicated hardware
It may sound strange but the way we've always looked at what we do at Azul is that we build a solution for Java runtime stacks, and we'll build whatever it takes to do that. For the first three generations of products we built chips to do that. And every time we looked at those chips and we designed them we asked the question, "Can we find something else that can power our solution?" and for the first three generations the answer was, "No; there are no parts to buy, there are no systems to build this on, we have to do our own". When it came to designing our fourth generation with Zing, we looked at the roadmaps from Intel and AMD and we were very happy to see that with Nehalem-EX and now Magny-Cours from AMD we will be able to run the workload that we want on off-the-shelf servers
At present Nehalem-EX systems, such as the eight-core Xeon X7560, can overlap with the smaller two configuration options for Azul's Vega-based systems - around 60%-70% of all the systems Azul sells according to Tene. He expects that by the end of 2011 x86 systems will have the same sort of capacities as Vega has now. As such Azul will not be building a Vega 4 chip, though it expects to be shipping a considerable number of Vega-based systems over the next 2-3 years.
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
18 agile and lean practices for effective software development governance
Why NoSQL? A primer on Managing the Transition from RDBMS to NoSQL
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
I can't stand companies that don't release pricing on their products.
lame lame lame
That usually means their target is big fishes.
Speaking from experience, it is difficult for a small company to publish pricing, because large customers expect giant discounts (often 95% or higher). If a vendor like Azul publishes a reasonable price, they will be "forced" to sell at 95% off that price, and if they publish a high price (in expectation of having to give discounts), then no one will even look at their offerings.
While it would be nice to have the pricing published, it would hurt Azul much more than it would help them, and that's not Azul's fault ... it's the fault of an industry conditioned to expecting ludicrous discounts on mega-bulked-up enterprise deals.
At any rate, it's great to see a healthy ecosystem continuing to thrive around Java.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
I can't stand companies that don't release pricing on their products.
lame lame lame
They aren't catering to small companies or hobbyists. Azul systems are very expensive... and you really get what you pay. Lame is not a word I'd use with Azul to be honest.
Also the product is still in beta and they hadn't actually set the pricing when I spoke to them.
If this works any way close to as well as they claim they will soon be purchased by IBM or Oracle (this is probably the new direction of the founders for the company).
I have always been impressed by there technology but also known that "special purpose hardware" never will sell outside a small group of customers with thick wallets and special needs.
Sadly enough it will be almost equally hard to charge a high price for this kind of software platform (today it is even hard to charge premium for an application server) so it makes a lot more sense to sell it to a middle ware vendor like IBM or Oracle that can improve the value of there offering with it.
If Azul on the other hand open sourced (or dual licensed) the product and instead made money on services around it I believe they have a fair chance to be successful.
Lets see what way they will choose....
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
6 comments
Watch Thread Reply