Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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
3  
Duplicate of superuser.com/questions/185777/… –  sysadmin1138 Sep 7 '10 at 20:24
1  
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
add comment

3 Answers

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
add comment

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
add comment

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

http://www.jambot.com/blog/index.php?m=03&y=07&entry=entry070311-185623

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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