Skip to main content

Qu'est-ce que la programmation distribuée?

La programmation distribuée est une forme de programmation parallèle ou de calcul parallèle.La programmation parallèle implique des ordinateurs et des unités informatiques dans des ordinateurs travaillant simultanément sur un problème particulier, comme la prévision de la météo Tomorrows.Les unités informatiques peuvent être étroitement situées et coordonnées ou peuvent être situées à part.Lorsque les unités informatiques sont séparées, elle est appelée programmation distribuée.Dans un tel scénario, très souvent, les unités informatiques diffèrent les unes des autres, et la configuration du système d'exploitation et du réseau diffère également, ce qui rend la programmation de l'activité informatique particulièrement difficile.

Lors de la résolution d'un problème de manière distribuée, le programme doit êtrese séparer de sorte que les parties du programme puissent fonctionner sur les différentes unités informatiques;Ces pièces sont souvent appelées processus.Les processus s'exécutent simultanément mais doivent communiquer des entrées et des résultats les uns aux autres.Si les processus fonctionnent sur différents matériels, comme une partie exécutée sur Intel et une autre fonctionnant sur le soleil, les programmes doivent être compilés et optimisés différemment.

Une façon de résoudre un problème suffisamment difficile est de briser les pièces d'entrée, et que les différentes unités informatiques fonctionnent sur les différentes parties en utilisant le même algorithme, l'ensemble des règles ou les étapes de résolution de problèmes.Par exemple, pour casser un génome de 10 000 paires, les 1 000 premières paires pourraient être attribuées à la première unité informatique, les 1 000 secondes de la deuxième unité informatique et ainsi de suite, tous utilisant le même algorithme.Avec la programmation distribuée, un avantage est que les différentes unités informatiques pourraient exécuter différents algorithmes pour résoudre le même problème, conduisant ainsi à une solution nettement meilleure.Cela s'apparente à la résolution d'un puzzle avec certaines personnes reconstituant la bordure tandis que d'autres ont rassemblé des pièces d'une couleur particulière.

La coordination des processus informatiques distribuées peut être une tâche particulièrement difficile.Certaines unités informatiques peuvent échouer ou être interrompues pour gérer d'autres travaux.Les messages contenant les entrées ou les résultats du calcul peuvent ne pas atteindre leurs destinations.Si les programmes sont écrits de manière na # 239;Les travaux effectués par les autres processus, ou tous les processus pourraient fonctionner de manière entre pairs, sans processus étant le maître.Certains exemples de problèmes tentés par la programmation distribuée comprennent l'analyse des données géologiques pour des ressources telles que le pétrole, la modélisation des protéines et les molécules biologiques, la fissuration des messages codés et les simulations militaires.Le projet SETI pour rechercher une vie extraterrestre intelligente à partir des messages radio reçus par la Terre est peut-être l'un des exemples les plus connus.