First semester

Networks

Objectives

The aim of this course is to provide students with a basic understanding of distributed architectures, spread over different sites all over the world. The three most common large-scale distributed architectures will be presented: grids, peer-to-peer systems and the cloud. Assumptions, concepts and algorithms will be detailed for each of them. The aim is to gain an understanding of the distributed systems currently available, and to point the way forward for these architectures.

Course outline

1. Introduction to distributed architectures

2. Founding concepts (synchronization, mutual exclusion, etc.)

3. Centralized and semi-centralized approaches (cloud, grids, etc.)

4. Decentralized approaches (P2P systems – structured, unstructured and hybrid)

5. Application to file-sharing systems and epidemic protocols

Prerequisites

Algorithms, Object-oriented programming