1 / 42

LITERATURA

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 , http://www.mcs.anl.gov/dbpp/

edolie
Télécharger la présentation

LITERATURA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 , • http://www.mcs.anl.gov/dbpp/ • 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 : http://www.epm.ornl.gov/pvm STRONA GŁÓWNA MPI : http://www-unix.mcs.anl.gov/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

  7. 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 )

  8. systemy z pamięcią dzieloną (wspólną) (multiprocesory) shared - memory systems MIMD systemy z pamięcią rozproszoną ( multikomputery) distributed-memorysystems

  9. Źródła złożoności programów równoległych : • współbieżność ( concurrency ) • skalowalność ( scalability ) • lokalność ( locality ) • modularność ( modularity ) • determinizm (determinism)

  10. 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ą )

  11. MODEL TASK- CHANNEL

  12. PODSTAWOWE OPERACJE

  13. 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

  14. MODEL „Task and Channel” N = 8

  15. Xi+1 Xi Xi Xi+1 Xi-1 Xi-1 Xi i  0, N-1

  16. 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) ; }

  17. MODEL „Message Passing” Xi+1 Xi Zi Zi+1 Zi-1 Xi Xi+1 Xi-1 Xi-1 Xi i  0, N-1

  18. 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) ; }

  19. PODZIAŁ • podział dziedziny (domain decomposition) • podział funkcjonalny (functional decomposition)

  20. Podział dziedziny

  21. Podział funkcjonalny

  22. 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

  23. KOMUNIKACJA • lokalna • globalna • strukturalna • niestrukturalna • statyczna • dynamiczna • synchroniczna • asynchroniczna

  24. KOMUNIKACJA LOKALNA Metoda Jacobiego i metoda Gaussa-Seidla

  25. KOMUNIKACJA GLOBALNA Równoległa operacja redukcji : S = i =0N-1Xi

  26. Zmiana modelu - rozproszenie komunikacji i obliczeń Si = Xi + Si-1 i = 0 , ... , N-1 Strukturalna komunikacja, statyczna, regularna

  27. Inny model - zastosowanie metody "dziel i zwyciężaj" Komunikacja strukturalna,statyczna, regularna, mała ilość sąsiadów. Dobre rozproszenie danych i obliczeń

  28. KOMUNIKACJA NIESTRUKTURALNA

  29. 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

  30. AGLOMERACJA • Zwiększanie "rozmiaru" zadania • i zmniejszenie ilości przesyłanych danych między zadaniami • replikacja obliczeń • sklejanie kilku zadań w jedno zadanie

  31. 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.) • ......

  32. 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

  33. 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

More Related