Abstract
Shared memory system is an important platform for high performance computing. In traditional parallel programming, message passing interface (MPI) is widely used. But current implementation of MPI doesn’t take full advantage of shared memory for communication. A double data copying method is used to copy data to and from system buffer for message passing. In this paper, we propose a novel method to design and implement the communication protocol for MPI on shared memory system. The double data copying method is replaced by a single data copying method, thus, message is transferred without the system buffer. We compare the new communication protocol with that in MPICH an implementation of MPI. Our performance measurements indicate that the new communication protocol outperforms MPICH with lower latency. For Point-to-Point communication, the new protocol performs up to about 15 times faster than MPICH, and it performs up to about 300 times faster than MPICH for collective communication.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
The MPI Forum: The MPI Message-Passing Interface Standard (1995), http://www.mpi-forum.org/
OpenMP Standards Board. OpenMP: A Proposed Industry Standard API for Shared Memory Programming (1997), http://www.openmp.org/openmp/mp-documents/paper/paper.html
Pthread interface. ANSI/IEEE Standard 1003.1 (1996)
Greeger, M.: Multicore CPUs for the Masses. ACM Queue 3(7), 63–64 (2005)
Gropp, W., Lusk, E., Skjellum, A., Doss, N.: A high-performance, portable implementation for the MPI message-passing interface. Parallel Computing 22, 789–828 (1996)
Gropp, W., Lusk, E.: A high-performance MPI implementation on a shared-memory vector supercomputer. Parallel Computing 22, 1513–1526 (1997)
Protopopov, B.V., Skjellum, A.: Shared-memory communication approaches for an MPI message-passing library. Concurrency: Practice and Experience 12(9), 799–820 (2000)
Tang, H., Shen, K., Yang, T.: Compile/Run-time Support for Threaded MPI Execution on Multiprogrammed Shared Memory Machines. In: Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 107–118 (1999)
Buntinas, D., Guillaume, M., Gropp, W.: Data Transfers between Processes in an SMP System: Performance Study and Application to MPI. In: International Conference on Parallel Processing (ICPP), Columbus, Ohio, USA, pp. 487–496 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Miao, Q., Sun, G., Shan, J., Chen, G. (2007). Single Data Copying for MPI Communication Optimization on Shared Memory System. In: Shi, Y., van Albada, G.D., Dongarra, J., Sloot, P.M.A. (eds) Computational Science – ICCS 2007. ICCS 2007. Lecture Notes in Computer Science, vol 4487. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72584-8_93
Download citation
DOI: https://doi.org/10.1007/978-3-540-72584-8_93
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72583-1
Online ISBN: 978-3-540-72584-8
eBook Packages: Computer ScienceComputer Science (R0)