Przetwarzanie współbieżne
Laboratorium 9
Tematem laboratorium było stworzenie programu generującego fraktal zwany smokiem Heighwaya, oraz zrównoleglenie algorytmu wyliczającego kolejne punkty.
Napisanie programu generującego fraktal.
Drugim zadaniem było zrównoleglenie algorytmu, oraz graficzna prezentacja wyników
W pliku z wynikami dopisywana była dodatkowa wartość identyfikująca wątek, który wyliczył dane wartości. Dane te podzieliłem ręcznie na 4 pliki( bo 4 były wątki), po czym za pomocą programu gnuplot utworzyłem ich wykres. Na potrzeby identyfikacji wątków, liczba iteracji została ograniczona do 5000 gdyż większa liczba powodowała że punkty nakładały się na siebie i niemożliwe było zobaczenie, że są one tworzone przez różne wątki.
Wykres bez podziału na wątki
Wykres z podzialem na wątki
Pomiary czasów wykonywania programu, dla różnej ilości wątków.
Wykres czasu trwania algorytmu od liczby wątków
Do zrównoleglenia algorytmu użyłem openMP. Oznaczyłem, które zmienne mają być współdzielone przez wątki, a które są prywatne, dla każdego z wątków. Ustaliłem także przydział planowania, aby każdy z wątków miał od razu przydzieloną ilość iteracji jaką wykona. Z wykresu można odczytać, że wraz ze wzrostem liczby wątków, czas wykonywania obliczeń malał. Program na potrzeby tego testu wykonywał 50 000 iteracji. Utworzony z wygenerowanych punktów fraktal wygląda następująco: