You might get more responses if you posted in Stackoverflow. But here is what I wanted to share:<p>You can keep the OS X as is. Load current JVM on all of them and connect them to a network.<p>Then write a program that uses Hazelcast (<a href="http://www.hazelcast.com/" rel="nofollow">http://www.hazelcast.com/</a>) that gives you a pseudo-distributed JVM cluster. It actually gives distributed Maps and Queues.<p>Then mount a bunch of Jetlang (<a href="http://code.google.com/p/jetlang/" rel="nofollow">http://code.google.com/p/jetlang/</a>) Fibers into the distributed Map. The Jetlang fibers provide thread-less concurrency.<p>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.<p>Now create a bunch of tasks, mount them into fibers and mount the fibers into the distributed map.<p>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.<p>Be careful, you can easily destroy a few database servers..