Descriptif
Objectifs pédagogiques
Acquis d'apprentissageÀ l'issue de l'UE, l'élève sera capable de:
- Définir et expliquer les principes fondamentaux du calcul parallèle et réparti, notamment le concept de MapReduce.
- Concevoir et planifier l'architecture d'un logiciel distribué de calcul en utilisant le modèle MapReduce.
- Développer et implémenter un logiciel distribué de calcul capable de traiter de grands jeux de données, comme ceux issus de CommonCrawl, en utilisant les ordinateurs de l'école, en utilisant des outils et bibliothèques pour le traitement parallèle et réparti, et optimiser leur performance.
- Analyser les résultats du traitement des données pour évaluer l'efficacité et la performance du logiciel développé.
- Critiquer et améliorer l'implémentation du logiciel distribué en tenant compte des contraintes de scalabilité et de fiabilité.
Compétences de rattachement (et justification)
- BC5.2 – Concevoir un système de traitement de données, d’intelligence artificielle, d’apprentissage machine dans un objectif d’aide à la décision ou de recherche automatique d’information; Justification : L'UE contribue directement à la compétence BC5.2 en fournissant aux étudiants les outils et méthodes nécessaires pour concevoir et développer des systèmes de traitement de données distribués, capables de traiter efficacement des volumes massifs de données, souvent rencontrés dans des applications de data science, d'intelligence artificielle et de machine learning. À travers la mise en œuvre du modèle MapReduce et l'utilisation de ressources informatiques réparties, les étudiants apprennent à structurer et optimiser des pipelines de traitement de données complexes, essentiels pour l'extraction d'informations pertinentes et la prise de décision automatisée.
Le projet central de l'UE, où les élèves développent un logiciel distribué pour traiter un grand jeu de données issu de CommonCrawl, les prépare à appliquer ces compétences dans des contextes réels. En travaillant sur ce projet, ils acquièrent une compréhension approfondie des techniques de partitionnement des données, de parallélisation des tâches et de gestion de la performance et de la scalabilité. Ces compétences sont cruciales pour concevoir et mettre en œuvre des systèmes de traitement de données robustes et efficaces, capables de supporter les charges de travail des applications d'intelligence artificielle et de machine learning, et d'offrir des solutions d'aide à la décision et de recherche automatique d'information.
En somme, cette UE dote les étudiants des fondements théoriques et pratiques nécessaires pour concevoir des infrastructures de calcul réparti et parallèle, constituant ainsi une contribution à la compétence BC5.2.
- BC1.5 – Réaliser un système complexe en mettant en œuvre les solutions technologiques nécessaires, en s’appuyant sur les ressources humaines, techniques, matérielles disponibles en faisant preuve de rigueur, d’esprit critique et d’adaptabilité; Justification : Cette UE engage les étudiants dans un projet de grande envergure où ils doivent concevoir, développer et déployer un logiciel distribué de calcul traitant de vastes ensembles de données, en utilisant les infrastructures de calcul de l'école et le modèle MapReduce.
Tout au long de ce projet, les élèves sont confrontés à des défis réels liés à la gestion et à l'optimisation de ressources techniques et matérielles, comme les ordinateurs de l'école, nécessaires pour accomplir les tâches de calcul réparti et parallèle. Ils doivent planifier et coordonner efficacement l'utilisation de ces ressources pour garantir le bon fonctionnement et la performance du système qu'ils développent.
En mettant en œuvre des solutions technologiques sophistiquées, comme l'optimisation des processus MapReduce et la résolution des problèmes de scalabilité et de fiabilité, les étudiants développent leur esprit critique et leur capacité à adapter les solutions aux contraintes spécifiques du projet. Ils apprennent à faire preuve de rigueur dans la conception et dans l'évaluation des performances du système, ainsi qu'à adopter une approche flexible et adaptable face aux défis imprévus, car il y a souvent des pannes ou des erreurs inexpliquées ou difficilement explicables.
- BC8.2 – Modéliser et déterminer l'architecture logicielle et matérielle en intégrant des technologies, des composants matériels et logiciels avec différentes configurations; Justification : L'UE est importante pour développer la compétence BC8.2. En concevant et développant un logiciel distribué utilisant le modèle MapReduce, les étudiants apprennent à modéliser et déterminer des architectures logicielles et matérielles adaptées aux traitements de grands volumes de données. Le projet leur permet d'intégrer diverses technologies et composants matériels et logiciels, optimisant leur configuration pour assurer performance et scalabilité. Ce travail pratique les prépare à concevoir des systèmes complexes et à choisir les meilleures configurations en fonction des exigences spécifiques du projet.
Diplôme(s) concerné(s)
Parcours de rattachement
Pour les étudiants du diplôme Diplôme d'ingénieur
SLR201. Etre capable de développer des applications réparties en Java
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Echange international non diplomant
Vos modalités d'acquisition :
le rendu du projet avec documentation et un rapport de regard critique sur les problèmes rencontrés et les solutions trouvées et les méthodes et approches pour solutionner le problème.
Une démonstration en live du système avec oral
Un rapport sur les performances du système et une analyse par rapport aux performance théoriques qui pourraient être atteintes.
- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme Diplôme d'ingénieur
Vos modalités d'acquisition :
le rendu du projet avec documentation et un rapport de regard critique sur les problèmes rencontrés et les solutions trouvées et les méthodes et approches pour solutionner le problème.
Une démonstration en live du système avec oral
Un rapport sur les performances du système et une analyse par rapport aux performance théoriques qui pourraient être atteintes.
- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'UE électives acquis : 2.5
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme M1 PDS - Parallel and Distributed Systems
Vos modalités d'acquisition :
le rendu du projet avec documentation et un rapport de regard critique sur les problèmes rencontrés et les solutions trouvées et les méthodes et approches pour solutionner le problème.
Une démonstration en live du système avec oral
Un rapport sur les performances du système et une analyse par rapport aux performance théoriques qui pourraient être atteintes.
- Crédits ECTS acquis : 2.5 ECTS
Programme détaillé
Contenu
* Connaître les notions de large échelle, de parallélisation, de virtualisation, d'élasticité, de réseau de recouvrement, d'autonomic computing et leurs applications pour le cloud computing.
* Manipuler les services cloud sur un fournisseur particulier (par exemple Amazon).
* Comprendre les concepts de MapReduce
* Implémenter MapReduce en simulation locale et sur le cloud Amazon