• Nie Znaleziono Wyników

Przetwarzanie współbieżne, równoległe i rozproszone – charakterystyka, różnice 2

N/A
N/A
Protected

Academic year: 2021

Share "Przetwarzanie współbieżne, równoległe i rozproszone – charakterystyka, różnice 2"

Copied!
2
0
0

Pełen tekst

(1)

1. Przetwarzanie współbieżne, równoległe i rozproszone – charakterystyka, różnice

2. Proces, wątek – charakterystyki, różnice; funkcje: fork (exec, wait), clone – parametry, przykłady użycia

3. Wątki Pthreads – tworzenie, niszczenie, zarządzanie; przykłady tworzenia i przesyłania argumentów do wątków

4. Współbieżność: wyścig (race condition, data race), sposoby unikania – różne rodzaje synchronizacji

5. Wzajemne wykluczanie: sposoby realizacji, wykorzystywane narzędzia i konieczne własności realizujących funkcji

6. Współbieżność: cechy pożądane programów, rodzaje błędów wykonania 7. Wzajemne wykluczanie: mutexy – wykorzystanie w bibliotece Pthreads 8. Pojęcia SPMD i MPMD

9. Tworzenie programów równoległych: wzorce, sposoby realizacji 10. Tworzenie programów równoległych: typy dekompozycji

11. Dekompozycja dla pętli, tablic 1D: blokowa, cykliczna, mieszana

12. Dekompozycja dla tablic 2D: wierszowa, kolumnowa, szachownicowa (2D) 13. Java: wątki – zarządzanie, przydzielanie zadań wątkom

14. Java: pule wątków – interfejsy: Executor, ExecutorService, klasy: Executors, ForkJoinPool; przydzielanie zadań wątkom i synchronizacja

15. Java: interfejsy – Runnable, Callable, Future, RecursiveAction, RecursiveTask 16. Java: wzajemne wykluczanie

17. Zmienne warunku, rozwiązanie problemu producenta-konsumenta 18. Problem czytelników i pisarzy – zamki odczytu i zapisu

19. OpenMP – charakterystyka, elementy składowe

20. OpenMP: dyrektywa parallel – składnia, działanie, klauzule

(2)

21. OpenMP: zmienne w obszarze równoległym, dyrektywy i klauzule dotyczące zmiennych

22. OpenMP: dyrektywy synchronizacji i podziału pracy

23. OpenMP: zrównoleglenie pętli, działanie, zarządzanie wykonaniem – klauzule 24. OpenMP: równoległość zadań, działanie, zarządzanie wykonaniem – klauzule

25. Zależności danych – typy, wpływ na możliwość zrównoleglenia kodu, zależności przenoszone w pętli

26. MPI – charakterystyka: model wykonania, podstawowe funkcje

27. MPI: komunikacja punkt-punkt – adresowanie, dane, tryby komunikacji

28. MPI: komunikacja grupowa, schematy komunikacji, przykładowe funkcje interfejsu

29. Architektury sprzętu: klasyfikacja Flynna i rzeczywiste systemy równoległe 30. Architektury sprzętu – statyczne i dynamiczne sieci połączeniowe

31. Architektury sprzętu – poziomy równoległości

32. Wydajność: podstawowe pojęcia i miary (bezwzględne i względne)

33. Wydajność – narzut obliczeń równoległych (składowe narzutu), wpływ rodzaju dekompozycji na równoważenie obciążenia

34. Wydajność: analiza i prawo Amdahla – założenia, wzory, wnioski

35. Wydajność: analiza Gustafsona – założenia, wzory, wnioski; skalowalność obliczeń równoległych

Cytaty

Powiązane dokumenty

c) każdy wątek pracuje wywołując odpowiednie funkcje z klasy Obraz do obliczania odpowiedniego fragmentu histogramu i odrębną funkcję do drukowania fragmentu histogramu

Testowanie, zgodnie z wzorcem w pliku czyt_pis.c, ma polegać na stworzeniu kilku wątków realizujących funkcje czytelnika i pisarza, które w nieskończonej (lub odpowiednio

Na podstawie materiałów z wykładu utworzenie i zaimplementowanie algorytmu realizującego 

b)liczba wątków i liczba zadań są niazależnymi parametrami - zazwyczaj liczba zadań jest większa od liczby wątków (aby umożliwić równoważenie obciążenia - liczba wątków

Można zastosować wzór z pliku openmp_petle.c (każdorazowo należy pozostawić indeksowanie tablicy a[i][j] i ewentualną zmianę kolejności przechodzenia tablicy realizować

Uruchomienie programu za pomocą 7 wątków korzystając z odpowiedniej klauzuli, sprawdzenie poprawności działania kodu

Uzupełnienie programu o definicje zadań (tasks) – dla wersji równoległej openmp wyszukiwania binarnego (można wzorować się na procedurze sortowania przez scalanie merge_sort_openmp

procesów (maksymalna liczba procesów nie powinna przekraczać liczby rdzeni/wątków sprzętowych, patrz wyjaśnienie powyżej) oraz rozmiaru zadania (ilości