Algotithme
Master 1 Informatique – année 2005/2006 – Université de Bordeaux 1
Objectifs
Ce cours d'algorithmes distribués consiste à : • Introduire le calcul distribué • concevoir et analyser des algorithmes distribués • programmer des algorithmes (c.f. TP) en utilisant un simulateur (VISIDIA)
Introduction
Qu'est ce que le calcul distribué?
Une machine ou architecture séquentielle permet le traitement d'une seule opération à la fois. L'extrait de programme cidessous est donc une suite d'instruction qui vont s'effectuer de manière séquentielle : 10 x := x + 1 20 y := 2*x – 4 30 Print y Les machines parallèles permettent le traitement de plusieurs opérations en parallèle. Par exemple, les architectures 32 bits sont déjà des architectures parallèles dans la mesure ou elles traitent 32 bits simultanément. Lorsque le nombre de bits devient très important, on parle aussi de machines vectorielles. Un système distribué est une machine parallèle à la différence qu'il y a plusieurs entités de calculs autonomes distantes. La différence principale avec la programmation d'architectures parallèles repose donc sur le fait que la distance entre les entités de calcul est plus importantes (échelle planétaire) et nécessite donc forcément l'utilisation d'un réseau de communication (type Internet).
Pourquoi utiliser des systèmes distribués?
Les objectifs rejoignent principalement ceux étudiés en programmation des architectures parallèles : Augmenter la capacité de calcul (à moindre coup) en ajoutant graduellement des entités ou regrouper des ensembles d'entités déjà existant. Par exemple GRID5000 en France est un regroupement de 5000 calculateurs répartis sur tout le territoire. Communiquer entre entités distantes (Telecommunication, Réseau LAN, Satellite, Wifi, ...) et mettre en rapport des banques de données réparties (Internet, Peer – To – Peer).
Un cadre de base pour les systèmes distribués
Les entités seront les processeurs, des ordinateurs, des PDA,