The week's events
-
Autotuning MPI Collectives using Performance Guidelines, Sascha Hunold
Autotuning MPI Collectives using Performance Guidelines, Sascha Hunold
–
December 18, 2017MPI collective operations provide a standardized interface for performing data movements within a group of processes. The efficiency
of collective communication operations depends on the actual algorithm, its implementation, and the specific communication problem
(type of communication, message size, and number of processes).
Many MPI libraries provide numerous algorithms for specific collective operations. The strategy for selecting an efficient algorithm
is often times predefined (hard-coded) in MPI libraries, but some of
them, such as Open MPI, allow users to change the algorithm manually. Finding the best algorithm for each case is a hard problem, and
several approaches to tune these algorithmic parameters have been
proposed. We use an orthogonal approach to the parameter-tuning
of MPI collectives, that is, instead of testing individual algorithmic
choices provided by an MPI library, we compare the latency of
a specific MPI collective operation to the latency of semantically
equivalent functions, which we call the mock-up implementations.
The structure of the mock-up implementations is defined by selfconsistent performance guidelines. The advantage of this approach
is that tuning using mock-up implementations is always possible,
whether or not an MPI library allows users to select a specific algorithm at run-time. We implement this concept in a library called
PGMPITuneLib, which is layered between the user code and the
actual MPI implementation. This library selects the best-performing
algorithmic pattern of an MPI collective by intercepting MPI calls
and redirecting them to our mock-up implementations. Experimental results show that PGMPITuneLib can significantly reduce the
latency of MPI collectives, and also equally important, that it can
help identifying the tuning potential of MPI libraries. -
TAPIOCA : Une bibliothèque d'agrégation de données pour les I/O parallèles prenant en compte la topologie, François Tessier, Argonne
TAPIOCA : Une bibliothèque d'agrégation de données pour les I/O parallèles prenant en compte la topologie, François Tessier, Argonne
–
December 21, 2017TAPIOCA : Une bibliothèque d'agrégation de données pour les I/O
parallèles prenant en compte la topologieL'augmentation de la puissance de calcul des supercalculateurs engendre
un coût considérable des mouvements de données. En outre, la majorité
des simulations scientifiques ont des besoins importants en terme de
lecture et d'écriture sur les systèmes de fichiers parallèles. De
nombreuses solutions logicielles ont été développées pour contenir le
goulot d'étranglement causé par les I/O. Une stratégie bien connue dans
le monde des opérations collectives d'I/O consiste à sélectionner un
sous-ensemble des processus de l'application pour agréger des morceaux
de données contiguës avant d'effectuer les lectures et écritures. Dans
cet exposé, je présenterai TAPIOCA, une bibliothèque MPI implémentant un
algorithme d’agrégation de données optimisé prenant en compte la
topologie. Je montrerai les gains de performance substantiels en lecture
et écriture que nous avons obtenus sur deux supercalculateurs présents à
Argonne National Laboratory. Pour terminer, j'aborderai nos travaux
actuels dans TAPIOCA afin de tirer parti des nouveaux niveaux de mémoire
et de stockage disponibles sur les systèmes actuels et à venir (MCDRAM,
SSD locaux, ...).Bâtiment IMAGSaint-Martin-d'Hères, 38400France