[Beowulf] multi-threading vs. MPI

Martin Siegert siegert at sfu.ca
Sat Dec 8 12:55:07 PST 2007


Over the last months I have done quite a bit of benchmarking of
applications. One of the aspects we are interested in is the performance
of applications that are available in MPI, OpenMP and hybrid versions.
So far we looked at WRF and CPMD; we'll probably look at POP as well.

MPI vs. OpenMP on a SMP (64 core Power5):
walltime for cpmd benchmark on 32 cores:
MPI: 93.13s   OpenMP: 446.86s

Results for WRF on the same platform are similar. 
In short: the performance of OpenMP code isn't even close to that of the
MPI code.

We also looked at the hybrid version of these codes on clusters.
The difference in run times are in the 1% range - less than the
accuracy of the measurement.

Thus, if you have the choice, why would you even look at anything other
than MPI? Even if the programming effort for OpenMP is lower,
the performance penalty is huge.

That's my conclusion drawn from the cases we've looked at.
If anybody knows of applications where the OpenMP performance comes close
to the MPI performance and of applications where the hybrid performance
is significantly better than the pure MPI performance, then I would
love to hear from you. Thanks!

Cheers,
Martin

-- 
Martin Siegert
Head, Research Computing
WestGrid Site Lead
Academic Computing Services                phone: 778 782-4691
Simon Fraser University                    fax:   778 782-4242
Burnaby, British Columbia                  email: siegert at sfu.ca
Canada  V5A 1S6

On Fri, Dec 07, 2007 at 10:56:14PM -0600, Gerry Creager wrote:
> WRF has been under development for 10 years.  It's got an OpenMP flavor, 
> an MPI flavor and a hybrid one.  We still don't have all the bugs worked 
> out of the hybrid so that it can handle large, high resolution domains 
> without being slower than the MPI version.  And, yeah, the OpenMP geeks 
> working on this... and the MPI folks, are good.
> 
> Hybrid isn't easy and isn't always foolproof.  And, as another thought, 
> OpenMP isn't always the best solution to the problem.
> 
> gerry
> 
> richard.walsh at comcast.net wrote:
> > -------------- Original message ----------------------
> >From: Toon Knapen <toon.knapen at gmail.com>
> >>Greg Lindahl wrote:
> >>>In real life (i.e. not HPC), everyone uses message passing between
> >>>nodes.  So I don't see what you're getting at.
> >>>
> >>Many on this list suggest that using multiple MPI-processes on one and 
> >>the same node is superior to MT approaches IIUC. However I have the 
> >>impression that almost the whole industry is looking into MT to benefit 
> >>from multi-core without even considering message-passing. Why is that so?
> >
> >I think what Greg and others are really saying is that if you have to use 
> >a distributed memory
> >model (MPI) as a first order response to meet your scalability 
> >requirements, then
> >the extra coding effort and complexity required to create a hybrid code 
> >may not be
> >a good performance return on your investment.  If on the other hand you 
> >only
> >need to scale within a singe SMP node (with cores and sockets on a single
> >board growing in number, this returns more performance than in the past), 
> >then you
> >may be able to avoid using MPI and chose a simpler model like OpenMP.  If 
> >you
> >have already written an efficient MPI code,  then (with some exceptions) 
> >the performance-gain divided by the hybrid coding-effort may seem small.
> >
> >Development in an SMP environment is easier.  I know of a number of sights
> >that work this way.  The experienced algorithm folks work up the code in 
> >OpenMP on say an SGI Altix or Power6 SMP, then they get a dedicated MPI
> >coding expert to convert it later for scalable production operation on a 
> >cluster.
> >In this situation, they do end up with hybrid versions in some cases.  In 
> >non-HPC
> >or smaller workgroup contexts your production code may not need to be 
> >converted.
> >
> >Cheers,
> >
> >rbw
> >
> >--
> >
> >"Making predictions is hard, especially about the future."
> >
> >Niels Bohr
> >
> >--
> >
> >Richard Walsh
> >Thrashing River Consulting--
> >5605 Alameda St.
> >Shoreview, MN 55126
> >
> >Phone #: 612-382-4620
> >
> >_______________________________________________
> >Beowulf mailing list, Beowulf at beowulf.org
> >To change your subscription (digest mode or unsubscribe) visit 
> >http://www.beowulf.org/mailman/listinfo/beowulf
> 
> -- 
> Gerry Creager -- gerry.creager at tamu.edu
> Texas Mesonet -- AATLT, Texas A&M University	
> Cell: 979.229.5301 Office: 979.458.4020 FAX: 979.862.3983
> Office: 1700 Research Parkway Ste 160, TAMU, College Station, TX 77843
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit 
> http://www.beowulf.org/mailman/listinfo/beowulf

-- 
Martin Siegert
Head, Research Computing
WestGrid Site Lead
Academic Computing Services                phone: 778 782-4691
Simon Fraser University                    fax:   778 782-4242
Burnaby, British Columbia                  email: siegert at sfu.ca
Canada  V5A 1S6



More information about the Beowulf mailing list