We have got the privilege to borrow an Azul Vega 1 which is the smallest of Azul's monster machines. This evening a bunch of us Jaywayers gathered to try it out. Installing the Azul JVM was painless and all of us were up and running very quickly.
Here is screenshot from the management console showing 81 active CPUs and 23 GB free memory:
I tried some Scala actors which worked very well. By running some CPU intensive calculations I concluded that it scaled linearly up to the number of CPUs. No surprise, but very cool when you are running 80 threads at full speed! Also cool to see that Scala runs smoothly which means that neither Scala nor Azul does anything strange. Just pure bytecode.
Somebody tried to configure the Azul JVM in Eclipse and was able to run JUnit tests on Azul. We were also able to run maven without any problems.
We tried to allocate lots of memory. No problem there either, although we had to specify -Xmx10G or something. By default you only get 1.6 GB....
A colleague started tomcat, produced lots of garbage and tried garbage collection at 8 GB of heap. No pause! However, there was some synchronization problem with Log4j since all 16 CPUs had to coordinate their work.
We encountered two problems:
- xstream apparently had a dependency to Unsafe which is not supported on Azul
- the program must be headless, so no Swing
A quick rewrite later and we had generated a 64 megapixel mandelbrot calculated in parallel on 40 CPUs. The only problem was saving the PNG file which was a single threaded operation...
Jan Kronquist
Consultant at Jayway


3 comments ↓
Here’s a link to the Mandelbrot output:
http://tinyurl.com/5pspce
It was good night for sure. Btw, Azul will be coming to Øredev conference (http://www.oredev.org) in November. You will be able to fondle the machine for yourself, if you’re there
Regarding XStream and the sun.misc.Unsafe dependency, there may have been a slight misunderstanding in all the excitement…
I did try to run continuous integration server Hudson (http://hudson.dev.java.net/) with the Azul JVM, and that’s where we saw a problem with XStream. Hudson started, but it gave an error message when I browsed to its web app.
The error message was something about Hudson not being able to run on this JVM (specifying the identified Azul JVM including version number) because of XStream. I do believe it said something about enhanced mode.
I don’t know if this has anything to do with sun.misc.Unsafe. Someone suggested it, and I think that’s why that statement ended up in the blog post.
Anyway, these steps should reproduce the problem:
1. Download Hudson from http://hudson.dev.java.net/ . I used the jar URL referenced from inside the .jnlp file on the “Meet Hudson” page’s “Launch” button.
2. java -jar hudson.jar, of course using Azul’s JVM.
3. Browse to http://localhost:8080/
Additionally, these links are the ones I found googling for Hudson with XStream in enhanced mode. They may or may not contain helpful information on the subject:
* http://xstream.codehaus.org/faq.html
* https://hudson.dev.java.net/issues/show_bug.cgi?id=2356
* http://markmail.org/message/qpqevoajdsnt2ced
Leave a Comment