Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 SYSTEMY ROZPROSZONE Pamięć. 2 WIELOPROCESORY I WIELOKOMPUTERY Systemy złożone z niezależnych komputerów: 1. Wieloprocesory (multiprocessors) - komputery.

Podobne prezentacje


Prezentacja na temat: "1 SYSTEMY ROZPROSZONE Pamięć. 2 WIELOPROCESORY I WIELOKOMPUTERY Systemy złożone z niezależnych komputerów: 1. Wieloprocesory (multiprocessors) - komputery."— Zapis prezentacji:

1 1 SYSTEMY ROZPROSZONE Pamięć

2 2 WIELOPROCESORY I WIELOKOMPUTERY Systemy złożone z niezależnych komputerów: 1. Wieloprocesory (multiprocessors) - komputery mają wspólną pamięć; w wieloprocesorze istnieje pojedyncza fizyczna przestrzeń adresowa, współdzielona przez wszystkie procesory. 2. Wielokomputery (multicomputers) - komputery nie mają wspólnej pamięci; każdy komputer ma własną prywatną pamięć fizyczną.

3 3 ___________________________________________________________________________________________ SYSTEMY Z SZYNĄ I Z PRZEŁĄCZNIKAMI ___________________________________________________________________________________________

4 4 Dwie kategorie systemów: z pojedynczą szyną (bus-based) - istnieje pojedyncza szyna lub inne medium transmisyjne, które łączy wszystkie komputery; z przełącznikami (switched) - nie ma pojedynczej sieci szkieletowej, komputery są połączone między sobą różnymi kablami.

5 5 ___________________________________________________________________________________________ WIELOPROCESORY PRZEŁĄCZANE ___________________________________________________________________________________________ WYBIERAK KRZYŻOWY PRZEŁĄCZNIK POCZWÓRNY SIEĆ TYPU OMEGA

6 6 ___________________________________________________________________________________________ SYSTEMY HIERARCHICZNE ___________________________________________________________________________________________ NUMA (Non-uniform memory access). - krótszy średni czas dostępu niż systemy z sieciami typu omega, zależny od właściwego rozmieszczenia kodu i danych programów w pamięciach lokalnych. Tradycyjne terminy: wieloprocesory - UMA (Uniform Memory Access), wielokomputery - NORMA (No Remote Memory Access).

7 7 ___________________________________________________________________________________________ WIELOPROCESORY I WIELOKOMPUTERY ___________________________________________________________________________________________ Wieloprocesory: system z pojedynczą szyną - szyna = wąskie gardło, system z przełącznikami - można dodawać procesory, ale system złożony, wolny i kosztowny, programowanie łatwe: dostęp do wspólnej pamięci, programowe mechanizmy synchronizacji procesów. Wielokomputery: łatwość budowy systemu, rozwiązanie jest skalowalne, programowanie trudne: komunikacja poprzez przesyłanie komunikatów, problem gubionych komunikatów, buforowania, zakładania blokad.

8 8 ___________________________________________________________________________________________ PAMIĘĆ DZIELONA W WIELOPROCESORACH ___________________________________________________________________________________________ Wieloprocesor z pojedynczą szyną: Dostęp do pamięci poprzez szynę. Rozstrzyganie konfliktów w dostępie do szyny. Szyna potencjalnym wąskim gardłem (kłopoty ze skalowalnością) - do 64 CPU, zwykle raczej 4-8. Podglądająca pamięć podręczna (snooping cache) - rozmiary pamięci podręcznych od 512 KB do 1 MB dają współczynnik trafień ~ 90%. Wszystkie żądania pamięci przechodzą przez pamięć podręczną.

9 9 ___________________________________________________________________________________________ PAMIĘĆ DZIELONA W WIELOPROCESORACH ___________________________________________________________________________________________ Protokoły spójności pamięci podręcznej (cache consistency protocols) – protokoły zapewniające zgodność danych przechowywanych w pamięci podręcznej: protokół przepisywania (write through), protokół jednokrotnego zapisu (write once).

10 10 ___________________________________________________________________________________________ PROTOKÓŁ PRZEPISYWANIA (write through) ___________________________________________________________________________________________ zdarzenie działania podejmowane przez pamięć podręczną (PP) na zapotrzebowanie od własnej CPUod odległej CPU chybione czytanie pobranie danych z PO i przechowanie w PP (brak potrzeby działania ) trafione czytanie pobranie danych z lokalnej PP(brak potrzeby działania ) chybione pisanie zaktualizowanie danych w PO i przechowanie w PP (brak potrzeby działania ) trafione pisanie zaktualizowanie PO i PPunieważnienie wpisu w PP

