views:

133

answers:

2

My objective is to write a program which will call another executable on a separate computer(all with win xp) with parameters determined at run-time, then repeat for several more computers, and then collect the results. In short, I'm working on a grid-computing project. The algorithm itself being used is already coded in FORTRAN, but we are looking for an efficient way to run it on many computers at once.

I suppose one way to accomplish this would be to upload a script to each computer and then run said script on each computer, all automatically and dependent on my own parameters. But how can I write a program which will write to, upload, and run a script on a separate computer?

I had considered GridGain, but the algorithm is already coded and in a different language, so that is ruled out.

My current guess at accomplishing this task is using Expect (wiki/Expect), but I have no knowledge of the tool.

Any advice appreciated.

+1  A: 

You can use PsExec for this:

http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

You could also look at the open source alternative RemCom:

http://rce.sourceforge.net/

It's actually pretty simple to write your own as well but RCE will show you how to do it if you want. Although, using PsExec may just suffice your needs.

BobbyShaftoe
Very interesting. I like this, and unfortunately it's not that simple for me. Would it be easier for me to add a features to this program, or write a program which manipulates remcom? If so, any clues as to how?
Mr. H.
I think the easiest thing to do would be to use PsExec and in your program execute PsExec with the appropriate arguments to run the remote executable.
BobbyShaftoe
A: 

Have a look into PVM, it was made for the type of situation you're describing, but you may have to annotate your existing codebase and/or implement a wrapper application.

alatkins