Systèmes distribués

Systèmes distribués

Calcul distribué

Le calcul distribué ou réparti, consiste à répartir un calcul ou un système sur plusieurs ordinateurs distincts. Le calcul distribué est une forme de calcul parallèle, par contre il diffère des grappes de serveurs (computing clusters), en ce que les ordinateurs qui réalisent le calcul ne sont pas typiquement dédiés au calcul distribué et ne possèdent pas toujours les mêmes matériels et systèmes de fichiers, alors que les grappes (clusters) comprennent la plupart du temps du matériel spécifique et dédié à une tâche précise.

Sommaire

Système distribué

Modèle d'un système distribué

Un système informatique distribué est une collection de postes ou calculateurs autonomes qui sont connectés à l'aide d'un réseau de communication. Chaque poste exécute des composantes, par exemple des séquences de calculs, issues du découpage d'un projet de calcul global, et utilise un intergiciel, qui s'occupe d'activer les composantes et de coordonner leurs activités de telle sorte qu'un utilisateur perçoive le système comme un unique système intégré.[1]

Une propriété importante des systèmes distribués est que la distribution est généralement cachée pour l’utilisateur et les programmeurs de l’application. Il préfère voir l'ensemble comme un seul et unique système et ainsi cacher la complexité de la distribution le plus possible et augmenter la transparence du système distribué. Cela permet de développer le plus possible les applications de la même façon que les systèmes centralisés.

Un système distribué est généralement séparable en plusieurs composantes entièrement autonomes. Il n’existe pas de composante maître qui gère les autres et chacune est donc responsable de son propre fonctionnement. Cela permet, entre autres, d’avoir une hétérogénéité dans la technologie utilisée pour chaque composante, ils peuvent être écrits dans différents langages de programmation (Java, Cobol, C++, etc.) et s'exécuter sur différents systèmes d'exploitation (Mac OS X, Linux, Windows, etc.). L’autonomie des composantes fait que les systèmes sont exécutés simultanément (programmation concurrente). De plus, contrairement au système centralisé, les systèmes distribués possèdent plusieurs points de défaillances (problème de composantes, réseau, trafics, etc.).

Exigences des systèmes distribués

Le besoin d'utiliser un système distribué est souvent dérivé d'exigences non fonctionnelles soit :

  • Extensibilité ("scalability") - les systèmes distribués permettent facilement une expansion si nécessaire.
  • Ouverture - les composantes des systèmes distribués possèdent des interfaces bien définies ce qui leur permet d'être facilement extensibles et modifiables. Les services web sont un exemple de système distribué qui possède une grande ouverture.
  • Hétérogénéité – les composantes peuvent être écrites en différents langages sur différentes machines. Par exemple, les éléments d’un serveur peuvent être programmés en C++ et s'exécuter sous Unix, alors que le client peut être en Java et s'exécuter sous Windows.
  • Accès aux ressources et partage - les systèmes distribués fournissent un moyen de partager les ressources, c'est-à-dire à la fois le matériel, le logiciel et les données.
  • Tolérance aux pannes - Les systèmes distribués peuvent être plus tolérant aux pannes que les systèmes centralisés, car ils permettent de répliquer facilement les composantes.

Projets

Totalisation de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008. Source : TOP500.
Puissance de calcul des 500 meilleurs supercalculateurs mondiaux en novembre 2008 par pays ainsi que la puissance du calcul partagé.

Le projet « pionnier », dans l'emploi du calcul distribué est le SETI@Home, développé par l'Université de Berkeley, en Californie (États-Unis). Ce projet, développé en collaboration avec le programme SETI (Search for Extraterrestrial Intelligence), vise la détection d'une possible trace d'activité extraterrestre dans l'espace.

Cependant, le besoin croissant de puissance de calcul informatique dans la recherche médicale et autres domaines est surtout ce qui a suscité l'emploi de plus en plus important de cette technologie. Le coût des supercalculateurs étant trop élevé, il est ainsi envisagé d'utiliser la puissance de calcul « disponible » d'ordinateurs au repos (ou sous-utilisés). Le procédé consiste souvent en l'installation d'un logiciel qui télécharge des données brutes à partir d'un serveur, les retravaille (les « traite ») de façon transparente pour l'utilisateur (en n'utilisant que la puissance de calcul non utilisée par les autres applications), puis renvoie les résultats aux serveurs.

