• Niveau d'étude

    BAC +5

  • ECTS

    3 crédits

  • Composante

    Sciences économiques, gestion, mathématiques et informatique

  • Volume horaire

    36h

  • Période de l'année

    Enseignement dixième semestre

Description

Ce module a pour but de présenter différentes architectures distribuées en continuation des notions vues dans les années précédentes et les complémenter. Ainsi le module de Programmation Concurrente introduit des moyens de paralléliser des traitements sur une même machine en dupliquant des flots de traitement sur des données partagées. Avec ce module, nous étudions les moyens de partager et/ou répartir efficacement des données sur plusieurs machines pour paralléliser des traitements impossibles à effectuer sur une seule machine.

Lire plus

Objectifs

Les objectifs sont donc d’étudier différents modèles de programmations distribuées comme les modèles d'architecture à base de code événementiels (tel que “Function-As-A-Service” dans le clouds), d'architecture à modèle d'échange de message et ou de données (tel que MPI ou l’actor model de Akka pour java et scala), d’architecture à base d'événements et de publication/distribution (tel que Kafka), d'architecture à base de boucle Map/Reduce (tel que hadoop), d'architecture Batch (tel que Sparks), ou d’architecture à mémoire partagée.

Il s’agit donc d’étudier la conception et la vérification d'applications distribuées et concurrentes (sur plusieurs machines ayant plusieurs processeurs). On cherche à optimiser les distributions, les traitements et les collectes des données. Ainsi que les problèmes qui peuvent survenir pour la concurrence de traitement lorsque les données sont fortement liées.

Enfin il y aura discussion des performances des différents modèles et des exemples de cas applicatifs saillants.

Lire plus

Évaluation

Modalités : Mixte : CC + CT
SESSION 1 :
Contrôle Continu
• Type : Écrit, QCM, Oral, Dossier
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.

Contrôle Terminal
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.

Régime Dérogatoire
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.

SESSION 2 :
• Type : Écrit
• Durée : 2h00
• Précisions : Une durée indicative de 2h00, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables.

Utilisation de l'intelligence artificielle :
L’utilisation de l’Intelligence Artificielle est interdite lors des évaluations.

Lire plus

Heures d'enseignement

  • CMCM18h
  • TDTD18h

Pré-requis obligatoires

Programmation Concurrente (S5)
Architectures Logicielles (S8)
IVCCC (S8)

Lire plus

Compétences visées

  • Étude des différents modèles (Mapreduce, Batch, MPI, composants logiciels, …) .
  • Comprendre la notion de distribution des données, les contraintes des différents modèles de traitements, et l’impact sur les traitements distribués .
  • Pouvoir décider d’un modèle adapté en fonction du traitement et des données.
Lire plus