Algorithmes pour systèmes distribués

Ref: 3IF2080

Description

Nombreuses applications traitent et stockent des masses de données pour produire des analyses efficaces et pertinents.
Pour exploiter ces données et utiliser efficacement les systèmes de stockage et d'analyse il faut comprendre comment developper
des façon efficace sur des systèmes distribues.

Dans ce contexte ce cours a comme objectif de décrire comment traiter des données, hétérogènes, volumineuses, et complexes en utilisants des méthodes, algorithmes et surtout des systèmes distribués.

Chaque challenge et défi théorétique sera analysé en relation avec une technologie "big data" et un framework innovant comme Docker, Kubernetes, et Kubeflow.

Période(s) du cours

SM11

Prérequis

aucun

Syllabus

Chapitre 1. Introduction
  • Concepts de distribution
  • Modèles de distribution

Chapitre 2. Distribution des données
  • Algorithmes distribués et parallèles sur les données
  • Architectures à services

Chapitre 3. Les environnements de programmation parallèle
  • Spark
  • Docker
  • Kubernetes
  • Kubeflow

Chapitre 4. Analyse de plusieurs environnements Cloud
  • Analyser les aspects spécifiques de différents environnements Cloud
Chapitre 5. Réalisation du projet d'optimisation des performances en collaboration avec l'entreprise de référence.

Composition du cours

Introduction. Cours magistral : 1,5h
Distribution des données . Cours magistral : 1,5h
Les environnements de programmation parallèle. Cours magistral : 3h
Techniques avancés pour l'analyse distribuée. Cours magistral : 3h
Comparer des environnements Cloud. Cours magistral : 3h

14 créneaux d'1h30 : 8 cours, 1 présentation des projets, 4 suivi projet, 1 discussion du projet.

Résultats de l'apprentissage couverts par le cours

A l’issue de ce cours, l’élève aura enrichi ses connaissances concernant :

1. Distribution des données

2. Algorithmes distribués

3. Optimisation du calcul distribué

4. Outils pour l'analyse distribuée

5. Architecture à services

6. Algorithmes parallèles pour graphes

7. Analyse de modèles de distribution d'Hadoop, Docker et Kubernetes

8. Workflows et leur application

En plus l'élève prendra part au développement d'un projet pour l'optimisation d'une application distribuée en collaboration dans un vrai environnement cloud avec une entreprise de référence.


Support de cours, bibliographie

Managing Kubernetes: Operating Kubernetes Clusters in the Real World - Brendan Burns, Craig Tracey

Docker: up & Running - Sean p. Kane, Karl Matthias