You might get more responses if you posted in Stackoverflow. But here is what I wanted to share:
You can keep the OS X as is. Load current JVM on all of them and connect them to a network.
Then write a program that uses Hazelcast (http://www.hazelcast.com/) that gives you a pseudo-distributed JVM cluster. It actually gives distributed Maps and Queues.
Then mount a bunch of Jetlang (http://code.google.com/p/jetlang/) Fibers into the distributed Map. The Jetlang fibers provide thread-less concurrency.
Then develop a simple function-independent task framework, to which you can pass a function and a parameter map as two arguments, which calls a Callable and returns an Object.
Now create a bunch of tasks, mount them into fibers and mount the fibers into the distributed map.
Finally write a simple countdown latch based task runner, you can safely run four per core, and run them on each mac, sit and watch.
Be careful, you can easily destroy a few database servers..