Cache-Efficient, Intranode, Large-Message MPI Communication with MPICH2-Nemesis

Abstract : The emergence of multicore processors raises the need to efficiently transfer large amounts of data between local processes. MPICH2 is a highly portable MPI implementation whose large-message communication schemes suffer from high CPU utilization and cache pollution because of the use of a double-buffering strategy, common to many MPI implementations. We introduce two strategies offering a kernel-assisted, single-copy model with support for noncontiguous and asynchronous transfers. The first one uses the now widely available vmsplice Linux system call; the second one further improves performance thanks to a custom kernel module called KNEM. The latter also offers I/OAT copy offload, which is dynamically enabled depending on both hardware cache characteristics and message size. These new solutions outperform the standard transfer method in the MPICH2 implementation when no cache is shared between the processing cores or when very large messages are being transferred. Collective communication operations show a dramatic improvement, and the IS NAS parallel benchmark shows a 25% speedup and better cache efficiency.
Document type :
Conference papers
IEEE. 38th International Conference on Parallel Processing (ICPP-2009), Sep 2009, Vienne, Austria. 2009, <10.1109/ICPP.2009.22>


https://hal.inria.fr/inria-00390064
Contributor : Brice Goglin <>
Submitted on : Friday, June 5, 2009 - 10:23:11 AM
Last modification on : Monday, June 14, 2010 - 9:04:17 AM

File

article.pdf
fileSource_public_author

Identifiers

Collections

Citation

Darius Buntinas, Brice Goglin, David Goodell, Guillaume Mercier, Stéphanie Moreaud. Cache-Efficient, Intranode, Large-Message MPI Communication with MPICH2-Nemesis. IEEE. 38th International Conference on Parallel Processing (ICPP-2009), Sep 2009, Vienne, Austria. 2009, <10.1109/ICPP.2009.22>. <inria-00390064>

Export

Share

Metrics

Consultation de
la notice

250

Téléchargement du document

78