Szukam dostępnych w Internecie notatek z wykładów lub innych zasobów, które stanowią dobre wprowadzenie do programowania równoległego, podobnie jak równoległy analog podstawowych zajęć z informatyki.
Skupiam się na następujących zagadnieniach: chociaż jestem w stanie mówić o dzieleniu i podbijaniu, chciwych algorytmach, programowaniu dynamicznym itp., Tj. Podstawowych wzorcach algorytmów sekwencyjnych (i problemów), i nie mam odpowiedniego języka do klasyfikowania podejść w algorytmach równoległych.
Na przykład chciałbym uzyskać odpowiednie warunki, aby wyrazić fakt, że oczywiste równoległe podejścia do każdego z następujących problemów mają różne zachowania jakościowe:
- ustawienie tablicy liczb całkowitych na zero (skaluje się idealnie).
- sumując tablicę liczb całkowitych (im więcej wątków używasz, tym więcej narzutów).
- Biorąc pod uwagę tablicę, wypisz produkty każdego wpisu ze sobą (jeśli zrównoleglimy kanoniczną pętlę podwójnej pętli, czas wykonania zostanie skalowany do sqrt procesorów liczbowych).
Wystarczy środowisko pamięci współdzielonej, a komunikacja międzyprocesowa nie jest dla mnie tak istotna (w rzeczywistości interesują mnie algorytmy, które w ogóle tego unikają). Ponadto aspekty techniczne są dla mnie nieistotne.