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

Slides:



Advertisements
Podobne prezentacje
Video DR-S Cyfrowy rejestrator wideo
Advertisements

Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
Architektura SAP R/3 Wybrane zagadnienia.
Systemy Rozproszone Wprowadzenie.
Promotor: prof. dr hab. inż. Andrzej Grzywak mgr inż. Piotr Kasprzyk
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Implementacja algorytmów na procesory kart graficznych
ELEMENTY SKŁADOWE JEDNOSTKI CENTRALNEJ
SEMAFORY Dominik Niewiadomy Łukasz Dąbrowski.
Obliczenia równoległe w grafice komputerowej
ZŁOŻONOŚĆ ALGORYTMÓW RÓWNOLEGŁYCH
LITERATURA M.Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WN-T, 1996 I.Foster, Designing and Building parallel programs, Cocepts and.
Wstaw tekst Płyta główna (ang. mainboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia,
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
ETL – wymiana danych Michał Jabłonka
Instytut Fizyki Teoretycznej
Techniczne aspekty wyboru komputera Paweł Pilarczyk, PCLab.pl 28 października 2005.
ZARZĄDZANIE PROCESAMI
Programowanie współbieżne i rozproszone
Problem rozbieżności czasów jednym z wielu problemów pojawiających się w systemach rozproszonych jest rozbieżność wartości zegarów na poszczególnych węzłach-maszynach.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Semafory.
Wątki.
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Zastosowanie technologii CUDA w sztucznej inteligencji
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Komputery macierzowe.
Architektura komputerów
Płyta główna. Magistrale I/O
Jaka jest wydajność najszybszego superkomputera na świecie? Gflopów procesorów Intel EM64T Xeon X56xx 2930 MHz (11.72 GFlops) GB.
Budowa systemu komputerowego
Współbieżność w informatyce i nie tylko
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Topologie sieci lokalnych.
Architektura komputerów
Oficjalne wydanie Moldex3D Viewer Moldex3D – TIPs.
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Wybrane zagadnienia relacyjnych baz danych
Macierze dyskowe Tymoteusz Szukała.
Sieci komputerowe.
W ą t e k (lekki proces) thread.
Minimalne wymagania systemowe dla Systemu Windows 8
Systemy operacyjne (wiosna 2014)
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Windows 7 – minimalne wymagania[14] Procesor1 GHz x86 lub x86-64 (32-bit lub 64-bit) Pamięć RAM1 GB (32-bit) / 2 GB (64-bit) Karta graficznaDirectXDirectX.
BUDOWA I ZASADA DZIAŁANIA
RÓWNOLEGŁOŚĆ I PROSTOPADŁOŚĆ W MOIM OTOCZENIU. Równoległość skrót II – w geometrii relacja między obiektami takimi jak proste, odcinki, półproste.
Pamięć DRAM.
Pamięć RAM Pamięć RAM.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Xbox 360 a Playstation 3 technologie kodowania informacji
WSPM - Wirtualny System Plików Multimedialnych Igor BOKUN, Stanisław STRELNIK, Krzysztof ZIELIŃSKI Katedra Informatyki Akademia Górniczo-Hutnicza.
Rodzaje systemów operacyjnych
Wstęp do programowania Wykład 7
Mikroprocesory w urządzeniach przenośnych. Rdzenie ARM Architektura ARM (ang. Advanced RISC Machine, architektura procesorów typu RISC. Różne wersje rdzeni.
IX Konferencja "Uniwersytet Wirtualny: model, narzędzia, praktyka" Kazimierz Wiatr, Marek Kwaśniewski, Maria Wielgus ACK CYFRONET AGH Iwona Wendel Urząd.
Budowa komputera. Procesor Procesor to serce komputera. Do najważniejszych producentów procesorów należą: AMD (Athlon, Duron, Sempron, Turion, Opteron,
Płyta główna. Magistrale I/O
CARAT Hardware-Zalecana konfiguracja
Podział mikroprocesorów
Zapis prezentacji:

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 ► Inne podejście: karty graficzne

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

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!

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

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ą

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

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

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

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

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

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

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

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)

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

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

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

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

Blue Gene\L – architektura

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

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

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

Dziękuję za uwagę