Skip to main content

Was ist verteilte Programmierung?

Verteilte Programmierung ist eine Form der parallelen Programmierung oder parallele Computer.Die parallele Programmierung umfasst Computer und Computereinheiten innerhalb von Computern, die gleichzeitig an einem bestimmten Problem arbeiten, z. B. das Vorhersage von Morgenwetter.Die Computereinheiten können sehr eng gelegen und koordiniert werden oder sich befinden.Wenn die Computereinheiten getrennt sind, wird sie als verteilte Programmierung bezeichnet.In einem solchen Szenario unterscheiden sich die Computereinheiten sehr oft voneinander, und das Betriebssystem und das Netzwerkaufbau unterscheidenTeilen Sie auf, damit Teile des Programms auf den verschiedenen Computereinheiten ausgeführt werden können.Diese Teile werden oft als Prozesse bezeichnet.Die Prozesse werden gleichzeitig ausgeführt, müssen jedoch Eingaben und Ergebnisse miteinander vermitteln.Wenn die Prozesse auf verschiedenen Hardware ausgeführt werden, z.und lassen Sie die verschiedenen Computereinheiten mit demselben Algorithmus, den Regeln oder Schritten zur Problemlösung an den verschiedenen Teilen funktionieren.Um beispielsweise ein Genom von 10.000 Paaren zu knacken, könnten die ersten 1.000 Paare der ersten Computereinheit zugeordnet werden, die zweiten 1.000 Paare, die der zweiten Computereinheit zugeordnet sind, und so weiter, alle mit demselben Algorithmus.Bei der verteilten Programmierung besteht ein Vorteil darin, dass die verschiedenen Computereinheiten verschiedene Algorithmen ausführen könnten, um dasselbe Problem zu lösen, was zu einer signifikant besseren Lösung führt.Dies ähnelt der Lösung eines Puzzles mit einigen Menschen, die den Rand zusammensetzen, während andere Teile einer bestimmten Farbe zusammenstellen.

Koordination der verteilten Computerprozesse kann eine besonders schwierige Aufgabe sein.Einige Computereinheiten können ausfallen oder unterbrochen werden, um andere Arbeiten zu erledigen.Nachrichten, die die Eingaben oder die Ergebnisse der Berechnung enthalten, können ihre Ziele nicht erreichen.Wenn die Programme in einer Weise geschrieben sind, kann der Verlust einer Computereinheit oder einige Nachrichten dazu führen, dass der gesamte Satz von Computern hängt.Arbeiten durch die anderen Prozesse oder alle Prozesse könnten peer-to-peer-Weise funktionieren, ohne dass der Meister der Meister ist.Einige Beispiele für Probleme, die mit verteilter Programmierung versucht wurden, sind die Analyse geologischer Daten für Ressourcen wie Erdöl, die Modellierung von Proteinen und biologische Moleküle, das Knacken codierter Nachrichten und militärische Simulationen.Das SETI-Projekt zur Suche nach intelligentem außerirdischem Leben von den von der Erde empfangenen Funknachrichten ist vielleicht eines der bekanntesten Beispiele.