Of course an 8-core Mac Pro is nice for “mine is bigger than yours” taunts, however if you’re going to spend the money to buy a machine with 8-cores and 16 GB of RAM you better figure out how you are going to use all that horsepower. In a previous article I demonstrated how to use R + LAM/MPI to turn an 8-core Mac Pro (a personal machine I’ve dubbed the MacZilla) into a statistics supercomputer. In an effort to further justify the purchase of the MacZilla to the PI of our lab, I experimented with turning an 8-core Mac Pro into an all-in-one computing grid. To accomplish this I employed the VMWare Fusion virtualization software and Sun Grid Engine. I chose VMWare Fusion over Parallels since VMWare Fusion can fully utilize 16GB of RAM and plays very nice with 64-bit Operating Systems.
The set up is simple. I created seven Linux (Fedora Core) virtual machines using VMWare Fusion and gave each of them a single CPU/Core. VMWare Fusion offers the ability to give two CPU’s to a VM, however I opted not to do this due to the nature of my computations. Each VM was given 2GB of RAM and 20 GB of disk space. I then installed and configured Sun Grid Engine on the host OS X operating system (acting as the head node) and the seven Linux guest VM’s (acting as the compute nodes). I tested the setup using qsub to send out a large BioRuby-based sequence analysis task. VMWare Fusion handled the task flawlessly, although my hard disk seemed to be under heavy abuse, and the machine put out enough heat to roast marshmallows.
This set up has come to be quite useful for me as our lab is quickly running out of HPC computing capacity. When SGE queues are backed up on our main cluster, I simply load up my analysese on my MacZilla grid-in-a-box solution without leaving the comfort of my office (which is kept nice and toasty with the MacZilla firing on all cores).