Composante
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectifs
Questions de programmation et d'algorithmique pour ordinateurs parallèles à grande échelle (centaines à centaines de milliers de cœurs) sont abordés dans ce cours.
Description
Ce module commence par une introduction générale
introduction au calcul et à la programmation haute performance où les concepts généraux utilisés dans la conception des ordinateurs à haute performance
(des ordinateurs multicœurs à mémoire cache aux grands clusters de nœuds) sont décrits, ainsi que les principaux problèmes liés à une programmation haute performance (des techniques d'optimisation du code séquentiel jusqu'à la programmation parallèle à mémoire partagée et le calcul
calcul distribué). Ensuite, des notions sur la modélisation de l'architecture et de l'exécution d'un programme parallèle sont fournies dans le but de prédire avec précision les performances.
Les notions d'accélération, d'iso-efficacité, de scalabilité sont
également introduites à ce moment. Le module se termine par quelques notions brèves de Grid computing et les questions qui s'y rapportent.
Le module se compose de neuf cours magistraux de deux heures chacun et de 2 à 4 heures de laboratoire supervisé.
supervisé pendant lequel les étudiants expérimentent le
distribuée dans un environnement de passage de messages. PVM ("Parallel Virtual Machine) et XPVM (analyse interactive de traces) sont utilisés pour développer et valider une application relativement simple telle que la méthode itérative par blocs de Jacobi pour la résolution de systèmes d'équations linéaires bandés.
À la fin des sessions de laboratoire, les étudiants doivent concevoir et développer un ordonnanceur dynamique à mémoire distribuée pour adapter automatiquement la distribution des tâches parallèles de cette application à la charge des nœuds de l'ordinateur cible.
Pré-requis obligatoires
Architecture des ordinateurs, système d'exploitation et mécanismes de synchronisation, programmation.