21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

Podobne dokumenty
16. Taksonomia Flynn'a.

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Algorytmy dla maszyny PRAM

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Nowoczesne technologie przetwarzania informacji

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

Architektura komputerów

5. Model komunikujących się procesów, komunikaty

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Architektura komputerów

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

Miary efektywności zrównleglenia

Obliczenia Wysokiej Wydajności

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Algorytmy i Struktury Danych

Rozproszona pamiêæ dzielona - 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Programowanie współbieżne Wykład 2. Iwona Kochańska

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Mechanizmy pracy równoległej. Jarosław Kuchta

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Wprowadzenie do programowania współbieżnego

Wydajność komunikacji grupowej w obliczeniach równoległych. Krzysztof Banaś Obliczenia wysokiej wydajności 1

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Programowanie Rozproszone i Równoległe

Programowanie współbieżne i rozproszone

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

dr inż. Jarosław Forenc

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Obliczenia Wysokiej Wydajności

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Działanie systemu operacyjnego

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Architektura komputera

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Dr inż. hab. Siergiej Fialko, IF-PK,

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

System komputerowy. System komputerowy

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

3.Przeglądarchitektur

Podstawy Informatyki Systemy sterowane przepływem argumentów

Sprzęt czyli architektury systemów równoległych

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Magistrala systemowa (System Bus)

dr inż. Jarosław Forenc

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Przetwarzanie równoległesprzęt

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie Rozproszone i Równoległe

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Prezentacja systemu RTLinux

Architektura komputerów. Układy wejścia-wyjścia komputera

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Informatyka. informatyka i nauki komputerowe (computer science)

Symulacje kinetyczne Par2cle In Cell w astrofizyce wysokich energii Wykład 7

Systemy operacyjne. Paweł Pełczyński

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Temat zajęć: Tworzenie i obsługa wątków.

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Systemy wieloprocesorowe i wielokomputerowe

3.Przeglądarchitektur

Obliczenia równoległe

LEKCJA TEMAT: Zasada działania komputera.

Operacje grupowego przesyłania komunikatów

Ograniczenia efektywności systemu pamięci

Spis treści. Księgarnia PWN: Maurice Herlihy, Nir Shavit - Sztuka programowania wieloprocesorowego. Podziękowania Przedmowa...

Transkrypt:

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine Model PRAM zapewnia możliwość jednoczesnego dostępu każdego spośród n procesorów o architekturze RAM do wspólnej pamięci (pamięci współdzielonej shared memory SM) W modelu tym komunikacja między procesami i ich synchronizacja odbywa się z użyciem wspólnych zmiennych W rezultacie komputery równoległe o wspólnej przestrzeni adresowej są stosunkowo łatwe do programowania, gdyż minimalizują one problemy związane z przydziałem danych do poszczególnych procesorów i dynamicznym równoważeniem ich obciążenia (konkluzja: łatwiejszy do oprogramowania niż modele z pamięcią rozproszona - distributed memory DM) Rys 19 Model PRAM Powyższy model pociąga jednak za sobą możliwość wystąpienie konfliktów w przypadku, gdy kilka procesorów jednocześnie odwołuje się do tej samej komórki pamięci Podczas gdy możliwość jednoczesnego wykonania operacji odczytu wydaje się koncepcyjnie spójną (nawet, jeśli jej fizyczna realizacja jest nieoczywista), to nie można tego powiedzieć o operacji zapisu Dlatego też ocena stopnia równoległości realizacji zapisu do pamięci i/lub odczytu z pamięci pozwala wyróżnić w ramach modelu PRAM kilka klas systemów różniących się sposobem organizacji i zarządzania pamięcią Są to: model EREW (ang exclusive-read, exclusive write), w którym tylko jeden procesor posiada prawo do odczytu lub zapisywania informacji do określonej komórki pamięci; model CREW (ang concurrent read, exclusive write), w którym możliwe jest jednoczesne wykonywanie operacji odczytu z pamięci przez wiele procesorów przy ograniczeniu możliwości jednoczesnego zapisu do pojedynczego procesora; model ERCW, w którym więcej niż jeden procesor posiada prawo do jednoczesnego wykonywanie operacji zapisu przy ograniczeniu możliwości jednoczesnego odczytu do pojedynczego procesora; model CRCW, w którym zarówno dla operacji zapisu, jak i odczytu możliwe jest ich jednoczesne wykonywanie przez więcej niż jeden procesor Do badania algorytmów równoległych i organizacji obliczeń w komputerach równoległych najczęściej stosowane są modele EREW i CRCW, podczas gdy dla celów realizacji technicznej najszerzej wykorzystuje się model EREW PRAM, co wynika z możliwości jego realizacji w postaci modelu RAM W przypadku maszyn, które umożliwiają równoległą (jednoczesną) realizację operacji zapisu, kilka procesorów może jednocześnie ubiegać się o prawo zapisu pewnego zbioru danych do pamięci Możliwe sposoby realizacji powyższej równoległości to:

