2010 | OriginalPaper | Buchkapitel
A Scalable MPI_Comm_split Algorithm for Exascale Computing
verfasst von : Paul Sack, William Gropp
Erschienen in: Recent Advances in the Message Passing Interface
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Existing algorithms for creating communicators in MPI programs will not scale well to future exascale supercomputers containing millions of cores. In this work, we present a novel communicator-creation algorithm that does scale well into millions of processes using three techniques: replacing the sorting at the end of
MPI_Comm_split
with merging as the color and key table is built, sorting the color and key table in parallel, and using a distributed table to store the output communicator data rather than a replicated table. This reduces the time cost of
MPI_Comm_split
in the worst case we consider from 22 seconds to 0.37 second. Existing algorithms build a table with as many entries as processes, using vast amounts of memory. Our algorithm uses a small, fixed amount of memory per communicator after
MPI_Comm_split
has finished and uses a fraction of the memory used by the conventional algorithm for temporary storage during the execution of
MPI_Comm_split
.