Algorithme réparti

Un article de Wikipédia, l'encyclopédie libre.

Un algorithme réparti est un algorithme qui fait intervenir plusieurs sites. Chaque site calcule (i.e. produit de nouveaux résultats) et communique (ie. échange des données avec d'autres sites). Un algorithme réparti décrit le fonctionnement d'un système informatique composé de plusieurs unités de calcul reliées par un réseau de communication, tels que par exemple les routeurs dans Internet.

L'algorithme d'un site isolé est appelé algorithme local. Il correspond à un algorithme séquentiel classique exprimé à la manière de la programmation événementielle : le site réagit à des actions externes (eg. début de l'algorithme), des conditions internes (eg. le site a atteint un état particulier) ou à l'arrivée d'un message. L'ensemble des algorithmes locaux constitue un algorithme réparti, aussi appelé protocole. Lorsque tous les algorithmes locaux sont identiques, l'algorithme est dit uniforme.

Le but d'un algorithme réparti est de masquer la répartition des sites à l'utilisateur. Cette répartition entraîne des difficultés dans la façon de rassembler ou au contraire de diffuser une information, dans la façon de gérer les exécutions indépendantes de chaque site, dans la façon de pallier les défaillances, qu'elles soient dues à des pannes du système ou à des actes volontaires. Par exemple, dans le cas d'un partage de fichiers sur un réseau, l'algorithme réparti aura à gérer la recherche d'un fichier particulier, la diffusion d'une modification sur un fichier, l'accès concurrent au même fichier depuis deux sites distincts, l'accès non autorisé à un fichier, ou la panne d'un serveur. Si l'algorithme réparti remplit correctement sa fonction, alors l'utilisateur travaillera sur ses fichiers sans même se rendre compte qu'ils sont en réalité sur une ou plusieurs machines distantes.