deterministyczny, gdy preferencję przy zapisie danych oddaje się procesorowi z najwyższym priorytetem; grupowy (inaczej kolektywny), gdy dane niektórych procesorów grupuje się (wykorzystując np prawo łączności operacji dodawania, mnożenia, znajdowania minimum itd), co pozwala na redukcję liczby odwołań do pamięci dzięki przechowywaniu rezultatów pośrednich w procesorach, podczas gdy tylko rezultaty operacji grupowych przesyłane są do pamięci niedeterministyczny (losowy), gdy dowolnie wybrany procesor ma możliwość dokonania natychmiastowego zapisu do pamięci, a wszystkie pozostałe próby kończą się niepowodzeniem 22 Atrybuty i architektury topologiczne maszyn DM-MIMD Distribute Memory Multiple Instructions Multiple Data Ogólna charakterystyka DM-MIMD : pamięć rozproszona duża liczba procesorów działających niezależnie, każdy procesor dysponuje pamięcią lokalną przechowującą bezpośrednio dostępne obiekty danych, nie dostępną dla innych procesorów, wymiana informacji między procesorami za pomocą komunikatów, MPP (Massive Parallel essing) łączenie bardzo dużej (tysiące) liczby procesorów, przykłady: Thinking Machines CM-5, Cray T3E, Fujitsu VPP5000, Meiko CS-2, Intel Paragon esor esor esor Sieć połączeń Ale tak naprawdę to pytanie jest o czym innym (tylko wydaje mi się że warto wiedzieć o czym się mówi) w tym pytaniu chodzi raczej o to co dał na swoich slajdach :

Parametry (chyba to samo co atrybuty ale mogę się mylić) maszyn DM: topologia połączeń między procesorami, średnica d największa odległość między procesorami tj liczba kanałów do pokonania, Rozpiętość przekroju połówkowego RPP (bisection bandwidth) maksymalna liczba komunikatów, jakie mogą być wysłane jednocześnie przez jedną połowę procesorów do drugiej, inaczej minimalna liczba kanałów, po usunięciu których sieć będzie podzielona na dwie równe części Różne topologie maszyn DM (p = n n): siatka 2D, d=2n-2, RPP=n, torus 2D, d=n, RPP=2n, pierścień (torus 1D), d=p-1(1-kier), RPP=2, drzewo, np binarne, d=2log2[(p+1)/2], RPP=1, hipersześcian (n-wym, p=2n), d=n, RPP=p/2=2n-1 A tu jeszcze graficzne przedstawienie różnych topologii: Siatk2D Drzewo binarne Pierścień (torus 1D) m-fattree: d=log mn, RPP=p/2 gdzie: o m ilość potomków, o n ilość warstw, o ilość węzłów p=mn, o ilość przełączników s=n mn-1, niewielka średnica, dobra skalowalność, niewielka ilość przełączników

Prawdę mówiąc nie wiem czy to jest kolejna topologia DM ale była w tym miejscu w wykładzie jeszcze postaram się coś o tym znaleźć : Hipersześcian 3D: Hipersześcian 4D: Fizyczna architektura hipersześcianu pozwala tworzyć różne topologie logiczne: Drzewo Pierścień Siatka 2D

