Qu'est-ce qu'un algorithme distribué?
Un algorithme distribué est un type spécifique d'algorithme utilisé sur un logiciel informatique qui doit utiliser divers processeurs interconnectés. L'algorithme distribué est responsable de l'exécution de différentes parties de l'algorithme en même temps, chacune sur un processeur différent. Les processeurs doivent alors communiquer entre eux pour que le logiciel fonctionne correctement.
Pour comprendre l'algorithme distribué, il est plus facile d'examiner ce qu'est un algorithme typique. Un algorithme est un processus défini qui décrit, du début à la fin, les étapes à suivre pour mener à bien le processus souhaité ou résoudre un problème. Par exemple, un algorithme pour poster une lettre irait dans le sens de:
1. Obtenez une enveloppe
2. Enveloppe ouverte
3. Insérer une lettre
4. Fermer l'enveloppe
5. joindre un timbre
Cela se poursuivrait jusqu'à la fin du processus. Certaines étapes peuvent déboucher sur d’autres étapes. Celles-ci indiqueraient à la personne quoi faire s'il ne pouvait pas accomplir l'une des étapes principales et le ramènerait finalement à l'algorithme d'origine. L’important est que l’algorithme ait finalement une fin, peu importe le chemin emprunté par la personne pour l’atteindre.
Techniquement, tout processus défini peut être un algorithme, tel que l'exemple ci-dessus pour l'envoi d'une lettre. Un algorithme informatique est un algorithme conçu pour indiquer à l'ordinateur quoi faire. Il a un début et une fin avec plusieurs étapes entre les deux. Il aide l’ordinateur à exécuter une action et lui indique quoi faire en cas de problème. Si un fichier dont l'ordinateur a besoin est manquant, il peut lui indiquer de sauter cette étape ou d'effectuer une autre étape à la place.
La différence entre un algorithme et un algorithme distribué réside simplement dans le fait que l'algorithme distribué est conçu pour fonctionner sur des processeurs séparés alors qu'un algorithme informatique classique ne le serait pas. Chaque processeur exécute une partie différente de l'algorithme global en même temps, puis soumet les résultats.
Plusieurs problèmes surviennent lors de l'utilisation d'algorithmes distribués. L'un des processeurs peut échouer, entraînant l'arrêt de cette partie de l'algorithme. Un problème de communication entre les processeurs pourrait également empêcher l’algorithme distribué d’atteindre la fin du processus. De nombreux programmeurs étudient des algorithmes distribués pour trouver des moyens de surmonter ces problèmes et s'assurer que l'algorithme est terminé, même en cas d'erreur technique.