Algorithmique répartie et parallèlisme [T7IS523M]

Algorithmique répartie et parallèlisme [T7IS523M]

En pratique

Nature
Elément constitutif
Volume horaire de TP
18
Volume horaire de TD
6
Volume horaire de CM
12
Langue d'enseignement
Français

Description du contenu de l'enseignement

Ce module aborde la conception de logiciels dans des systèmes répartis, c'est-à-dire des systèmes composés de plusieurs machines situées sur des sites différents et communicant par échanges de messages via un réseau. Concrètement, il traite de la manière de modéliser ces logiciels et de les programmer via différentes stratégies. Les concepts sont mis en pratique (en Java) lors de séances de travaux dirigés et de travaux pratiques.


This module addresses software design in distributed systems, i.e. systems composed of several machines located at different sites and communicating by exchanging messages via a network. Concretely, it deals with how to model these software and program them using different strategies. The concepts are put into practice (in Java) during tutorials and practical work sessions.

Organisation

Modalités d'organisation et de suivi

  1. Définitions et exemples
  2. Décrire, formaliser, implémenter
  3. Calculer
  4. Contrôler

  1. Definitions and Examples
  2. Describe, formalize, implement
  3. Compute
  4. Control

Informations pédagogiques

Compétences à acquérir

  • Définir la notion de calcul réparti
  • Illustrer et analyser le déroulement d'un algorithme réparti
  • Spécifier un algorithme en pseudo-langage
  • Identifier des problèmes-types
  • Appliquer des algorithmes répartis standards
  • Transposer une modélisation en un logiciel
  • Connaître la notion de preuve formelle et d'algèbre de processus

  • Define the concept of distributed computing
  • Illustrate and analyze the flow of a distributed algorithm
  • Specify a algorithm using pseudo-language
  • Identify typical problems
  • Apply standard distributed algorithms
  • Translating a model into software
  • Know the notion of formal proof and process algebra

Pré-requis recommandés

  • T5CC013M Programmation séquentielle (Base de l'algorithmique
  • T6CS013M Systèmes d'exploitation (Systèmes d'exploitation 2
  • T7CS013M Fondements des systèmes d'exploitation
  • T7IS533M Théorie des graphes
  • T5CS013M Fondamentaux en réseaux
  • T6IS413M Java
  • T6IS313M Structure de données

  • T5CC013M Sequential Programming (Basis of the algorithm
  • T6CS013M Operating Systems (Operating Systems 2
  • T7CS013M Operating System Fundamentals
  • T7IS533M Graph Theory
  • T5CS013M Network Fundamentals
  • T6IS413M Java
  • T6IS313M Data Structure

Bibliographie, lectures recommandées

  • Algorithmes distribués & Protocoles, M. Raynal, Eyrolles.
  • Une introduction à l'algorithmique distribuée des systèmesasynchrones, M. Raynal
  • Synchronisation et contrôle des systèmes et des programmesrépartis, M. Raynal et J.-M. Hélary, Eyrolles.
  • La programmation parallèle, J.-P. Banâtre, Eyrolles.
  • Producteurs / consommateur : quelques solutions réparties,N. Plouzeau, M. Raynal et J.-P. Verjus
  • Communicating Sequential Processes, C. A. R. Hoare
  • Algorithmique du contrôle réparti, I. Charon
Dernière modification : mer, 06/01/2021 - 17:30