23 Sieci komputerów i systemy hybrydowe Sieci komputerów: Zaliczane są do kategorii DM-MIMD COW (Cluster of Workstations) klastery Linux: Beowulf (http://wwwbeowulforg) NOW (Network of Workstations) połączone ogólnodostępną siecią lokalną Zbudowane z komponentów off-the-shelf czyli: niższa o rząd wielkości cena Problemy: niezawodność, bezpieczeństwo, heterogeniczność sprzętu i oprogramowania Systemy hybrydowe : Zespoły wieloprocesorowych węzłów SM-MIMD połączone wewnętrzną szybką siecią Dominujące podejście w nowszych systemach superkomputerowych Traktowanie jako maszyn DM nieefektywne komunikaty lokalne w węzłach SM Trudność programowego odwzorowania hierarchicznej budowy Przykłady: IBM RS/6000 SP, SGI Origin, Cray SV1, HP AlphaServer SC, HP Exemplar Sieć połączeń Urządzenia peryferyjne Distributed Shared Memory Maszyny hybrydowe z mechanizmem przedstawiającym pamięć rozproszoną fizycznie jako współdzieloną adresowo Asymetryczny dostęp szybszy do pamięci lokalnej: NUMA (non-uniform memory access), Sprzętowe przyspieszanie za pomocą pamięci cache wymaga zachowania spójności danych w całym systemie: ccnuma (cache coherent) Przykład: SGI Origin, HP Exemplar

24 Elementy programowania specyficzne dla maszyn SM Synchronizacja operacji dostępu do pamięci przez wiele procesów Mechanizm synchronizacji obliczeń typu bariery Osiąganie maksymalnej wydajności zależy od: Możliwie rzadkiego używania bariery, Minimalizacji czasu trwania operacji synchronizacji, Minimalizacji czasu trwania operacji komunikacji Wątek (thread) instancja procedury (metody), posiadająca prywatne dane lokalne oraz mająca dostęp do danych globalnych zgodnie z regułami zasięgu dla danego języka np przez dziedziczenie przestrzeni adresowej procesu Tworzenie wątków Niszczenie wątków Identyfikowanie się wątków Ustalanie punktów synchronizacji wątków współbieżnych Zamek (mutex lock) służy do ochrony fragmentów kodu (tzw sekcji krytycznych) przed wejściem do nich więcej niż jednego wątku; lock_init inicjalizacja zamka, lock_on zamknięcie zamka, lock_off otwarcie zamka Zamek typu jeden pisarz wielu czytelników (readers/writer lock) służy do zamknięcia sekcji krytycznej jedynie wtedy, gdy jeden z wątków zmienia dane globalne; w pozostałych okresach możliwe jest jednoczesne czytanie danych przez wiele wątków Semafor mechanizm niższego poziomu wykorzystujący in- i dekrementację pewnej zmiennej systemowej s (całkowitej, nieujemnej wait(s): if s>0 then s:=s-1 else wstrzymaj wątek endif signal(s): if {wątek W wstrzymany na s} then przywróć wątek W else s:=s+1 endif Dla wartości początkowej s=1 otrzymujemy semafor binarny (zamek) Monitor obiekt łączący dane globalne, zmieniane tylko w sekcji krytycznej, oraz operacje na nich z mechanizmem synchronizacji Bariera zapewnia dojście wszystkich wątków do punktu jej ustawienia, zanim którykolwiek będzie mógł pójść dalej: barrier_init(strength) inicjalizacja, liczba wątków; barrier ustawienie bariery, punkt synchronizacji 25 Elementy programowania specyficzne dla maszyn DM Część wymagań analogiczna do SM czyli: Tworzenie procesów Niszczenie procesów Identyfikowanie się procesów (SPMD) Komunikacja między procesami wysyłanie komunikatów do jednego / wielu odbiór komunikatów od jednego / wielu Komunikacja synchroniczna proces wysyłający jest wstrzymywany dopóki nie będzie gotowy odbierający i na odwrót

Komunikacja asynchroniczna procesy nie są wstrzymywane; buforowanie komunikatów Wysyłanie/obieranie blokujące następna instrukcja w procesie będzie wykonana dopiero po zakończeniu operacji komunikacji Wysyłanie/odbieranie nieblokujące przejście do następnej instrukcji zaraz po zainicjowaniu operacji komunikacji Bariera podobnie jak w systemach SM Brak sekcji krytycznych zamki zbędne Pożądana jest symulacja środowiska pamięci wspólnej na maszynie DM: data parallelism High Performance Fortran, przestrzeń krotek (rekordów z globalnej bazy danych) Linda Zdalne wywoływanie procedur (RPC)