Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałWłodzisław Szklarek Został zmieniony 11 lat temu
1
LITERATURA M.Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WN-T, 1996 I.Foster, Designing and Building parallel programs, Cocepts and Tools for Parallel Software Engineering, Addison-Wesley Publ.Comp., 1995 , V.Kumar,A.Grama, A.Gupta, G.Karypis, Introduction to Parallel Computing. Design and Analysis of Algorithms, The Benjamin/Cummings Publ.Comp.,Inc., 1994. PVM:Parallel Virtual Machine. A Users' Guide and Tutorial for Networked Parallel Computing, A.Geist at al., Ultra60: /STORE/mpi/doc/ pvm-book.ps MPI: A Message Passing Interface Standard Ultra60: /STORE/mpi/doc/mpi.guide.ps J.H.Reif (ed.), Synthesis of parallel Algorithms, Morgan Kaufmann Pub., 1993
2
STRONA GŁÓWNA PVM : STRONA GŁÓWNA MPI :
3
SCHEMAT KOMPUTERA
4
Próby przyspieszenia obliczeń na maszynach jednoprocesorowych:
pamięć z przeplotami potokowość (pipelinning) wektoryzacja rozwijanie pętli
5
Zagadnienia w obliczeniach równoległych :
komputery równoległe algorytmy równoległe jakość algorytmów równoległych języki równoległe narzędzia wspomagające programowanie równoległe przenośność programów równoległych automatyczne oprogramowanie komputerów równoległychh
6
MULTIKOMPUTER
8
Klasyfikacja komputerów równoległych w/g FLYNNA :
SISD ( Single Instruction stream, Single Data stream) SIMD ( Single Instruction stream , Multiply Data stream ) MISD ( Multiply Instruction stream, Single Data stream ) MIMD ( Multiply Instruction stream, Multiply Data stream )
9
systemy z pamięcią dzieloną (wspólną) (multiprocesory)
shared - memory systems MIMD systemy z pamięcią rozproszoną ( multikomputery) distributed-memory systems
10
Źródła złożoności programów równoległych :
współbieżność ( concurrency ) skalowalność ( scalability ) lokalność ( locality ) modularność ( modularity ) determinizm (determinism)
11
MODELE PROGRAMOWANIA RÓWNOLEGŁEGO :
Równoległość danych ( dla SIMD) Pamięć wspólna (dla MIMD ze wspólną pamięcią ) Przesyłanie komunikatów (dla MIMD z rozproszona pamięcią )
12
MODEL TASK- CHANNEL
13
PODSTAWOWE OPERACJE
14
PRZYKŁAD DANE: X(0) RN , N 0 , X(0) = ( X0(0), ... , XN-1(0) ); T N WYNIK : X(T) : Xi(t+1) := ( Xi-1(t) + 2Xi(t) + Xi+1(t) ) / 4 0 i N-1, 0 t < T
15
MODEL „Task and Channel”
16
Xi+1 Xi Xi Xi+1 Xi-1 Xi-1 Xi i 0, N-1
17
KOD dla Zi , i =1, ... N-2 : for t := 0 to T-1 do { Wyślij Xi ‘na lewo’ i ‘na prawo’; Odbierz Xi-1‘z lewej’; Odbierz Xi+1 ‘z prawej’; Oblicz Xi(t+1) ; }
18
MODEL „Message Passing”
Xi+1 Xi Zi Zi+1 Zi-1 Xi Xi+1 Xi-1 Xi-1 Xi i 0, N-1
19
KOD dla Zi , i =1, ... N-2 : for t := 0 to T-1 do { Wyślij Xi do zadania Zi-1 i Zi+1; Odbierz Xi-1 od zadania Zi-1; Odbierz Xi+1 od zadania Zi+1; Oblicz Xi(t+1) ; }
23
podział dziedziny (domain decomposition)
podział funkcjonalny (functional decomposition)
24
Podział dziedziny
25
Podział funkcjonalny
26
Po zaprojektowaniu podziału sprawdź :
Czy ilość zadań jest większa niż liczba procesorów Czy unika się powtarzania obliczeń Czy zadania mają podobny rozmiar Czy ilość zadań zależy od rozmiaru problemu Czy zdefiniowano kilka alternatywnych podziałów
27
KOMUNIKACJA globalna strukturalna niestrukturalna statyczna dynamiczna
lokalna globalna strukturalna niestrukturalna statyczna dynamiczna synchroniczna asynchroniczna
28
KOMUNIKACJA LOKALNA Metoda Jacobiego i metoda Gaussa-Seidla
29
KOMUNIKACJA GLOBALNA Równoległa operacja redukcji : S = i =0N-1Xi
30
Zmiana modelu - rozproszenie komunikacji i obliczeń
Si = Xi + Si i = 0 , ... , N-1 Strukturalna komunikacja, statyczna, regularna
31
Inny model - zastosowanie metody "dziel i zwyciężaj"
Komunikacja strukturalna,statyczna, regularna, mała ilość sąsiadów. Dobre rozproszenie danych i obliczeń
32
KOMUNIKACJA NIESTRUKTURALNA
33
Po zaprojektowaniu komunikacji sprawdź :
Czy wszystkie zadania wykonują mniej więcej taką samą ilość operacji komunikacji Czy każde zadanie komunikuje się z małą liczba sąsiadów Czy komunikacja może przebiegać współbieżnie Czy obliczenia w różnych zadaniach mogą przebiegać współbieżnie
34
AGLOMERACJA Zwiększanie "rozmiaru" zadania
i zmniejszenie ilości przesyłanych danych między zadaniami replikacja obliczeń sklejanie kilku zadań w jedno zadanie
40
Po zaprojektowaniu aglomeracji sprawdź :
Czy aglomeracja zredukowała koszt komunikacji przez zwiększenie lokalności Jeśli aglomeracja wprowadza replikację obliczeń , to czy jest z tego korzyść (mniejszy koszt np.) ......
41
Cel : zminimalizowanie całkowitego czasu wykonania obliczeń
MAPOWANIE Cel : zminimalizowanie całkowitego czasu wykonania obliczeń Podstawowe strategie : Zadania, które mogą wykonywać się współbieżnie umieszczać na różnych procesorach Zadania, które często się komunikują umieścić na jednym procesorze, zwiększając lokalność komunikacji
42
Jak przydzielać ? : Problem NP - zupełny
"Łatwo" : jeśli algorytmy używają techniki podziału dziedziny i jest stała liczba zadań o równym rozmiarze i strukturalnej lokalnej i globalnej komunikacji
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.