SYSTEMY ROZPROSZONE Pamięć.

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Sieci komputerowe Protokół TCP/IP.
Mechanizmy pracy równoległej
Sieci VLAN.
Systemy Rozproszone Wprowadzenie.
SYSTEMY OPERACYJNE WSTĘP
Systemy rozproszone W. Bartkiewicz
SYSTEMY ROZPROSZONE System plików.
WPROWADZENIE DO SIECI I INTERSIECI
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.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Systemy operacyjne.
Magistrala & mostki PN/PD
Systemy operacyjne Bibliografia:
Domeny kolizyjne i rozgłoszeniowe
Proxy WWW cache Prowadzący: mgr Marek Kopel
Czym jest ISA 2004 Microsoft Internet Security and Acceleration Server 2004 jest zaawansowaną zapora filtrującą ruch w warstwie aplikacji. Razem z zaporą.
Temat nr 10: System przerwań
Rozproszone bazy danych
ZARZĄDZANIE PROCESAMI
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Komputery macierzowe.
Twoje narzędzie do pracy grupowej
Architektura komputerów
Protokół Komunikacyjny
Instytut Tele- i Radiotechniczny WARSZAWA
Systemy operacyjne.
RODZAJE TRANSMISJI PRZESYŁANIE INFORMACJI W MODELU WARSTWOWYM
Zasada działania komputera
Jaka jest wydajność najszybszego superkomputera na świecie? Gflopów procesorów Intel EM64T Xeon X56xx 2930 MHz (11.72 GFlops) GB.
Budowa systemu komputerowego
Wymiana informacji w sieciach komputerowych
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wiadomości wstępne o sieciach komputerowych
Topologie sieci lokalnych.
Model OSI Model OSI (Open Systems Interconnection Reference Model) został wprowadzony w celu ujednolicenia regół komunikacji sieciowej. Obejmuje on cały.
Sieciowe Systemy Operacyjne
Mikroprocesory.
Przerwanie ang. interrupt.
Pamięć komputerowa S t r u k t u r a p a m i ę c i.
M i k r o j ą d r o D e f i n i c j a. M i k r o j ą d r o to rodzaj jądra systemu operacyjnego, które zawiera tylko najbardziej niezbędne elementy, takie.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
Wybrane zagadnienia relacyjnych baz danych
Sieci komputerowe Anna Wysocka.
Sieci komputerowe.
W ą t e k (lekki proces) thread.
Sieci komputerowe.
Urządzenia 1 mld smartfonów do 2016 r., 350 mln z nich jest używanych w pracy Ludzie 82 % populacji online korzysta z sieci społecznościowych Chmura.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Sieci komputerowe E-learning
Temat 7: Topologie sieciowe (logiczna i fizyczna)
Procesor, pamięć, przerwania, WE/WY, …
Systemy operacyjne i sieci komputerowe
Model OSI.
Pamięć RAM Pamięć RAM.
Architektury procesorów rdzeniowych mikrokontrolerów.
Struktura systemu operacyjnego
Podział sieci komputerowych
Model warstwowy ISO-OSI
SIECI KOMPUTEROWE JAN STOSIO KLASA 1 E Sieć komputerowa – zbiór komputerów i innych urządzeń połączonych ze sobą kanałami komunikacyjnymi. Sieć komputerowa.
Tryby adresowania i formaty rozkazów mikroprocesora
Wstęp do programowania Wykład 7
TOPOLOGIE SIECI. Topologia sieci- określa sposób połączenia urządzeń sieciowych ze sobą. Najbardziej znane topologie:  Topologia magistrali  Topologia.
Topologie fizyczne i logiczne sieci
TOPOLOGIE SIECI KOMPUTEROWEJ Filip Duda II DT. TOPOLOGIA SIECI Topologia fizyczna - opisuje sposoby fizycznej realizacji sieci komputerowej, jej układu.
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

SYSTEMY ROZPROSZONE Pamięć

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ą.

SYSTEMY Z SZYNĄ I Z PRZEŁĄCZNIKAMI ___________________________________________________________________________________________

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.

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

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).

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.

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ą.

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).

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

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.

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.

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;

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.  

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.

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.

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.

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.

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.

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.

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.

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.

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?

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

___________________________________________________________________________________________