|
Azul Gets Aggressive with Java Appliances
by Timothy Prickett Morgan
Azul Systems, the maker of network-attached processing appliances that burst onto the scene last fall, has announced it has begun shipping the Java versions of its products. The Azul Compute Appliances were specifically designed to support virtual machine environments like Java Virtual Machines and to use them, you merely offload your JVM workload off your servers and onto these Azul compute engines. Why would you do this? Because Azul is demonstrating killer bang for the buck running Java.
Azul, based in Mountain View, California, was founded in April 2002 by Gil Tene, Shyam Pillalamarri, and Scott Sellers. While attending the JavaOne show in the prior fall, Tene and Pillalamarri came up with the idea that Java needed some help on servers; they brought in Sellers, one of the co-founders of 3dfx, a graphics co-processor supplier that was acquired by Nvidia, and the three founded a startup to try to throw specialized hardware at the Java problem--something Sun had tried to do and failed at with its MAJC processors. Last fall, Azul tapped Stephen DeWitt, whose Cobalt Networks server company practically invented the server appliance business, to be its CEO, and because he likes the color blue, they chose Azul Systems for their company's name. Since its founding, Accel Partners, Austin Ventures, Com Ventures, Redpoint Ventures, and Worldview Technology Partners have all pumped an undisclosed amount of money into the company. After three years of development, Azul is ready to start selling its compute engines. To assist with this job, Azul late last year hired Shahin Khan, formerly the head of Sun Microsystems's HPC unit and its chief of marketing before that, to be its chief marketing officer.
According to Sellers, who is chief technology officer at Azul, there are three different versions of the Compute Appliance. The base appliance is the model 960, has 96 cores and a maximum memory of 32 GB and costs $89,000; it fits in an 5U chassis. The midrange appliance, the model 1920, has 192 cores and supports up to 64 GB of memory; it fits in an 11U chassis and costs $199,000. The high-end appliance, the model 3840, has 384 cores and up to 256 GB of memory costs $799,000 and also fits in the 11U chassis. The architecture of the current iteration of the Compute Appliances offers support of up to 1 TB of main memory, but the top-end Azul box is limited by the availability of dense memory DIMMs to 256 GB of main memory right now.
All of the Compute Appliances use the same core technology, which is a home-made chip called Vega that was designed from scratch by Azul to specifically support virtual machine environments. Because this is all that the Vega chips do--unlike general purpose microprocessors that have to do many different styles of computing--they are small and therefore a lot of them can be crammed into a small space. In fact, Azul has been able to cram 24 processor cores on a single Vega chip, and can put up to 16 of those chips in a single 11U rack-mounted chassis. That's a total of 384 dedicated processor cores for running JVMs. The Vega cores are 64-bit, and they are not based on any existing instruction set, but rather a unique instruction set created specifically by Azul to support the kinds of features that a virtual machine would need (such as garbage collection in the Java environment, which is a big problem). All of the processor cores in the Compute Appliance are cache coherent, which means that any core can share data in the caches with any other core in the box. Cache coherency is one of the key features of a symmetric multiprocessor, which is generally used to make many processors support one image of an operating system and one single address space. The Azul Compute Appliances are using cache coherency to give all of those JVMs resiliency, bandwidth, and a shared memory space to play in--like 96 GB of heap size, which is huge compared to the 1 GB to 2 GB heap size in a typical server today.
Incredibly, says Sellers, a fully loaded Compute Appliance consumes just 2.7 kilowatts of power; the entry box with 96 cores consumes just 800 watts. A standard pizza-box server with two X86 processors consumes a few hundred watts of power. "Power was not one of our big mantras," explains Sellers, "but we have learned from talking to customers that are paying 18 cents a kilowatt-hour for electricity in their server farms, it really adds up."
The Compute Appliances cannot run just any old Java Virtual Machine. Because of the uniqueness of the Vega processor, Azul had to create its own JVM, and it chose Sun's HotSpot JVM as the basis of its JVM and has tweaked it to talk to the Vega chips. To use one of the Compute Appliances is pretty simple. The low-end box has two Gigabit Ethernet ports, while the two bigger boxes have four Gigabit Ethernet ports. You plug the Compute Appliances into the network, give them an IP address, and then tell your application servers that the JVM is now running over on the Azul box rather than on the application servers in your data center. Now, your application servers run business logic and interface with databases, while the Azul engines run Java code.
Sellers says that garbage collection imposes limits on the scalability of Java applications out there in the real world, and so the ways that Java applications are coded. For instance, you might be able to get a Java application to scale across as many as 10 processors, but the garbage collection routines might only scale across one or two processors. This is one of the reasons why most Java applications are deployed today on two-way or four-way applications servers, which are cloned for application scalability. Aside from an integrated garbage collection routine in the Vega chips, Azul has also come up with a way to avoid having to lock caches as JVMs share data across processors and rather let all of the processors do their thing and then after the fact detect if there was a situation where the data should have been locked. This sounds counterintuitive, but Sellers explains that you only need to lock data when two JVMs are trying to write data to the same place at the same time, and that this scenario only happens between 1 to 10 percent of the time on most Java workloads. Locking the caches and application threads to avoid data contention is not as smart as letting everything run full out and then backing up every once in a while to figure out what thread stepped on what data.
While it is tough to pin down the performance gains because of the wide variety of servers running different JVMs and, more importantly, very different sets of Java code, Sellers says that customers who move to Azul Compute Appliances can see anywhere from a factor of five to a factor of 100 improvement of the overall performance of their Java applications. One of these compute engines can in theory be the JVM for hundreds to thousands of application servers. Equally importantly, adding such compute engines either allows those existing application servers to do more work, or allows companies to reduce the number of application servers they need.
Azul is taking orders now for its appliances, and shipments will begin by the end of the quarter. The Compute Appliances are currently interoperable with Sun's Solaris 8 and 9 Unix on Sparc servers and Red Hat's Enterprise Linux 2.1 and 3 and Novell's SUSE Linux Enterprise Server 9 on 32-bit X86 iron. The BEA Systems WebLogic 8.1, the JBoss Application Server 3.1 and 4.0, and the IBM WebSphere 5.1 and 6.0 application servers have been certified to interoperate with the Azul boxes as well. Clearly, Azul is going to need to have a much wider platform and app server list if it wants to sell a lot of boxes. Moreover, to be really useful, the compute engines need to support other virtual environments, and Azul knows this. In fact, it is working on appliances tuned to Microsoft's .NET Common Language Runtime and is examining the possibility of creating another set of engines for supporting SAP's Netweaver and ABAP runtimes.
As I reported last week, Azul said that it had tapped IBM Global Services to deliver service and tech support for its appliances. IBM is only being given the contract to support North America.
|