Pobierz prezentację
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 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
SYSTEMY Z SZYNĄ I Z PRZEŁĄCZNIKAMI ___________________________________________________________________________________________
4
SYSTEMY Z SZYNĄ I Z PRZEŁĄCZNIKAMI ___________________________________________________________________________________________ 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
WIELOPROCESORY PRZEŁĄCZANE ___________________________________________________________________________________________ WYBIERAK KRZYŻOWY PRZEŁĄCZNIK POCZWÓRNY SIEĆ TYPU OMEGA
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
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
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
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
PROTOKÓŁ PRZEPISYWANIA (write through) ___________________________________________________________________________________________ zdarzenie działania podejmowane przez pamięć podręczną (PP) na zapotrzebowanie od własnej CPU od odległej CPU chybione czytanie pobranie danych z PO i przechowanie w PP (brak potrzeby działania) trafione czytanie pobranie danych z lokalnej PP chybione pisanie zaktualizowanie danych w PO i przechowanie w PP trafione pisanie zaktualizowanie PO i PP unieważnienie wpisu w PP
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
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
WIELOPROCESOR Z PRZEŁĄCZNIKAMI __________________________________________________________________________________________ Efektywny sposób zwiększenia skalowalności –zwiększenie przepustowości łączy komunikacyjnych. zmiana topologii połączeń: zamiast jednej szyny – dwie szyny lub siatka szyn. 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
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
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
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
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
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
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
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
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
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
PODSUMOWANIE ___________________________________________________________________________________________ Jednostka Wieloprocesory Systemy DSM Szyna Przełą-czanie NUMA Stro-nico-wanie Zm. dziel Obiekty Liniowa, dzielona wirtualna przestrzeń adresowa? T N Możliwe operacje? R/W Ogólne Obudowa danych i metody obiektowe? Zdalny dostęp organizowany sprzętowo?
24
PODSUMOWANIE ___________________________________________________________________________________________ Jednostka Wieloprocesory Systemy DSM Szyna Przełączanie NUMA Strona Zm. dziel Obiekt Możliwość pamięci nie przydzielonej? T N Zamiana zamówienia dostępu do zdalnej pamięci na komunikaty? MMU SO SW Nośnik transmisji? SZ Net Organizacja wędrówki danych? Hard Soft Jednostka transmisji? Blok
25
___________________________________________________________________________________________
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.