Cet atelier s’adresse à des professionnels habitués à MPI souhaitant avoir des perspectives sur les évolutions du standard ainsi que sur les évolutions des implémentations MPI. Une approche originale d'implémentation MPI, le « thread-based », sera présentée en détail, dans le contexte du runtime MPC développé par le CEA, en partenariat avec ParaTools. Des évolutions futures, telles que l’arrivée de cartes réseau dédiées au MPI (telle que le Bull BXI) seront également décrites du point de vue d’une implémentation MPI..
L’évolution rapide des supercalculateurs pose de nombreux défis. Les applications doivent s’adapter aux nouvelles contraintes architecturales telles que le manycore. Cette adaptation peut se faire au travers de l’utilisation enrichie des standards de programmation parallèle. Dans cet atelier, nous nous proposons d’explorer les évolutions du standard MPI, considéré de facto pour l’expression d’un parallélisme distribué.
Nous verrons aussi les évolutions récentes et futures envisagées par le comité de standardisation, afin de mettre en lumière les contraintes grandissantes sur les modèles de programmation, menant à l’hybridation progressive des programmes. Dans ce contexte, le runtime MPC (Multi-Processor Computing, accessible via http://mpc.hpcframework.com) propose une approche originale de MPI et OpenMP. MPC est le seul thread-based MPI, développé en France par le CEA, en partenariat avec ParaTools. En particulier, ce runtime open-source ouvre de nouvelles possibilités aux applications parallèles, plaçant les rangs MPI dans un contexte de mémoire partagée, tout en permettant une transposition des applications MPI existantes (avec un support compilateurs dédié PGI, ICC et GCC).
Au cours de l’après-midi, nous couvrirons deux points relatifs à l’évolution des runtimes MPI :
• Le support des réseaux MPI-aware avec matching intégré. Nous présenterons comment MPC supporte la norme Portals 4 dans son contexte multithread. Ceci a pour but d’assurer pleinement les optimisations du Bull Exascale Interconnect (BXI), première implémentation d’une carte conçue pour MPI (Portals 4).
• Ensuite, nous ferons un tour d’horizon des possibilités offertes par les RDMA en MPI, et en particulier, nous démontrerons comment MPC permet d’optimiser les RDMA pour les architectures manycore, du fait du contexte de mémoire partagée par des processus MPI.
Enfin, cette session se terminera par une prise en main du runtime MPC avec quelques exemples d’utilisation et de transposition de programmes MPI/OpenMP existants. Le but étant de permettre aux participants de tester MPC avec leurs propres applications, et de comprendre les particularités de ce runtime.
Ce workshop s’adresse à un public averti, habitué à MPI et souhaitant approfondir ses connaissances sur les perspectives et évolutions de ce standard, en mettant en pratique ces concepts sur une implémentation MPI thread-based : MPC. |