Co dokładnie stanowi przetwarzanie rozproszone?
Przetwarzanie rozproszone to z natury równoległy zbiór elementów przetwarzania, które komunikują się ze sobą w celu rozwiązania jednego lub więcej problemów. Te elementy przetwarzające są wystarczająco oddzielone od siebie, aby zbudowanie między nimi niezawodnej i terminowej struktury przesyłania wiadomości nie było praktyczne, a zatem niemożliwa jest globalna znajomość stanu systemu. Szczególne cechy Messaging z systemów rozproszonych na to, że komunikaty będą się zgubić, będzie się nieczytelny, będzie się opóźnia - rozwiązania w tej przestrzeni muszą uwzględniać to. Zatem programowanie rozproszone polega na radzeniu sobie z sieciami i komunikatami, równoległości i braku globalnych informacji.
Najłatwiejszą metodą obejścia problemów jest uczynienie pojedynczego elementu przetwarzania specjalnym, tzn. Autorytatywnym dla określonej informacji. Następnie pozostałe elementy mogą albo odwoływać się do nich za każdym razem, albo buforować informacje i mieć nadzieję, że nie przestaną być aktualne (ponieważ nie mogą liczyć na informację o zmianach). Jest to klasyczna architektura klient / serwer.
Obliczenia internetowe to obliczenia rozproszone, ale bez możliwości kontrolowania, co tak naprawdę robi większość rozproszonych węzłów.
Czy wiele równoległych wątków próbujących zsynchronizować się w celu uzyskania dostępu do zasobu stanowi problem w dziedzinie przetwarzania rozproszonego?
Stanowią one możliwe rozwiązanie, które jest przydatne podczas budowania modelu klient / serwer, ale kosztem potencjalnie dramatycznego wzrostu rywalizacji o zasoby. W przypadku odczytów nie jest to wielka sprawa (pod warunkiem, że jest wystarczająca ilość sprzętu), ale w przypadku zapisów jest to naprawdę duży problem.
To, czego starasz się unikać, to rozproszone zamki. Brak niezawodnego przesyłania wiadomości w odpowiednim czasie całkowicie eliminuje rozproszone protokoły decyzyjne, chyba że użyjesz czegoś takiego jak protokół Paxos , ale ma to wiele zastrzeżeń. Podstawowym problemem związanym z przetwarzaniem rozproszonym jest to, że „złe wiadomości przytrafiają się komunikatom”. Protokoły relatywnie niskiego poziomu, takie jak TCP, zmniejszają problemy, ale nadal możesz się poważnie nie utknąć.