3

I work at a company that maintains a network of about 200 Windows XP workstations, and several of them are on (locked or logged out) with an idle processor and 2GB of RAM that is just sitting there. I imagine many companies are in a similar situation, and I want to know is there software that can utilize these idle machines?

Many scripts I write handle work in batches, and these scripts can be executed on any machine... all the inputs, outputs, and even the programs are stored on network drives. What I want to do is design a service that, in short:

  • runs on every machine
  • accepts batch-processing commands
  • runs them with a low resource priority

Does software like this already exist? I couldn't find anything out there and maybe there is a reason for that, but it sounds like a great idea to me.

Jason Coon
  • 135
  • 5

7 Answers7

3

Sure. You're talking about clustering.

You're going to be a bit limited with Windows XP, unfortunately. It's not really made for that sort of thing (whenever I cluster with XP, I serve XP as a terminal session to a linux desktop, it allows a lot more flexibility.)

Still, there is software out there. Check out BOINC, it's got a lot of potential for what you're talking about, and it runs on everything. (Did I mention it's free? No? It's free.)

Satanicpuppy
  • 5,917
  • 1
  • 16
  • 18
2

Condor is one of the oldest I know of. Works with Unix and Windows hosts

MikeJ
  • 1,381
  • 4
  • 13
  • 24
  • This one sounds good too, do you have experience with Condor? What do you think about it? – Jason Coon Oct 14 '09 at 15:24
  • I used it in the early 90's on Sparc 4 machines and it worked well. I dont have any experience with the windows flavour, but its been around for a while so I would expect it to be mature for use on windows. – MikeJ Oct 14 '09 at 19:32
1

You should check out GridGain

http://www.gridgain.com/

Gegtik
  • 188
  • 5
0

Sounds like a perfect job for Grid Engine.

Gaius
  • 1,461
  • 1
  • 12
  • 19
0

After first I thought you were looking for distributed.net or Folding@home.

Since you are looking at running your own software, you could have it execute when the screensaver turns on. This will ensure it only runs when the PC is idle. You can use System ScreenSaver ($15) or Runsaver (free). After that, it would be up to you to handle the code that runs - since it is hosted over the network, you could configure the clients to all run the same executable, and then handle how the data is processed, what happens if the screensaver is interrupted, etc.

Dave Drager
  • 8,315
  • 28
  • 45
0

Here are Wikipedia articles on Distributed Computing and Grid Computing.

Dennis Williamson
  • 60,515
  • 14
  • 113
  • 148
0

Unless your company deals with some very specific distributed computation problems your best bet would be to simply power off the machines. This would not only save your company money, but also help the environment. Although you can distribute workload across many machines, only certain problems support trivial parallelization, and at that number of machines you would likely encounter synchronization problems with shared resources (i.e mapped network drives) for all but the simplest self contained distributed programs.

That being said if you still want to go this route and have something that can be broken up into discrete elements Boinc is an excellent choice as noted above.

MattyB
  • 993
  • 4
  • 6