Introduction: ICluster - Build an Imac Cluster

What better thing could you do with 4 imacs than turn them into a cluster?

A cluster, for anyone wondering, in general terms, is a group of connected computers that work together to complete a task. 

Step 1: Materials

The list is surprisingly short and contains extremely common parts.

4 Apple computers. I used G5 Intel imacs but you can use any Apple computer.
4 Category 5 Ethernet cables
1 10/100Mbps Ethernet switch (minimum 4 ports)
1 key board and mouse
1 USB

In my case, I got all of the imac because they had broken/missing screens. All you need then is a monitor, VGA cable, and VGA adapter depending on the type of port on your Apple.

Step 2: Hardware

Simply plug one end of each Ethernet cable into the Ethernet switch and then the other end into one of the imacs Ethernet port. Repeat for each imac.

Then power everything up.

Step 3: Software

The software is a download from Dauger Research called Pooch. It is available for free at http://daugerresearch.com/pooch/download.shtml for up to 4 computers

Click to download the appropriate version onto one computer. Since my imacs were running OSX 10.5 I used the second download.

Open the folder that you have downloaded called "PoochDemoInstaller". Inside click on the "Pooch Installer" and run it to download Pooch onto your computer.

Next drag and drop the "PoochDemoInstaller" folder onto the USB and copy it onto each of your other three computers and run the "Pooch Installer" on each.

The free version of Pooch only allows you to run 4 computer clusters, but you can buy software from Dauger Research that will incorporate as many computers as you are willing to pay for.

Step 4: Remotely Control the Imacs

In my case it was a pain to unplug and reconnect the monitor, keyboard, and mouse every time I needed to make a change on one of the imacs. To fix this I downloaded remote desktop software called Chicken of the VNC. This is available at http://sourceforge.net/projects/cotvnc/ .
This download only needs to be put onto one computer and in my case the imac that the monitor is connected to.

First, though, you need to configure each imac so that Chicken of the VNC works. Click on system preferences and then sharing.

Check remote management and then check all the boxes in the first below picture so that you can make changes remotely. Next go into VNC settings and check the box to allow VNC and then select a password in the appropriate box to the right.

To use Chicken of the VNC open it from the applications folder and move it onto the toolbar for convenient use. Once you have opened it at the top of the screen there will be a bar with the option to click on "Connection" click it then click "Open Connection". A window will open that at the top says "VNC Login". Pick the computer you want to remotely control, enter the appropriate password, and click "Connect". A window will open on your screen. This window will contain the screen of the computer you are controlling and you can then go in and open things, makes changes, and so on.

Step 5: Use the Cluster!

Open an application that is supported by Pooch such as "Fresnel Explorer". A list of support applications is available at http://daugerresearch.com/pooch/parallelapps.shtml . You can also write your own applications to run on Pooch.

Once you have opened "Fresnel Explorer" click on "Parallel" at the top of the screen.  Then click "Automatically Launch onto Four Local Nodes". Congratulations! You now have a working cluster and have run an application on it. Try running the application just on one computer, then use the "Parallel" option and watch the time it takes to load dramatically drop.

Comments

author
nansare (author)2015-05-02

its warking to pc all in one . as a monitar?

author
Sergeant Sarcasm (author)2014-02-25

What are "G5 Intel iMacs?" There are G5 iMacs and Intel iMacs, but I have never heard of a G5 Intel. Do you mean that the cluster can be made up of both G5 and Intel iMacs? the two architectures are very different, and I know because I own both a G5 and an Intel.

author
CVBruce (author)2012-09-23

Each of your iMacs should have a 10/100/1000 ethernet port, so using a 10/100 hub is slowing down communication between them. It depends on the workload, but this could impact the speed of the cluster.

I've used Xgrid, and it was pretty cool to see my workload spread over multiple machines, even different architectures, powerpc and intel. I was using software to encode video files.

Another possibility is, if just the screens are bad, then you can still use the GPUs for processing.

author
Hammock Boy (author)CVBruce2012-09-23

It probably did slow down the speed of the cluster, but I used the 10/100 hub because it was what I had, and since I never had a long term use for it, it did not matter.

I have not used Xgrid before, but I would imagine that it is faster and more versatile than Pooch.

author
CVBruce (author)Hammock Boy2012-09-24

Here is some good info on Xgrid. I don't know that Apple is actively supporting or developing it any more.

http://www.macresearch.org/the_xgrid_tutorials

author
RogueOne (author)2012-04-15

You should check out Xgrid, which is part of the Server version of OS X now. It allows you to "easily" spread processor intensive tasks across multiple Macs.

author
Hammock Boy (author)RogueOne2012-04-15

Have you worked with it before? It would be neat to get an actual cluster going with 8-10 imacs.

author
Hammock Boy (author)2012-03-07

If anyone has any ideas on how to improve this I would love to hear them.

author
provocativetimbre (author)2012-01-10

Sorry, but doesn't it seem a bit silly to use imacs to get something like this done? wouldn't it be better just to use a few towers, just because all the imacs are self contained and a tad unruly.

author

I wouldn't mind having a few towers but I only had the iMacs at my disposal. I'm a little confused as to what is wrong with the iMacs bieng self contained since I did have to physically change anything about them. Please explain.

author
rch (author)2012-01-09

Very interesting. I tried to experiment around with a cluster using Linux powered PC's many years ago with something called Beowulf.

Any idea on how long the version of Pooch will run before it expires?

Nice job scoring 4 iMacs, even without monitors, a very nice platform for experimenting with. Where did tou get them, and for how much?

author
Hammock Boy (author)rch2012-01-09

I believe that Pooch runs for 10 days and then it expires, although, you can immediately download a new copy. I'm not sure then why there even is an expiration date?

The imacs were all free - from a dumpster - my school threw them out because of the bad screens and it was deemed cost effective to just buy new computers. That is also where I got the Ethernet cables. It turned out that the only thing that I had to buy for this project was the network switch. Everything else I already had.

Did you get the Beowulf to work?

About This Instructable

37,368views

97favorites

License:

Bio: From solder to zip ties, lead acid batteries and LEDs, and especially Legos, putting things together has always fascinated me. The more challenging the better ... More »
More by Hammock Boy:Chipper Board - ATtiny Programming ShieldBoxhead recreated with Python with TkinterInterface Python and Arduino with pySerial
Add instructable to: