skip to main content
10.1145/3416315.3416324acmotherconferencesArticle/Chapter ViewAbstractPublication PageseurompiConference Proceedingsconference-collections
research-article

Signature Datatypes for Type Correct Collective Operations, Revisited

Published:07 October 2020Publication History

ABSTRACT

In order to provide for type correct implementations of applications in MPI that use derived datatypes to describe complex and possibly heterogeneous data layouts, signature datatypes describing the sequence of basic datatypes comprising the complex data layout in a compact manner have often been proposed and used to communicate and store such data in a type correct way. Signature datatypes are particularly useful in implementations of algorithms for collective communication employing pipelining and/or message-combining.

We (re)examine the properties that signature datatypes must fulfill, and the properties of the MPI collective interfaces that guarantee the existence of proper signature datatypes. The analysis reveals that MPI_Alltoallw does not have the property, and thus that certain non-trivial, type correct implementations of this operation are not easily possible within MPI itself.

We observe that the signature datatype for any derived datatype can be computed in O(n) operations in the number of elements n described by the derived datatype. While this improves on certain earlier approaches, this is still not a satisfactory solution for the cases where large layouts are described by small, derived datatypes. We explain how signature type computation is implemented in a library for advanced datatype programming.

References

  1. Enes Bajrović and Jesper Larsson Träff. 2011. Using MPI derived datatypes in numerical libraries. In Recent Advances in Message Passing Interface. 18th European MPI Users’ Group Meeting(Lecture Notes in Computer Science), Vol. 6960. Springer, 29–38.Google ScholarGoogle ScholarCross RefCross Ref
  2. Ernie Chan, Marcel Heimlich, Avi Purkayastha, and Robert A. van de Geijn. 2007. Collective communication: theory, practice, and experience. Concurrency and Computation: Practice and Experience 19, 13(2007), 1749–1783.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Maxime Crochemore and Wojciech Rytter. 1994. Text Algorithms. Oxford University Press.Google ScholarGoogle Scholar
  4. Robert Ganian, Martin Kalany, Stefan Szeider, and Jesper Larsson Träff. 2016. Polynomial-time Construction of Optimal MPI Derived Datatype Trees. In 30th International Parallel and Distributed Processing Symposium (IPDPS). IEEE Computer Society, 638–647.Google ScholarGoogle Scholar
  5. G. H. Hardy and E. M. Wright. 1979. An Introduction to the Theory of Numbers(5th ed.). Oxford University Press.Google ScholarGoogle Scholar
  6. Torsten Hoefler and Steven Gottlieb. 2010. 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(Lecture Notes in Computer Science), Vol. 6305. Springer, 132–141.Google ScholarGoogle Scholar
  7. Alexander Huck, Jan-Patrick Lehr, Sebastian Kreutzer, Joachim Protze, Christian Terboven, Christian H. Bischof, and Matthias S. Müller. 2018. Compiler-aided Type Tracking for Correctness Checking of MPI Applications. In 2nd IEEE/ACM International Workshop on Software Correctness for HPC Applications (CORRECTNESS@SC). 51–58.Google ScholarGoogle Scholar
  8. Tomohiro I, Wataru Matsubara, Kouji Shimohira, Shunsuke Inenaga, Hideo Bannai, Masayuki Takeda, Kazuyuki Narisawa, and Ayumi Shinohara. 2015. Detecting regularities on grammar-compressed strings. Information and Computation 240 (2015), 74–89.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Donald E. Knuth, James H. Morris Jr., and Vaughan R. Pratt. 1977. Fast Pattern Matching in Strings. SIAM J. Comput. 6, 2 (1977), 323–350.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. MPI Forum. 2015. MPI: A Message-Passing Interface Standard. Version 3.1. www.mpi-forum.org.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Joachim Protze, Tobias Hilbrich, Andreas Knüpfer, Bronis R. de Supinski, and Matthias S. Müller. 2012. Holistic Debugging of MPI Derived Datatypes. In 26th IEEE International Parallel and Distributed Processing Symposium (IPDPS). 354–365.Google ScholarGoogle Scholar
  12. Rajeev Thakur, William D. Gropp, and Rolf Rabenseifner. 2005. Improving the Performance of Collective Operations in MPICH. International Journal on High Performance Computing Applications 19 (2005), 49–66.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jesper Larsson Träff. 2014. Optimal MPI datatype normalization for vector and index-block types. In 21st European MPI Users’ Group Meeting (EuroMPI/ASIA). ACM, 33–38.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Jesper Larsson Träff. 2016. A Library for Advanced Datatype Programming. In 23rd European MPI Users’ Group Meeting (EuroMPI). ACM, 98–107.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jesper Larsson Träff. 2018. Practical, Distributed, Low Overhead Algorithms for Irregular Gather and Scatter Collectives. Parallel Computing 75 (2018), 100–117.Google ScholarGoogle ScholarCross RefCross Ref
  16. Jesper Larsson Träff. 2019. Decomposing Collectives for Exploiting Multi-lane Communication. arXiv:1910.13373.Google ScholarGoogle Scholar
  17. Jesper Larsson Träff and Sascha Hunold. 2019. Cartesian Collective Communication. In 48th International Conference on Parallel Processing (ICPP). 48:1–48:11.Google ScholarGoogle Scholar
  18. Jesper Larsson Träff and Antoine Rougier. 2014. Zero-copy, hierarchical Gather is not possible with MPI Datatypes and Collectives. In 21st European MPI Users’ Group Meeting (EuroMPI/ASIA). ACM, 39–44.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jesper Larsson Träff, Antoine Rougier, and Sascha Hunold. 2014. Implementing a classic: Zero-copy all-to-all communication with MPI datatypes. In 28th ACM International Conference on Supercomputing (ICS). ACM, 135–144.Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    EuroMPI/USA '20: Proceedings of the 27th European MPI Users' Group Meeting
    September 2020
    88 pages
    ISBN:9781450388801
    DOI:10.1145/3416315

    Copyright © 2020 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 October 2020

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate66of139submissions,47%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format