MATLAB: How to build a parallel computing when the program should call the external exe program

parallel computing

I am a beginner in the parallel computing. The question as follow: I need to a program to revise the parameter for the external EXE program, and then call the external EXE program.When running external the EXE program ,I need about 1 minutes a time. I need to revise the parameter about 60 000 times,so need 60 000 minutes. So, I think I should parallel computing. I wonder will the extension computer need to install the external EXE program and how to building a parallel computing work.

Best Answer

Quick answers to your questions
  1. The .exe file will need to be in a location accessible to all the machines in your cluster. This can be accomplished by installing it on each machine in the cluster, or having it available on a network share. In my experience, having the application installed locally delivers the best performance, but the down side is that you need to have a method of getting your executable everywhere it needs to be, and keeping it in sync.
  2. I'd look into the batch, parfor, spmd and job/task methods of distributing work, each has advantages for certain situations. You can read about them here: http://www.mathworks.com/help/distcomp/index.html
  3. As for how to build a cluster, there are many ways. You can use the MATLAB Distributed Computing Server (MDCS) to set up a job manager and workers, or if you have an existing cluster already, MDCS integrates with LSF, PBS, Torque or Microsoft HPC Server. You can learn more about your options here: http://www.mathworks.com/products/distriben/. Once you have the cluster setup, you can submit your code to run your simulation.
  4. There is also the "local" scheduler, which uses just resources on your local machine, and ships with Parallel Computing Toolbox. You can use this to prototype your code and get it working, and when the cluster setup is complete, you can run the same code there at larger scale.