Certains systèmes de calcul distribué sont ouverts au public via internet (cf. Quelques projets de calcul partagé) et attirent facilement les utilisateurs. On peut voir l'évolution du projet depuis ses débuts, le classement des utilisateurs, le temps de calcul réalisé par les possesseurs d'une architecture donnée, ou par tel ou tel système d'exploitation (Linux, Windows, Macintosh...). Plusieurs de ces projets utilisent la plate-forme libre BOINC (Berkeley Open Infrastructure for Network Computing), une évolution du SETI@Home original.

Le calcul distribué est aussi un thème actif de recherche, avec une abondante littérature. Les plus connues des conférences sur le calcul distribué sont « The International Conference on Dependable Systems and Networks [2] » et « ACM Symposium on Principles of Distributed Computing [3] ». Il existe également la revue « Journal of Parallel and Distributed Computing [4] » .

Une part importante du génome humain a ainsi pu être décryptée par les internautes du programme « Decrypthon » de l'AFM [5] en collaboration avec le CNRS et IBM[6]. Des projets sont également en cours, centralisés par le World Community Grid visant à l'analyse des protéines et à l'élaboration de solutions contre le sida.

La grande majorité des projets de ce type sont fait par des universités et/ou des professeurs très sérieux diffusants leurs résultats, le Décrypthon a par exemple contribué au décodage du génome humain qui est maintenant disponible sur internet sans brevet déposé [7].

Notes et références de l'article

Voir aussi

Quelques projets de calcul partagé

Ressources externes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Calcul distribu%C3%A9 ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Systèmes distribués de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Regardez d'autres dictionnaires:

  • Systèmes Distribués — Calcul distribué Le calcul distribué ou réparti, consiste à répartir un calcul ou un système sur plusieurs ordinateurs distincts. Le calcul distribué est une forme de calcul parallèle, par contre il diffère des grappes de serveurs (computing… …   Wikipédia en Français

  • Systèmes multi-agents — Système multi agents Un système multi agent (SMA) est un système composé d un ensemble d agents, situés dans un certain environnement et interagissant selon certaines relations. Un agent est une entité caractérisée par le fait qu elle est, au… …   Wikipédia en Français

  • Systèmes informatiques — Informatique L´informatique contraction d´information et automatique est le domaine d activité scientifique, technique et industriel en rapport avec le traitement automatique de l information par des machines telles que les ordinateurs, les… …   Wikipédia en Français

  • Systèmes de fichiers — Système de fichiers Pour les articles homonymes, voir FS et SGF. Un système de fichiers (file system ou filesystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les… …   Wikipédia en Français

  • Systèmes de communication — Communication Pour les articles homonymes, voir Communication (homonymie). La communication (souvent abrégée en com) est l action, le fait de communiquer, d établir une relation avec autrui, de transmettre quelque chose à quelqu un, l ensemble… …   Wikipédia en Français

  • Preuves, Programmes et Systèmes — Informations Type Unité mixte de recherche Localisation Ville Paris Pays France Direction …   Wikipédia en Français

  • Laboratoire D'informatique, De Traitement De L'information Et Des Systèmes — Pour les articles homonymes, voir LIH. Le Laboratoire d informatique, de traitement de l information et des systèmes (LITIS) est un laboratoire de recherche en informatique, résultat de la fusion de quatre laboratoires de Haute Normandie :… …   Wikipédia en Français

  • Laboratoire d'Informatique, de Traitement de l'Information et des Systèmes — Pour les articles homonymes, voir LIH. Le Laboratoire d informatique, de traitement de l information et des systèmes (LITIS) est un laboratoire de recherche en informatique, résultat de la fusion de quatre laboratoires de Haute Normandie :… …   Wikipédia en Français

  • Laboratoire d'informatique, de traitement de l'information et des systemes — Laboratoire d informatique, de traitement de l information et des systèmes Pour les articles homonymes, voir LIH. Le Laboratoire d informatique, de traitement de l information et des systèmes (LITIS) est un laboratoire de recherche en… …   Wikipédia en Français

  • Association des utilisateurs des systemes informatises Dynix et Horizon en France — Association des utilisateurs des systèmes informatisés Dynix et Horizon en France L AUSIDEF (Association des utilisateurs des systèmes informatisés Dynix et Horizon en France) regroupe les utilisateurs des progiciels de bibliothèque distribués… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”