Server Fault is a question and answer site for system and network administrators. 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

This question already has an answer here:

I have 4 laptops at home.

I'm only using one of them, so I wonder if there are softwares that distribute 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 1/4.

I'm not looking for a software to use them as only monitors (like MaxiVista), but using their CPU, RAM, Harddrive, CD-ROM, 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.

Are there softwares for home users?

I'm using Mac OS X Snow Leopard btw.

share|improve this question

marked as duplicate by Michael Hampton Apr 19 '15 at 17:53

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

I believe the superuser version of this is much more relevant. As it's not the act of programming, it's augmenting the use of code, and example 2 is purely SU fodder. edit This isn't SO I'm an idiot. I don't know if this is better left to SF or SU… Possibly SU purely on the basis that he's not using servers. – VxJasonxV Sep 7 '10 at 21:20
up vote 1 down vote accepted

Magic bullet: OpenMosix. Or Mosix. OpenMosix still doesn't work well with modern 2.6 kernels, but if you don't mind running a 2.4 kernel then go for it. Or pay a little for Mosix. Mosix is a great system that turns multiple computers into a SSI (Single System Image) system. This allows the cpu/memory/proc space etc to be seen as ONE. This is one method of HPC systems. There's also a cool/great commercial product that does a vSMP call ScaleMP.

I've used OpenMosix for fun stuff. No application level changes are needed. Just execute your app and Mosix will migrate the processes. Now for compiling use the multiple processor option so that it will use multiple threads for the compiling and the threads will be distributed to the other CPU's.

If you are only doing this for compiling then just use distcc.

share|improve this answer

There's really no magic bullet that would let you accomplish this. Applications need to be specifically written to be able to take advantage of distributed CPU/memory/IO/etc. Back in the day when I was playing with Gentoo, I had distcc set up on a bunch of mostly-idle hosts, and I would be able to tap into their spare capacity when doing gcc compiles. I'd guess that there are similar systems for other compilers, but I'm not certain.

By the way, regarding your Example 1: no matter what technology you're using, you're never going to get to 100% effeciency. There's always going to be some amount of management overhead that takes cycles away from the active task at hand.

share|improve this answer
+1 for distcc, it can be a big time saver for builds. IIRC, even seen it running on OS X machines lately. – Cory J Sep 7 '10 at 20:13

A fast OS X Xgrid using Linux and XP boxes as agents:

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.