Discussion:
[OMPI users] How to paralellize the algorithm...
Bar�� Ke�eci via users
2016-09-30 15:36:43 UTC
Permalink
Hello everyone,I'm trying to investigate the paralellization of an algorithm with OpenMPI on a distributed computers' network. In the network there are one Master PC and 24 Computing Node PCs. I'm quite a newbie in this field. However i achieved installing the OpenMPI and compiling and running my first parallel codes on this parallel platform.
Now here is my question.The algorithm in my concern is a simple one. Such that: in the outer "for loop" the algorithm repeats until a stopping conditon is met. The Master PC should do this outer loop. And in the "inner loop" a local search procedure is performed in paralel by the 24 Computing Nodes. That means i actually want to paralellize the inner loop since it is the most time cosuming part of my algorithm. I have already managed to code this part since i know the total number of steps of the "inner loop" and hence i was able to paralellize the inner "for loop" over the distributed pcs. Now here is the problem. I want the Master PC repeats the main loop until a stopping criterion is met, but at each step it should distribute the inner loop over 24 compute nodes. And i dont have any idea how should i do this. It appears to me i should build a code something like, i have to make each compute node wait a signal from the master code and reapeat the inner loop over and over...
I hope i could make it clear with my poor English. I would appreciate if anyone can help me or at least give the broad methodology.
Best regars to all.
Doctor Keceee
Constantinos Makassikis
2016-10-01 07:32:49 UTC
Permalink
Dear,

It seems to me you are trying to parallelize following a Master/Slave
paradigm.

Perhaps you may want to take a look and test some existing MPI-based
library for achieving that:
- DMSM: https://www.hpcvl.org/faqs/dmsm-library
- TOP-C: http://www.ccs.neu.edu/home/gene/topc.html
- ADLB: https://www.cs.mtsu.edu/~rbutler/adlb/


Kind Regards,
--
Constantinos


On Fri, Sep 30, 2016 at 5:36 PM, Barᅵᅵ Keᅵeci via users <
Post by Bar�� Ke�eci via users
Hello everyone,
I'm trying to investigate the paralellization of an algorithm with OpenMPI
on a distributed computers' network. In the network there are one Master
PC and 24 Computing Node PCs. I'm quite a newbie in this field. However i
achieved installing the OpenMPI and compiling and running my first parallel
codes on this parallel platform.
Now here is my question.
The algorithm in my concern is a simple one. Such that: in the outer "for
loop" the algorithm repeats until a stopping conditon is met. The Master PC
should do this outer loop. And in the "inner loop" a local search procedure
is performed in paralel by the 24 Computing Nodes. That means i actually
want to paralellize the inner loop since it is the most time cosuming part
of my algorithm. I have already managed to code this part since i know the
total number of steps of the "inner loop" and hence i was able to
paralellize the inner "for loop" over the distributed pcs. Now here is the
problem. I want the Master PC repeats the main loop until a stopping
criterion is met, but at each step it should distribute the inner loop over
24 compute nodes. And i dont have any idea how should i do this. It appears
to me i should build a code something like, i have to make each compute
node wait a signal from the master code and reapeat the inner loop over and
over...
I hope i could make it clear with my poor English. I would appreciate if
anyone can help me or at least give the broad methodology.
Best regars to all.
Doctor Keceee
_______________________________________________
users mailing list
https://rfd.newmexicoconsortium.org/mailman/listinfo/users
Loading...