1 / 23

Metody komunikacji i synchronizacji w obliczeniach równoległych

Metody komunikacji i synchronizacji w obliczeniach równoległych. Michał Radziszewski. Plan prezentacji. Potrzeba obliczeń równoległych Pamięć dzielona a odrębne maszyny Message Passing Klasyczne zadania synchronizacji Synchronizacja na jednym OS Superkomputery

teneil
Download Presentation

Metody komunikacji i synchronizacji w obliczeniach równoległych

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. Metody komunikacji i synchronizacji w obliczeniach równoległych Michał Radziszewski

  2. Plan prezentacji • Potrzeba obliczeń równoległych • Pamięć dzielona a odrębne maszyny • Message Passing • Klasyczne zadania synchronizacji • Synchronizacja na jednym OS • Superkomputery • Inne podejście: karty graficzne

  3. Potrzeba obliczeń równoległych • Wydajność procesorów sekwencyjnych • 2002r. Architektura NetBurst, Pentium 4, ok. 3GHz max • 2008r. Architektura Core, Core 2 Duo/Quad, też ok. 3GHz max • Przez 6 lat wydajność przy tej samej częs-totliwości zwiększyła się zaledwie ok. 2.5x • Próby zwiększania częstotliwości ponad 3GHz problematyczne, pobór prądu

  4. Procesory wielordzeniowe • Intel • Pentium D, V 2005, konstrukcja nieudana • Core 2 Duo, VII 2006 • Core 2 Quad, XI 2006 ($1000), $270 obecnie • AMD • Athlon X2, IV 2005, lepszy od Pentium D • Phenom, XI 2007, 4 rdzenie, błędy sprzętowe • Wykorzystanie ich wymaga równoległości!

  5. Pamięć dzielona • Procesory wielordzeniowe • Płyty wieloprocesorowe • Maksymalnie 4x4 rdzenie, 320GFlops, 256GB RAM • Superkomputery – wielokrotnie więcej

  6. Message Passing • Biblioteka MPI (Message Passing Interface) • Wysyłanie komunikatów między procesami, optymalne do pracy w środowiskach rozproszonych • Ale: na jednej maszynie znacznie mniej efektywne niż jeden wielowątkowy proces ze wspólną przestrzenią adresową

  7. MPI – podstawowe funkcje • Podstawowe: send, recv – wersjesynchroniczne, asynchroniczne, nieblokujące, buforowanie • Bariera: barrier – podział obliczeń na dwa etapy, rozpoczęcie drugiego możliwe dopiero wtedy gdy wszystkie procesy zakończą pierwszy • Komunikacja kolektywna

  8. MPI – komunikacja kolektywna • Funkcje scatter, gather • scatter rozrzuca kolejne elementy tablicy z wybranego procesu do wszystkich procesów • gather w analogiczny sposób zbiera elementy • funkcje te stanowią punkt synchronizacji

  9. MPI – komunikacja kolektywna • Funkcje allgather, all_to_all • allgather – funkcja gather w każdym procesie • all_to_all – kombinacja funkcji scatter i gather • funkcje te także stanowią punkt synchronizacji

  10. MPI – komunikacja kolektywna • Funkcja broadcast – send do każdego procesu, złożoność logarytmiczna • Funkcja reduce • sekwencja funkcji gather + operator o • o musi być łączne • Wariant allreduce

  11. Klasyczne zadania synchronizacji • Pamięć dzielona oraz odrębne maszyny • Ograniczenia globalne • zasób krytyczny • zakleszczenia • zagłodzenia • Własności bezpieczeństwa i żywotności • Problem czytelników i pisarzy • Problem jedzących filozofów

  12. Problem czytelników i pisarzy • Istnieje globalna struktura danych, do której dostęp może uzyskać jednocześnie dowolna ilość procesów czytających albo jeden piszący • Kolejki czytelników i pisarzy • Pytanie: czy wpuszczać nowych czytelników gdy czeka co najmniej jeden pisarz? • Efektywność odczytu a zagłodzenie pisarzy

  13. Problem jedzących filozofów • Każdy filozof do jedze-nia potrzebuje dwóch widelców • Potencjalne zaklesz-czenie – gdy każdy z nich weźmie 1 widelec i czeka na drugi

  14. Synchronizacja przy jednym OS • Obiekty nazwane i nienazwane • Wykluczanie • muteksy, sekcje krytyczne • semafory • Zdarzenia • Funkcje współzależne (atomowe) • long InterlockedExchangeAdd(long*, long) • long InterlockedExchange(long*, long)

  15. Superkomputery • Blue Gene\L – najszybszy współczesny superkomputer • Lawrence Livermore National Laboratory • Moc 478 TFlops (od 2007r.) • 106 496 węzłów • Każdy węzeł 2x 700MHz PowerPC, 2x 2.8 GFlops, pamięć DRAM • Pamięć 2x 32768 GB

  16. Blue Gene\L – komunikacja • Trzy sieci komunikacyjne • trójwymiarowa sieć toroidalna do komunikacji peer-to-peer między węzłami, routing sprzętowy • specjalna sieć do komunikacji kolektywnej, one-to all, all to all broadcast, topologia drzewa • globalna sieć przerwań, szybkie bariery • Gigabit Ethernet – sieciowy system plików oraz wejścia/wyjścia

  17. Blue Gene\L – komunikacja • Dodatkowo, niezależna sieć kontrolna umożliwiająca dostęp do każdego węzła w celach konfiguracyjnych i diagnostycznych

  18. Blue Gene\L – oprogramowanie • Bardzo prosty system operacyjny, złożony tylko na węzłach I/O • Specjalizowana i zoptymalizowana implementacja MPI • Specjalizowane biblioteki matematyczne • Wsparcie dla języków C, C++, Fortran

  19. Blue Gene\L – architektura

  20. Karty graficzne • Nvidia 8800 GTX – 128 rdzeni w jednym procesorze, ~330 GFlops • Tylko pojedyncza precyzja • Procesor nie jest dostosowany do dowolnych programów • Działa dobrze jedynie dla zadań o regularnych danych (np. macierze) • Nie działa przeszukiwanie drzew • Procesor strumieniowy

  21. Karty graficzne – SLI • Obecnie można zamontować 3 karty do jednej maszyny, co daje teoretycznie ~1TFlops • Można łączyć wiele maszyn z 3 kartami każda • Użycie jednocześnie CPU i procesora graficznego

  22. Programowanie strumieniowe • Kernele operują na danych ze strumienia • Każda operacja atomowa • Kolejne elementy ze strumienia mogą być przetworzone w przypadkowej kolejności

  23. Dziękuję za uwagę

More Related