0

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.

ajsie
  • 1,215
  • 4
  • 20
  • 28
  • 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 07 '10 at 21:20

3 Answers3

2

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.

EEAA
  • 108,414
  • 18
  • 172
  • 242
  • +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 07 '10 at 20:13
1

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.

John
  • 567
  • 2
  • 4
0

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