Skip to main content

Co to jest programowanie rozproszone?

Programowanie rozproszone jest jedną formą równoległego programowania lub obliczeń równoległych.Programowanie równoległe obejmuje komputery i jednostki obliczeniowe w komputerach pracujących jednocześnie nad konkretnym problemem, na przykład przewidywanie pogody Tomorrows.Jednostki obliczeniowe mogą być bardzo ściśle zlokalizowane i skoordynowane lub mogą być zlokalizowane od siebie.Gdy jednostki obliczeniowe są osobno, nazywa się to programowaniem rozproszonym.W takim scenariuszu bardzo często jednostki obliczeniowe różnią się od siebie, a system operacyjny i konfiguracja sieci różni się również, dzięki czemu programowanie działalności obliczeniowej jest szczególnie trudnepodzielić, aby części programu mogły działać na różnych jednostkach obliczeniowych;Części te są często nazywane procesami.Procesy działają jednocześnie, ale muszą komunikować wejścia i wyniki.Jeśli procesy działają na innym sprzęcie, takim jak jedna część działająca na Intel i inna działająca na słońcu, programy należy skompilować i zoptymalizować inaczej.

Jednym ze sposobów rozwiązania wystarczająco trudnego problemu jest rozbicie części wejściowychi mają różne jednostki obliczeniowe na różnych częściach przy użyciu tego samego algorytmu, zestawu reguł lub kroków do rozwiązywania problemów.Na przykład, aby złamać genom 10 000 par, pierwsze 1000 par można przypisać do pierwszej jednostki obliczeniowej, drugiej 1000 par przypisanych do drugiej jednostki obliczeniowej i tak dalej, wszystkie używa tego samego algorytmu.W programowaniu rozproszonym jedną zaletą jest to, że różne jednostki obliczeniowe mogą uruchomić różne algorytmy w celu rozwiązania tego samego problemu, co prowadzi do znacznie lepszego rozwiązania.Jest to podobne do rozwiązania układanki, a niektórzy ludzie składają granicę, podczas gdy inni łączą kawałki określonego koloru.

Koordynacja rozproszonych procesów obliczeniowych może być szczególnie trudnym zadaniem.Niektóre jednostki obliczeniowe mogą się nie powieść lub mogą zostać przerwane w celu obsługi innych prac.Wiadomości zawierające dane wejściowe lub wyniki obliczeń mogą nie dotrzeć do ich miejsc docelowych.Jeśli programy są napisane w sposób na #239; VE, utrata jednostki obliczeniowej lub niektórych wiadomości może spowodować zawieszenie całego zestawu komputerów.Prace wykonane przez inne procesy lub wszystkie procesy mogą działać w sposób peer-to-peer bez procesu, który jest mistrzem.Niektóre przykłady problemów z programowaniem rozproszonym obejmują analizę danych geologicznych dla zasobów, takich jak ropa naftowa, modelowanie białek i cząsteczek biologicznych, pękanie zakodowanych wiadomości i symulacje wojskowe.Projekt SETI do wyszukiwania inteligentnego życia pozaziemskiego z wiadomości radiowych otrzymanych przez Ziemię jest prawdopodobnie jednym z najbardziej znanych przykładów.