Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have 4 laptops at home.

I'm only using one of them, so I wonder if there is software that distributes the performance load over multiple computers?

Example 1: If I start a compilation process that would be allocated over all 4 computers and cut the compilation time to ¼.

I'm not looking for a software to use them as only monitors (like MaxiVista), but using their CPU, RAM, diskspace, CDROM, USB to extend my "main" computer.

Example 2: If I plug in an USB-device/insert a DVD in one of these laptops the "main" computer could use it.

This would be something good to use old laptops for.

I think the word for this is computer cluster.

Is there software for home users?

I'm using Mac OS X Snow Leopard btw.

share|improve this question
Duplicate of… – ChrisF Sep 7 '10 at 20:32
In the future, please do not post the same question on multiple sites. Please pick a single site and if the question needs to be moved, it will be migrated accordingly. – Troggy Sep 7 '10 at 20:38
@Troggy: How did you find out that I posted in Serverfault too? Did you visit Serverfault and did a manual search? – ajsie Sep 8 '10 at 2:51
up vote 3 down vote accepted

Rich Homolka has the first half of the answer. You can use Xgrid to distribute compiling from Xcode, rendering from Quicktime (and/or Final Cut Pro/Qmaster), etc.

In terms of sharing Hard Drives around, you'll have to use traditional AFP file sharing for that. In terms of Optical Media, Leopard and above debuted Remote Disc, predominately for MacBook Airs', but the use extends far beyond that, and it's relatively helpful for a lot of general purpose and troubleshooting purposes.

Both of these sharing features can be 1-click enabled in System Preferences -> Sharing. Named, appropriately, File Sharing, and DVD or CD Sharing. (And while you're there, note also, Xgrid Sharing!)

Note that you can't delegate general purpose tasks to Xgrid, software has to be written explicitly to take advantage of it.

For example, Handbrake (Free/Open Source(?) Video Format Conversion Tool) can't leverage Xgrid to speed up rendering/distribute rendering jobs. Quicktime/Final Cut Pro can, as previously stated.

share|improve this answer
I believe Xcode distributed builds use distcc, not Xgrid. – Spiff Sep 8 '10 at 0:33

THough I've never used it, the first thing that came to my mind was Xgrid I believe Xcode has Xgrid support.

share|improve this answer
I believe Xcode distributed builds use distcc, not Xgrid. – Spiff Sep 8 '10 at 0:33

Most likely not. Code has to be written in a special way to be able to take advantage of parallel processing.

share|improve this answer

Note that parallelization is a very difficult problem: most tasks practically unparallelizable, except for a few that are embarrassingly parallel (a semi-technical term meaning that the task is expressed as a large number of independent subtasks).

Building software is often near-embarassingly parallel because each compilation of a single file is a subtasks and there are few dependencies. An old-tech approach would use a parallel make implementation such as GNU make combined with file sharing with NFS or samba. There are better tools for distributed builds, for instance distcc or icecc. In your case Rich Homolka mentions Xgrid which looks like it can take care of much of the automation.

But even for compilations, distributing the load is not a silver bullet. It carries a significant overhead (much more than parallel building). Furthermore, until very recently, Moore's law meant that four three-year old laptops would be about as powerful as a current single-processor laptop (without even counting the expense of distribution), so there was no point in reusing old machines for their CPU resources. However this is changing as new computers tend to have more processors rather than faster processors.

share|improve this answer

Although not the answer, I think this information here might come handy

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .