- Admission : /fr/formation/bachelor/informatique-et-systemes-de-communication/admission/
- Programme de formation : /fr/formation/bachelor/informatique-et-systemes-de-communication/programme-de-formation/
- Structure des études : /fr/formation/bachelor/informatique-et-systemes-de-communication/structure-des-etudes/
- Perspectives : /fr/formation/bachelor/informatique-et-systemes-de-communication/perspectives/
- Mobilité : /fr/formation/bachelor/informatique-et-systemes-de-communication/mobilite/
- Personnes : /fr/formation/bachelor/informatique-et-systemes-de-communication/personnes/
- Admission : /fr/formation/bachelor/informatique-et-systemes-de-communication/admission/
- Programme de formation : /fr/formation/bachelor/informatique-et-systemes-de-communication/programme-de-formation/
- Structure des études : /fr/formation/bachelor/informatique-et-systemes-de-communication/structure-des-etudes/
- Perspectives : /fr/formation/bachelor/informatique-et-systemes-de-communication/perspectives/
- Mobilité : /fr/formation/bachelor/informatique-et-systemes-de-communication/mobilite/
- Personnes : /fr/formation/bachelor/informatique-et-systemes-de-communication/personnes/
Programme de formation
Descriptif de cours
Retour-
Objectifs
Buts du cours
- Expliquer les tenants et aboutissant d'une informatique non pas basée sur une machine personnelle, mais sur plusieurs machines (infrastructures), disposant de capacités supérieures, ou optimisées pour une certaine utilisation.
- Confronter les étudiants aux concepts de performance d'exécution, de charge de calcul et de distribution des calculs et des traitements de données. Sensibiliser les étudiants aux problématiques de mise à l'échelle.
- Introduire les aspects d'efficacité énergétique des traitements informatiques.
- Sur le plan pratique, confronter les étudiants à la configuration, l'utilisation, l'administration et la mesure d'une infrastructure ' bare-metal ' sur site, mais néanmoins uniquement accessible via la ligne de commande.
A la fin du cours, l'étudiant(e) est capable de :
- Analyser la limite de performance d'exécution séquentielle informatique, en la décomposant en différent facteurs et ordre de grandeurs pour chaque facteur
- Distinguer les architectures parallèles des systèmes séquentiels.
- Rappeler que des mécanismes de communication sont absolument nécessaires pour pouvoir distribuer des calculs.
- Différencier et comparer les deux méthodes de communication à disposition pour réaliser une distribution des calculs (mémoire partagée et messages).
- Expliquer que pour réaliser une distribution des calculs, des mécanismes de communication sont nécessaires, et citer les deux méthodes à disposition.
- Distinguer les problèmes de charge des problèmes de performance
- Analyser une problématique de mise à l'échelle, et expliquer le concept de charge.
- Mesurer les capacités d'une infrastructure, interpréter les résultats des mesures, et enfin analyser les forces et les faiblesses d'une infrastructure.
- Appliquer les règles de ' scaling ' pour prédire les performances d'une infrastructure étendue.
- Mesurer la consommation énergétique d'une infrastructure de calculs, et interpréter ces mesures dans différentes conditions de charge et d'interconnections.
- Installer un système d'exploitation à distance sans accès physique à la machine, via IPMI
- Se connecter à une ou plusieurs machines par canal sécurisé en ligne de commande, et d'administrer ces machines par ce biais uniquement.
- Configurer, compiler et installer un programme linux.
- Rédiger et exécuter des programmes simples mettant en oeuvre plusieurs machines.
-
Contenu
Les points suivants sont abordés :
- Raisons d'être des infrastructures, des infrastructures distribuées.
- Nombre d'opérations réalisées par instruction, par cycle, par seconde (FLOPS, Hz).
- Parallélisme sur même puce, sur même machine, sur différentes machines.
- Impact de la performance du réseau sur les performances de calcul.
- Impact sur les performances et sur la consommation électrique de la distribution des calculs sur un nombre croissant de processeurs. Rappel de notions de physiques (W, J, kWh).
- Concepts de scale-up et de scale-out, de strong scaling et de weak scaling, de scaling horizontal et vertical.
- Connection ssh avec clés publiques/privées.
- Compilation et installation manuelle dans un environnement linux (make, configure)
- Programmation MPI
- Mesure de performance d'exécutions en fonction du nombre de processeurs et des débits d'interconnexion entre machines.
- Installation du benchmark High Performance Linpack
Sur le plan pratique, les étudiants gèrent des machines distantes fraichement installées par l'intermédiaire d'interface en ligne de commande uniquement. Les étudiants sont ainsi confrontés à des systèmes ' rudimentaires ' sur lesquels tout doit être configuré et installé, en particulier des logiciels et middleware nécessaire à la distribution de calculs. Une fois ces middlewares installés, les étudiants exécutent des traitements et programmes distribués sur ces infrastructures. Enfin, ils réalisent des tests de performance, et confrontent ces mesures à des modèles théoriques.
Forme d'enseignement et volume de travail
Spécification du cours
Modalités d'évaluation
- Contrôle continu: travaux écrits, TP/évaluation de rapports, Si les conditions le permettent, un test oral est orgnanisé.
Mode de calcul de la note de cours
La note du contrôle continu est la moyenne pondérée des évaluations du semestre. En cas d'examen de révision, la note finale du cours est la moyenne arithmétique de la note du contrôle continu et de celle de l'examen de révision.
Enseignant(s) et/ou coordinateur(s)
Sylvain Julmy, Sébastien Rumley