Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Metody komunikacji i synchronizacji w obliczeniach równoległych Michał Radziszewski.

Podobne prezentacje


Prezentacja na temat: "Metody komunikacji i synchronizacji w obliczeniach równoległych Michał Radziszewski."— Zapis prezentacji:

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 – wersje synchroniczne, 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.) ► węzłów ► Każdy węzeł 2x 700MHz PowerPC, 2x 2.8 GFlops, pamięć DRAM ► Pamięć 2x 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ę


Pobierz ppt "Metody komunikacji i synchronizacji w obliczeniach równoległych Michał Radziszewski."

Podobne prezentacje


Reklamy Google