Istnieją dwa sposoby takiej komunikacji: pamięć dzielona i przesyłanie komunikatów.
Wykorzystywanie pamięci dzielonej wymaga dodatkowo blokowania danych, co zwiększa ogólny koszt o dodatkowy procesor i cykle magistrali, jak również szereguje część algorytmu.
Przesyłanie komunikatów podnosi koszt na magistrali oraz dodatkowej pamięci do kolejkowania i przechowywania komunikatów. Projekty procesorów równoległych wykorzystują specjalne magistrale krzyżowe co zmniejsza koszty, ale to algorytm równoległy decyduje o rozmiarze natężenia przepływu danych.
Innym problemem związanym z algorytmami równoległymi jest właściwe rozłożenie obliczeń. Np. sprawdzanie każdej liczby od 1 do 100 000 czy jest liczbą pierwszą jest proste do podzielenia pomiędzy procesory, aczkolwiek niektóre procesory dostaną więcej pracy niż inne, co spowoduje ich bezczynne oczekiwanie na zakończenie pracy tych bardziej obłożonych.
Algorytmy dystrybucyjne - podtyp algorytmów równoległych – są zaprojektowane do pracy na klastrach i w środowiskach obliczeń rozproszonych, gdzie przekraczają możliwości klasycznych algorytmów równoległych.
Zobacz też Obliczenia równoległe Message Passing Interface (MPI)
Przypisy
Bibliografia
Kategoria:Algorytmika