11 11 ___________________________________________________________________________________________ JEDNOKROTNY ZAPIS (write once) ___________________________________________________________________________________________ Stany bloku pamięci podręcznej: Unieważniony – blok pamięci podręcznej nie zawiera aktualnych danych, Czysty – pamięć zawiera aktualne dane, blok może być w innych pamięciach podręcznych, Brudny – pamięć nie zawiera aktualnych danych, bloku nie ma w innych pamięciach podręcznych.

12 12 ___________________________________________________________________________________________ JEDNOKROTNY ZAPIS (write once) ___________________________________________________________________________________________ Cechy protokołu: Zgodność uzyskuje się dzięki temu, że wszystkie pamięci podręczne podsłuchują co transmituje szyna. Protokół jest wbudowany w jednostkę zarządzającą pamięcią. Cały algorytm wykonuje się w czasie krótszym od cyklu pamięci.

13 13 __________________________________________________________________________________________ WIELOPROCESOR Z PRZEŁĄCZNIKAMI __________________________________________________________________________________________ Efektywny sposób zwiększenia skalowalności – zwiększenie przepustowości łączy komunikacyjnych. 1.zmiana topologii połączeń: zamiast jednej szyny – dwie szyny lub siatka szyn. 2.architektura hierarchiczna: klaster – kilka CPU i pamięci, połączone szyną; system złożony z wielu klastrów, połączonych ze sobą za pomocą specjalnej szyny; rozbudowane połączenia międzyklastrowe;

14 14 ___________________________________________________________________________________________ DASH ( Directory Architecture for Shared Memory ) ___________________________________________________________________________________________ Przykład: DASH – Stanford University 1990, 16 klastrów: każdy zawiera szynę, 4 CPU, 16 MB pamięci głównej i urządzenia we – wy; każde CPU może podsłuchiwać lokalną szynę; przestrzeń adresowa – 256 MB (16 obszarów po 16 MB każdy); bloki pamięci przesyłane między klastrami i przechowywane w pamięciach podręcznych; każdy klaster 1M bloków pamięci w swojej przestrzeni adresowej.

15 15 ___________________________________________________________________________________________ WIELOPROCESOR typu NUMA ___________________________________________________________________________________________ pojedyncza wirtualna przestrzeń adresowa widoczna przez wszystkie procesory, wartość zapisana do komórki przez dowolny procesor jest natychmiast widoczna dla wszystkich pozostałych procesorów, kolejna operacja odczytu na pewno dostarczy tę wartość, dostęp do pamięci odległej dużo wolniejszy niż do lokalnej (1:10), czas dostępu do pamięci odległej nie ukrywany za pomocą pamięci podręcznej.

16 16 _______________________________________________________________________________________ SYSTEMY UMA a NUMA _______________________________________________________________________________________ W maszynach typu UMA lokalizacja strony nie ma kluczowego znaczenia (bo dzięki buforowaniu strona i tak zostanie przeniesiona tam, gdzie jest potrzebna). W maszynach typu NUMA lokalizacja ma decydujące znaczenie dla wydajności systemu.

17 17 ___________________________________________________________________________________________ PAMIĘĆ DZIELONA W WIELOKOMPUTERACH ___________________________________________________________________________________________ Rozproszona pamięć dzielona (distributed shared memory, DSM) – abstrakcja używana do określenia wspólnego użytkowania danych przez procesy, które nie dzielą pamięci fizycznej. Główny cel DSM: zapewnienie programiście wygodnego dostępu do współdzielonych danych, bez konieczności korzystania z mechanizmu przekazywania komunikatów.

18 18 ___________________________________________________________________________________________ ROZPROSZONA PAMIĘĆ DZIELONA DSM ___________________________________________________________________________________________ Przekazywanie komunikatów – model programowania: Przekazywanie komunikatów umożliwia synchronizację dostępu do wspólnych danych oraz uwzględnienie różnic w ich reprezentacji. W przypadku DSM do synchronizacji trzeba zastosować odrębne mechanizmy (np. semafory). Używanie pamięci DSM wymaga więc zorganizowania usług rozproszonej synchronizacji. Pamięć DSM może być trwała, więc komunikujące się procesy mogą nie istnieć w tym samym czasie. Procesy przekazujące sobie komunikaty muszą działać w tym samym czasie.

