Was ist verteilte Programmierung?

verteilte Programmierung ist eine Form der parallelen Programmierung oder des parallelen Computers. Die parallele Programmierung umfasst Computer und Computereinheiten innerhalb von Computern, die gleichzeitig an einem bestimmten Problem arbeiten, wie z. B. die Vorhersage des morgigen Wetters. 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 unterscheiden sich ebenfalls, was die Programmierung der Computeraktivität besonders herausfordernd macht. 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. B. ein Teil, der auf Intel und Anot ausgeführt wirdIhr Laufen auf Sonne und dann müssen die Programme unterschiedlich zusammengestellt und optimiert werden.

Eine Möglichkeit, ein ausreichend schwieriges Problem zu lösen, besteht darin, die Eingabeteile zu zerstören und die verschiedenen Computereinheiten mit demselben Algorithmus, der Reihe von Regeln oder Schritten zur Problemlösung auf den verschiedenen Teilen funktionieren zu lassen. 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 Leuten, die den Grenze zusammensetzen, während andere Teile einer bestimmten Farbe zusammenstellen.

Koordination des verteilten ComputersProzesse können eine besonders schwierige Aufgabe sein. Einige Computereinheiten können ausfallen oder unterbrochen werden, um andere Arbeiten zu erledigen. Nachrichten, die die Eingänge oder die Ergebnisse der Berechnung enthalten, können ihre Ziele nicht erreichen. Wenn die Programme naiv geschrieben sind, kann der Verlust einer Computereinheit oder einige Nachrichten dazu führen, dass der gesamte Satz von Computern hängt.

In der verteilten Programmierung kann ein Prozess der Kontrollprozess sein, der im Wesentlichen die Arbeit durch die anderen Prozesse erledigt oder alle Prozesse in Peer-to-Peer-Weise funktionieren könnten, ohne dass der Prozess der "Master" 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.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?