Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2020 Publication 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.
[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.
[3]
Maxime Crochemore and Wojciech Rytter. 1994. Text Algorithms. Oxford University Press.
[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.
[5]
G. H. Hardy and E. M. Wright. 1979. An Introduction to the Theory of Numbers(5th ed.). Oxford University Press.
[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.
[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.
[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.
[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.
[10]
MPI Forum. 2015. MPI: A Message-Passing Interface Standard. Version 3.1. www.mpi-forum.org.
[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.
[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.
[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.
[14]
Jesper Larsson Träff. 2016. A Library for Advanced Datatype Programming. In 23rd European MPI Users’ Group Meeting (EuroMPI). ACM, 98–107.
[15]
Jesper Larsson Träff. 2018. Practical, Distributed, Low Overhead Algorithms for Irregular Gather and Scatter Collectives. Parallel Computing 75 (2018), 100–117.
[16]
Jesper Larsson Träff. 2019. Decomposing Collectives for Exploiting Multi-lane Communication. arXiv:1910.13373.
[17]
Jesper Larsson Träff and Sascha Hunold. 2019. Cartesian Collective Communication. In 48th International Conference on Parallel Processing (ICPP). 48:1–48:11.
[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.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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: 07 October 2020

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

EuroMPI/USA '20
EuroMPI/USA '20: 27th European MPI Users' Group Meeting
September 21 - 24, 2020
TX, Austin, USA

Acceptance Rates

Overall Acceptance Rate 66 of 139 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 24
    Total Downloads
  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media