19 19 ___________________________________________________________________________________________ ROZPROSZONA PAMIĘĆ DZIELONA DSM ___________________________________________________________________________________________ Podstawowe podejścia do realizacji pamięci DSM: Wsparcie przez stronicowanie – pamięć DSM realizowana jako obszar pamięci wirtualnej, zajmujący ten sam przedział adresów w przestrzeni adresowej każdego z uczestniczących procesów. Spójność danych jest utrzymywana przez jądro jako część procedury obsługi błędów strony. Wsparcie biblioteczne – DSM w postaci współdzielo- nych obiektów, których obsługą zajmują się systemy wykonawcze (runtime system). Procesy korzystają z obiektów za pomocą wywołań bibliotecznych; Procedury biblioteczne korzystają z lokalnych obiektów, komunikując się ze zdalnymi systemami w niezbędnych przypadkach utrzymania spójności.

20 20 ___________________________________________________________________________________________ ROZPROSZONA PAMIĘĆ DZIELONA DSM ___________________________________________________________________________________________ Struktura danych przechowywanych w pamięci DSM: Obraz bajtowy – pamięć jest sekwencją bajtów; aplikacje mogą umieszczać w pamięci dzielonej dowolne pożądane struktury danych; dostęp do pamięci bajtowej odbywa się tak jak w zwykłej pamięci wirtualnej. Obiekty dzielone – pamięć jest zbiorem dzielonych obiektów; zaleta: synchronizacja związana ściśle z operacjami na obiektach. Dane stałe – pamięć jest traktowana jako zbiór stałych obiektów danych; procesy nie mogą zmieniać obiektów, mogą je zastępować innymi.

21 21 ___________________________________________________________________________________________ PORÓWNANIE SYSTEMÓW PAMIĘCI DZIELONEJ ___________________________________________________________________________________________ A. Pamięć podręczna nadzorowana sprzętowo: 1. zarządzane przez MMU: a) wieloprocesory jednoszynowe, b) wieloprocesory przełączane; B. Pamięć podręczna nadzorowana programowo: 1. zarządzane przez SO: a) maszyny NUMA, b) stronicowany system DMS, 2. zarządzane przez językowy system wsparcia: a) system DMS ze zmiennymi dzielonymi, b) obiektowy system DSM.

22 22 ___________________________________________________________________________________________ PORÓWNANIE SYSTEMÓW PAMIĘCI DZIELONEJ ___________________________________________________________________________________________ 1. Wieloprocesor z pojedynczą szyną: obsługa pamięci dzielonej realizowana całkowicie sprzętowo. 2. Wieloprocesor z przełącznikami: sprzętowe buforowanie, ale programowe struktury danych (informacje o położeniu buforowanych bloków). 3. Maszyny typu NUMA (rozwiązanie hybrydowe): CPU czyta/pisze z/do wspólnej wirtualnej przestrzeni adresowej, buforowanie kontrolowane programowo. 4. DSM - strony: CPU nie może bezpośrednio sięgać do pamięci zdalnej; programowa (SO) obsługa błędów. 5. DSM - zmienne dzielone: nie ma pojedynczej pamięci wspólnej, informacje o dzielonych strukturach danych dostarcza użytkownik. 6. DSM - obiekty: zdalny dostęp tylko poprzez chronione metody, wszystko realizowane programowo.

23 23 ___________________________________________________________________________________________ PODSUMOWANIE ___________________________________________________________________________________________ Jednostka Wieloprocesory Systemy DSM Szyna Przełą- czanie NUMA Stro- nico- wanie Zm. dziel Obiekty Liniowa, dzielona wirtualna przestrzeń adresowa? T TTTNN Możliwe operacje?R/W Ogólne Obudowa danych i metody obiektowe? NNNNNT Zdalny dostęp organizowany sprzętowo? TTTNNN

24 24 ___________________________________________________________________________________________ PODSUMOWANIE ___________________________________________________________________________________________ Jednostka Wieloprocesory Systemy DSM Szyna Przełą czanie NUMA Stro na Zm. dziel Obiekt Możliwość pamięci nie przydzielonej? T TTNNN Zamiana zamówienia dostępu do zdalnej pamięci na komunikaty? MMU MMU MMU SO SW SW Nośnik transmisji? SZ Net Organizacja wędrówki danych? Hard Soft Jednostka transmisji? Blok Stro na Zm. dziel Obiekt

25 25 ___________________________________________________________________________________________


Pobierz ppt "1 SYSTEMY ROZPROSZONE Pamięć. 2 WIELOPROCESORY I WIELOKOMPUTERY Systemy złożone z niezależnych komputerów: 1. Wieloprocesory (multiprocessors) - komputery."

Podobne prezentacje


Reklamy Google