ABSTRACT
The derived datatypes of MPI is an extremely powerful mechanism for specifying the layout of data in communication operations. It is desirable that MPI libraries internally simplify complex datatype descriptions into representations that are efficient for the communication operations in which they are used. This process is called datatype normalization, and MPI libraries typically employ simple heuristics for this task. In this paper we embark on a study of the inherent complexity of datatype normalization, and show that the problem with a specific, but flexible cost model can be solved cost-optimally for MPI vector and index-block types in polynomial time. For a type map consisting of n displacement-basetype pairs, we first give a type reconstruction algorithm running in O(n√n) time steps. We then use this algorithm for datatype normalization of given derived datatypes.
- E. Bajrović and J. L. Träff. Using MPI derived datatypes in numerical libraries. In Recent Advances in Message Passing Interface. 18th European MPI Users' Group Meeting, volume 6960 of Lecture Notes in Computer Science, pages 29--38. Springer, 2011. Google ScholarDigital Library
- S. Byna, W. D. Gropp, X.-H. Sun, and R. Thakur. Improving the performance of MPI derived datatypes by optimizing memory-access cost. In IEEE International Conference on Cluster Computing (CLUSTER 2003), pages 412--419, 2003.Google ScholarCross Ref
- S. Byna, X.-H. Sun, R. Thakur, and W. Gropp. Automatic memory optimizations for improving MPI derived datatype performance. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 13th European PVM/MPI Users' Group Meeting, number 4192 in Lecture Notes in Computer Science, pages 238--246. Springer, 2006. Google ScholarDigital Library
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. MIT Press, third edition, 2009. Google ScholarDigital Library
- W. D. Gropp, T. Hoefler, R. Thakur, and J. L. Träff. Performance expectations and guidelines for MPI derived datatypes: a first analysis. In Recent Advances in Message Passing Interface. 18th European MPI Users' Group Meeting, volume 6960 of Lecture Notes in Computer Science, pages 150--159. Springer, 2011. Google ScholarDigital Library
- W. D. Gropp, E. Lusk, and D. Swider. Improving the performance of MPI derived datatypes. In Third MPI Developer's and User's Conference (MPIDC'99), pages 25--30, 1999.Google Scholar
- T. Hoefler and S. Gottlieb. Parallel zero-copy algorithms for fast fourier transform and conjugate gradient using MPI datatypes. In Recent Advances in Message Passing Interface. 17th European MPI Users' Group Meeting, volume 6305 of Lecture Notes in Computer Science, pages 132--141. Springer, 2010. Google ScholarDigital Library
- F. Kjolstad, T. Hoefler, and M. Snir. Automatic datatype generation and optimization. In 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), pages 327--328, 2012. Google ScholarDigital Library
- Q. Lu, J. Wu, D. K. Panda, and P. Sadayappan. Applying MPI derived datatypes to the NAS benchmarks: A case study. In 33rd International Conference on Parallel Processing Workshops (ICPP 2004 Workshops), pages 538--545, 2004. Google ScholarDigital Library
- MPI Forum. MPI: A Message-Passing Interface Standard. Version 3.0, September 21st 2012. www.mpi-forum.org.Google Scholar
- R. Ross, N. Miller, and W. D. Gropp. Implementing fast and reusable datatype processing. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 10th European PVM/MPI Users' Group Meeting, volume 2840 of Lecture Notes in Computer Science, pages 404--413. Springer, 2003.Google ScholarCross Ref
- G. Santhanaraman, J. Wu, W. Huang, and D. K. Panda. Designing zero-copy message passing interface derived datatype communication over Infiniband: Alternative approaches and performance evaluation. International Journal on High Performance Computing Applications, 19(2):129--142, 2005. Google ScholarDigital Library
- T. Schneider, F. Kjolstad, and T. Hoefler. MPI datatype processing using runtime compilation. In Recent Advances in the Message Passing Interface, 20th European MPI Users's Group Meeting (EuroMPI), pages 19--24, 2013. Google ScholarDigital Library
- N. Tanabe and H. Nakajo. Introduction to acceleration for mpi derived datatypes using an enhancer of memory and network. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 15th European PVM/MPI Users' Group Meeting, volume 5205 of Lecture Notes in Computer Science, pages 324--325. Springer, 2008. Google ScholarDigital Library
- J. L. Träff. Alternative, uniformly expressive and more scalable interfaces for collective communication in MPI. Parallel Computing, 38(1--2):26--36, 2012. Google ScholarDigital Library
- J. L. Träff, R. Hempel, H. Ritzdorf, and F. Zimmermann. Flattening on the fly: efficient handling of MPI derived datatypes. In Recent Advances in Parallel Virtual Machine and Message Passing Interface. 6th European PVM/MPI Users' Group Meeting, volume 1697 of Lecture Notes in Computer Science, pages 109--116. Springer, 1999. Google ScholarDigital Library
- J. L. Träff, A. Rougier, and S. Hunold. Implementing a classic: Zero-copy all-to-all communication with MPI datatypes. In 28th ACM International Conference on Supercomputing (ICS), pages 135--144, 2014. Google ScholarDigital Library
- J. Wu, P. Wyckoff, and D. K. Panda. High performance implementation of MPI derived datatype communication over InfiniBand. In 18th International Parallel and Distributed Processing Symposium (IPDPS), page 14, 2004.Google Scholar
Index Terms
- Optimal MPI Datatype Normalization for Vector and Index-block Types
Recommendations
Efficient, Optimal MPI Datatype Reconstruction for Vector and Index Types
EuroMPI '15: Proceedings of the 22nd European MPI Users' Group MeetingType reconstruction is the process of finding an efficient representation in terms of space and processing time of a data layout as an MPI derived datatype. Practically efficient type reconstruction and normalization is important for high-quality MPI ...
System f-omega with equirecursive types for datatype-generic programming
POPL '16: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesTraversing an algebraic datatype by hand requires boilerplate code which duplicates the structure of the datatype. Datatype-generic programming (DGP) aims to eliminate such boilerplate code by decomposing algebraic datatypes into type constructor ...
System f-omega with equirecursive types for datatype-generic programming
POPL '16Traversing an algebraic datatype by hand requires boilerplate code which duplicates the structure of the datatype. Datatype-generic programming (DGP) aims to eliminate such boilerplate code by decomposing algebraic datatypes into type constructor ...
Comments