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 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.

share|improve this question
add comment

7 Answers

up vote 3 down vote accepted

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.)

share|improve this answer
    
BOINC sounds like a really nice solution, I'm checking it out now –  coonj Oct 14 '09 at 15:14
    
setting up BOINC is pretty simple, just load the VM image and write some simple C programs to define Jobs... pretty neat. –  coonj Oct 15 '09 at 12:25
add comment

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

share|improve this answer
    
This one sounds good too, do you have experience with Condor? What do you think about it? –  coonj 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
add comment

You should check out GridGain

http://www.gridgain.com/

share|improve this answer
    
Sounds like a good solution for our Java programs, I'm checking this out too –  coonj Oct 14 '09 at 15:20
add comment

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.

share|improve this answer
add comment

Here are Wikipedia articles on Distributed Computing and Grid Computing.

share|improve this answer
    
Grid Computing is the term I was missing, thanks –  coonj Oct 14 '09 at 15:27
add comment

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.

share|improve this answer
add comment

Sounds like a perfect job for Grid Engine.

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.