On Aug 22, 2018, at 11:49 AM, Diego Avesani <diego.aves...@gmail.com> wrote:
> 
> I have a philosophical question.
> 
> I am reading a lot of papers where people use Portable Batch System or job 
> scheduler in order to parallelize their code.
> 
> What are the advantages in using MPI instead?

It depends on the code in question / problem being solved.

Embarrassingly parallel problems may lend themselves to submitting a bazillion 
serial jobs through a job scheduler such as SLURM, Torque, ...etc.  (there's 
other factors that matter, too, such as job length, IO requirements, ...etc.). 
That is, these serial jobs can run independently of each other, and therefore 
can run whenever / wherever the scheduler puts them.  MPI is not necessary 
because the jobs don't need to communicate with each other.

If there's coordination needed during the compute, however, MPI is helpful 
because the individual processes can directly communicate (vs. run a job, 
output the results to stable storage, then fire up the next job to read in 
those results from stable storage, ...etc.).

These requirements are all on a multi-variable spectrum, of course.  In most 
cases, it's clear whether you should choose Monte Carlo-style 
bazillion-serial-jobs-through-a-scheduler vs. MPI.  But there's definitely some 
cases where a closer examination of requirements is required to determine which 
would be better (to potentially include a hybrid solution).

> I am writing a report on my code, where of course I use openMPI. So tell me 
> please how can I cite you. You deserve all the credits.

Please see https://www.open-mpi.org/papers/.  Thanks!

-- 
Jeff Squyres
jsquy...@cisco.com

_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to