SMPI Courseware: Teaching Distributed-Memory Computing with MPI in Simulation

Henri Casanova 1 Arnaud Legrand 2 Martin Quinson 3 Frédéric Suter 4
2 POLARIS - Performance analysis and optimization of LARge Infrastructures and Systems
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble
3 MYRIADS - Design and Implementation of Autonomous Distributed Systems
Inria Rennes – Bretagne Atlantique , IRISA_D1 - SYSTÈMES LARGE ÉCHELLE
4 AVALON - Algorithms and Software Architectures for Distributed and HPC Platforms
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Abstract : It is typical in High Performance Computing (HPC) courses to give students access to HPC platforms so that they can benefit from hands-on learning opportunities. Using such platforms, however, comes with logistical and pedagogical challenges. For instance, a logistical challenge is that access to representative platforms must be granted to students, which can be difficult for some institutions or course modalities; and a pedagogical challenge is that hands-on learning opportunities are constrained by the configurations of these platforms. A way to address these challenges is to instead simulate program executions on arbitrary HPC platform configurations. In this work we focus on simulation in the specific context of distributed-memory computing and MPI programming education. While using simulation in this context has been explored in previous works, our approach offers two crucial advantages. First, students write standard MPI programs and can both debug and analyze the performance of their programs in simulation mode. Second, large-scale executions can be simulated in short amounts of time on a single standard laptop computer. This is possible thanks to SMPI, an MPI simulator provided as part of SimGrid. After detailing the challenges involved when using HPC platforms for HPC education and providing background information about SMPI, we present SMPI Courseware. SMPI Courseware is a set of in-simulation assignments that can be incorporated into HPC courses to provide students with hands-on experience for distributed-memory computing and MPI programming learning objectives. We describe some these assignments, highlighting how simulation with SMPI enhances the student learning experience.
Complete list of metadatas
Contributor : Arnaud Legrand <>
Submitted on : Tuesday, October 9, 2018 - 4:30:28 PM
Last modification on : Monday, November 19, 2018 - 1:39:56 PM


Files produced by the author(s)


  • HAL Id : hal-01891513, version 1


Henri Casanova, Arnaud Legrand, Martin Quinson, Frédéric Suter. SMPI Courseware: Teaching Distributed-Memory Computing with MPI in Simulation. EduHPC-18 - Workshop on Education for High-Performance Computing, Nov 2018, Dallas, United States. pp.1-10. ⟨hal-01891513⟩



Record views


Files downloads