Programowanie równoległe i współbieżne
Ćwiczenie:
Ćwiczenie 6
Data oddania:
6.5.2013
Imię, Nazwisko:
Aleksandra Kulecka
Ocena:
Uwagi:
1.
Cel ćwiczenia
Celem ćwiczenia było zbadanie czasu potrzebnego do przesyłu komunikatu zawierający wektor,
który zwiększał swoją wielkość dwukrotnie. Operacja była wykonywana na dwóch procesach
jednocześnie.
2.
Przebieg ćwiczenia
Program z laboratorium 5, został zmodyfikowany tak, aby równolegle dwa procesy wysyłały wektor,
minimalnego wadze 8 bajtów, maksymalnej 256 mega bajtów. W momencie wysłania następowało
wstrzymanie wykonywania pętli za pomocą polecenia
MPI_Wait (&req2, &Stat) lub MPI_Wait
(&req1, &Stat)
, które odpowiadają za oczekiwanie na komunikat odebrania od procesu
drugiego lub pierwszego.
3.
Wyniki badań
Poniżej przedstawiono wyniki badań:
Rysunek 1 Wynik działania programu
Dla porównania poniżej raz jeszcze wynik działania programu z poprzedniego laboratorium:
Rysunek 2 Wynik działania programu z poprzedniego laboratorium
4. Wnioski
Przy wykorzystaniu równolegle dwóch procesów w celu przesyłania komunikatów, prędkość
przesyłu spada o połowę,
Nieznacznie wydłużył się czas przesyłu komunikatu (ze względu na konieczność
synchronizacji procesów,
W
ielkość przesyłanego komunikatu musiała zostać zmniejszona o połowę, ze względu na
maksymalny
prędkość przesyłu i wielkości przesyłanego komunikatu możliwą na danym
komputerze,
Wraz
ze zwiększającym się rozmiarem wysyłanego wektora, zwiększa się prędkość przesyłu,
Prędkość przesyłu wzrasta logarytmicznie,
Prędkości przesyłu obydwóch procesów różnią się nieznacznie.