Abstract
The one-sided communication model supported by MPI-2 can be more convenient to use than the regular two-sided communication model and has potential to provide better performance. The MPI-2 standard gives flexibility about when RMA operations can be issued and completed. The current MPICH2 implementation employs a lazy approach, in which operations are queued up and issued in the later synchronization phase. This has certain benefits for small data transfers because of reduced network operations, but for large data transfers, issuing operations in an eager fashion could achieve better performance. In this paper we describe our design and implementation of an adaptive strategy for one-sided operations and synchronization mechanisms (fence, post-start-complete-wait, lock-unlock) supported by MPI-2, which combines benefits from both lazy and eager approaches. Our performance results demonstrate that our approach performs as well as the lazy approach for small data transfers and achieves similar performance as the eager approach for large data transfers. In addition, it achieves good overlap of communication with computation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Message Passing Interface Forum, MPI-2: A Message Passing Interface Standard. High Performance Computing Applications 12, 1–299 (1988)
Argonne National Laboratory, MPICH2, http://www-unix.mcs.anl.gov/mpi/mpich2/
Barrett, B.W., Shipman, G.M., Lumsdaine, A.: Analysis of Implementation Options for MPI-2 One-Sided. In: Cappello, F., Herault, T., Dongarra, J. (eds.) PVM/MPI 2007. LNCS, vol. 4757, pp. 242–250. Springer, Heidelberg (2007)
Traff, J., Ritzdorf, H., Hempel, R.: The Implementation of MPI-2 One-Sided Communication for the NEC SX. In: Proceedings of Supercomputing 2000 (2000)
Cray Research Inc., Cray T3E C and C++ optimization guide (1994)
Nieplocha, J., Carpenter, B.: ARMCI: A Portable Remote Memory Copy Library for Distributed Array Libraries and Compiler Run-Time Systems. In: Rolim, J.D.P. (ed.) IPPS-WS 1999 and SPDP-WS 1999. LNCS, vol. 1586, pp. 533–546. Springer, Heidelberg (1999)
Bonachea, D.: GASNet Specification, v1.1. Technical Report UCB/CSD-02-1207, Computer Science Division, University of California at Berkeley (October 2002)
Goudreau, M., Lang, K., Rao, S.B., Suel, T., Tsantilas, T.: Portable and Efficient Parallel Computing Using the BSP Model. IEEE Transactions on Computers, 670–689 (1999)
Hill, J.M.D.: Lessons learned from Implementing BSP. Oxford University Technical Laboratory, Technical report 21-96
Hill, J.M.D., McColl, B., Stefanescu, D.C., Goudreau, M.W., Lang, K., Rao, S.B., Suel, T., Tsantilas, T., Bisseling, R.H.: BSPlib: The BSP programming library. Parallel Computing 24(14), 1947–1980 (1998)
Gropp, W.D., Thakur, R.: Revealing the Performance of MPI RMA Implementations. In: Cappello, F., Herault, T., Dongarra, J. (eds.) PVM/MPI 2007. LNCS, vol. 4757, pp. 272–280. Springer, Heidelberg (2007)
Gropp, W.D., Thakur, R.: An Evaluation of Implementation Options for MPI One-Sided Communication. In: Di Martino, B., Kranzlmüller, D., Dongarra, J. (eds.) EuroPVM/MPI 2005. LNCS, vol. 3666, pp. 415–424. Springer, Heidelberg (2005)
Thakur, R., Gropp, W.D., Toonen, B.: Minimizing Synchronization Overhead in the Implementation of MPI One-Sided Communication. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 57–67. Springer, Heidelberg (2004)
Liu, J., Jiang, W., Jin, H.-W., Panda, D.K., Gropp, W., Thakur, R.: High Performance MPI-2 One-Sided Communication over InfiniBand. In: International Symposium on Cluster Computing and the Grid (CCGrid 2004) (April 2004)
Jiang, W., Liu, J., Jin, H.-W., Panda, D.K., Buntinas, D., Thakur, R., Gropp, W.D.: Efficient Implementation of MPI-2 Passive One-Sided Communication on InfiniBand Clusters. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 68–76. Springer, Heidelberg (2004)
Santhanaraman, G., Narravula, S., Panda, D.K.: Designing passive synchronization for MPI-2 one-sided communication to maximize overlap. In: IPDPS 2008 (April 2008)
Santhanaraman, G., Balaji, P., Gopalakrishnan, K., Thakur, R., Gropp, W., Panda, D.K.: Natively Supporting True One-sided Communication in MPI on Multi-core Systems with InfiniBand. In: CCGRID 2009 (May 2009)
Traff, J.L., Gropp, W.D., Thakur, R.: Self-Consistent MPI Performance Guidelines. IEEE Trans. Parallel Distrib. Syst., 698–709 (2010)
The Graph 500 List, http://www.graph500.org/index.html/
Argonne National Laboratory, MPPTEST - Measuring MPI Performance, http://www.mcs.anl.gov/research/projects/mpi/mpptest/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhao, X., Santhanaraman, G., Gropp, W. (2012). Adaptive Strategy for One-Sided Communication in MPICH2. In: Träff, J.L., Benkner, S., Dongarra, J.J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2012. Lecture Notes in Computer Science, vol 7490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33518-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-33518-1_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33517-4
Online ISBN: 978-3-642-33518-1
eBook Packages: Computer ScienceComputer Science (R0)