v2.11.0 (5509)

Cours scientifique - CSE305 : Concurrent and Distributed Computing

Domaine > Informatique.

Descriptif

Today's programs and calculations operate not on one computer at a time, but rather on groups of processors or machines working together in concert.  But ensuring efficiency and cooperation among the threads of a program is a deeply subtle, and fascinating, problem.  This course aims to provide the techniques required to master efficient distributed programming, avoiding the many pitfalls that arise when computations share their resources.
 

Format des notes

Numérique sur 20

Littérale/grade américain

Pour les étudiants du diplôme Bachelor of Science de l'Ecole polytechnique

Le rattrapage est autorisé
    L'UE est acquise si note finale transposée >= D
    • Crédits ECTS acquis : 4 ECTS

    La note obtenue rentre dans le calcul de votre GPA.

    Pour les étudiants du diplôme Echanges PEI

    Le rattrapage est autorisé (Max entre les deux notes écrêté à une note seuil)
      L'UE est acquise si note finale transposée >= D
      • Crédits ECTS acquis : 4 ECTS

      La note obtenue rentre dans le calcul de votre GPA.

      Programme détaillé

      This is a course on concurrency, and distributed systems. We will concentrate first and foremost on:

       

      1. multi-thread programming in C++ : this is a classical model for shared-memory concurrency. Our intention is not to write sophisticated C++ code, only to illustrate points 2 and 3 below. 
      2. parallel and distributed computing algorithms : we will mostly deal with concurrent data structures, how to implement classical basic blocks in programming, concurrently (such as basic operations on stacks, queues, lists)
      3. correctness issues : parallel and distributed programming is harder than it looks, if it is already difficult to get important speedups, it is even more difficult to get correct algorithms and programs in the concurrent world. It is all the more important that these programs are non-deterministic and very difficult to test. 

       

      This is only an introduction to a vast subject. At the end of the course though, you will have the key concepts that will allow you to understand many other concurrency and distributed computing paradigms. 

      If you want to complement this course with some further readings, we recommend you the following :

       

      Support pédagogique multimédia

      Oui

      Veuillez patienter