Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] How to justify the use MPI codes on multicore systems/PCs?
From: Andreas Schäfer (gentryx_at_[hidden])
Date: 2011-12-11 12:16:02


Hey,

on an SMP box threaded codes CAN always be faster than their MPI
equivalents. One reason why MPI sometimes turns out to be faster is
that with MPI every process actually initializes its own
data. Therefore it'll end up in the NUMA domain to which the core
running that process belongs. A lot of threaded codes are not NUMA
aware. So, for instance the initialization is done sequentially
(because it may not take a lot of time), and Linux' first touch policy
makes all memory pages belong to a single domain. In essence, those
codes will use just a single memory controller (and its bandwidth).

Cheers
-Andreas

On 11:56 Sun 11 Dec , MM wrote:
> I guess, on a multicore machine, openmp/pthread code will always run faster
> than MPI code on the same box, even if the MPI implementation is efficient
> and uses a shared memory tool whereby the data is actually shared across the
> different process, though it's in a different way than it is shared across
> the threads in the same process.
>
>
>
> I'd be curious to see some timing comparisons.
>
> MM
>
>
>
> From: users-bounces_at_[hidden] [mailto:users-bounces_at_[hidden]] On
> Behalf Of amjad ali
> Sent: 10 December 2011 20:22
> To: Open MPI Users
> Subject: [OMPI users] How to justify the use MPI codes on multicore
> systems/PCs?
>
>
>
> Hello All,
>
>
>
> I developed my MPI based parallel code for clusters, but now I use it on
> multicore/manycore computers (PCs) as well. How to justify (in some
> thesis/publication) the use of a distributed memory code (in MPI) on a
> shared memory (multicore) machine. I guess to explain two reasons:
>
>
>
> (1) Plan is to use several hunderds processes in future. So MPI like stuff
> is necessary. To maintain code uniformity and save cost/time for developing
> shared memory solution (using OpenMP, pthreads etc), I use the same MPI code
> on shared memory systems (like multicore PCs). MPI based codes give
> reasonable performance on multicore PCs, if not the best.
>
>
>
> (2) The latest MPI implementations are intelligent enough that they use some
> efficient mechanism while executing MPI based codes on shared memory
> (multicore) machines. (please tell me any reference to quote this fact).
>
>
>
>
>
> Please help me in formally justifying this and comment/modify above two
> justifications. Better if I you can suggent me to quote some reference of
> any suitable publication in this regard.
>
>
>
> best regards,
>
> Amjad Ali
>
>
>

> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
==========================================================
Andreas Schäfer
HPC and Grid Computing
Chair of Computer Science 3
Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany
+49 9131 85-27910
PGP/GPG key via keyserver
http://www.libgeodecomp.org
==========================================================
(\___/)
(+'.'+)
(")_(")
This is Bunny. Copy and paste Bunny into your 
signature to help him gain world domination!