Rozproszona pamiêæ dzielona - 1



Podobne dokumenty
Schematy zarzadzania pamięcia

Stronicowanie na ¹danie

System operacyjny MACH

Architektura komputerów

Wstęp do programowania 2

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

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

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

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

Działanie systemu operacyjnego

Ograniczenia efektywności systemu pamięci

Architektura komputerów

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

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

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

Systemy rozproszone System rozproszony

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

Zarządzanie pamięcią operacyjną

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

Klient-Serwer Komunikacja przy pomocy gniazd

Działanie systemu operacyjnego

Działanie systemu operacyjnego

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Architektura komputerów

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

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

dr inż. Jarosław Forenc

Architektura komputerów

Bazy danych. Andrzej Łachwa, UJ, /15

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

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Stronicowanie w systemie pamięci wirtualnej

Urządzenia zewnętrzne

ξ II.UWr Wprowadzenie do STM

Działanie systemu operacyjnego

System plików warstwa fizyczna

System plików warstwa fizyczna

Budowa karty sieciowej; Sterowniki kart sieciowych; Specyfikacja interfejsu sterownika sieciowego; Open data link interface (ODI); Packet driver

System plików warstwa fizyczna

Pomoc dla użytkowników systemu asix 6. Strategia buforowa

METODY ELIMINACJI STUDENTÓW INFORMATYKI. Czyli co student INF-EKA powinien wiedzieć o MESI...

Weryfikacja protokołu zgodności cachu COMA

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

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

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

16. Taksonomia Flynn'a.

asix5 Podręcznik użytkownika Strategia buforowa

Budowa systemów komputerowych

8. Konfiguracji translacji adresów (NAT)

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Podstawy techniki cyfrowej Układy wejścia-wyjścia. mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

Struktura systemów komputerowych

Podstawy Informatyki Układ przerwań

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

Technologie informacyjne (2) Zdzisław Szyjewski

Zwielokrotnianie i spójność

3.Przeglądarchitektur

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

System pamięci. Pamięć wirtualna

Magistrale systemowe: Magistrala PCI

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Routing. mgr inż. Krzysztof Szałajko

Budowa komputera Komputer computer computare

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Architektura komputerów

Prezentacja systemu RTLinux

System komputerowy. System komputerowy

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Ograniczenia efektywności systemu pamięci

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Systemy operacyjne III

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Architektura Komputerów

Magistrala systemowa (System Bus)

Systemy wbudowane Mikrokontrolery

Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak

Mikroprocesor Operacje wejścia / wyjścia

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

Oferta na dostarczenie systemu. monitorowania pojazdów z. wykorzystaniem technologii GPS/GPRS. dedykowanego dla zarz¹dzania oraz

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Paweł Skrobanek. C-3, pok

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Algorytmy dla maszyny PRAM

3.Przeglądarchitektur

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

Algorytmy i Struktury Danych

SPIS TREŒCI. (Niniejszy MSRF stosuje siê przy badaniu sprawozdañ finansowych sporz¹dzonych za okresy rozpoczynaj¹ce siê 15 grudnia 2009 r. i póÿniej.

Transkrypt:

Rozproszona pamiêæ dzielona - 1 Wieloprocesor - wiele ma dostêp do wspólnej pamiêci g³ównej Wielokomputer - ka dy ma w³asn¹ pamiêæ g³ówn¹; nie ma wspó³dzielenia pamiêci Aspekt sprzêtowy: Skonstruowanie wieloprocesora jest trudne; - w wieloprocesorze z pojedyncz¹ szyn¹ (ang. bus-based multiprocessor) szyna jest czêsto w¹skim gard³em - w wieloprocesorze z wieloma po³¹czeniami (ang. switched multiprocessor) mo na dodawaæ procesory, ale system jest kosztowny, wolny i z³o ony Du e wielokomputery buduje siê ³atwo Aspekt programowy: Programowanie wieloprocesorów jest proste: dostêp do wspólnej pamiêci, programowe mechanizmy synchronizacji procesów Programowanie wielokomputerów jest trudne: komunikacja poprzez przesy³anie komunikatów; problem gubionych komunikatów, buforowania, zak³adania blokad, etc. Komunikacja w wielokomputerach Przesy³anie komunikatów miêdzy ró nymi przestrzeniami adresowymi DSM (Distributed Shared Memory) (1986, Li & Hudak) Zbiór stacji roboczych po³¹czonych w sieæ lokaln¹ wspó³dzieli jedn¹ stronicowan¹ wirtualn¹ przestrzeñ adresow¹. Odwo³ania do stron lokalnych odbywaj¹ siê sprzêtowo (w tradycyjny sposób), odwo³ania do stron zdalnych powoduj¹ b³¹d braku strony, SO wysy³a komunikat do zdalnej maszyny, która znajduje i przesy³a ¹dan¹ stronê Zalety: ³atwe do zbudowania i programowania Rozproszona pamiêæ dzielona str. 1

Wady: s³aba wydajnoœæ ( zdalne migotanie ) Problem: jak zmniejszyæ ruch stron w sieci? Mo liwe rozwi¹zania: - dzieliæ nie ca³¹ przestrzeñ adresow¹, lecz tylko niektóre zmienne - powielaæ dzielone zmienne na ró nych maszynach - podejœcie obiektowe: dzielone obiekty Sposoby realizacji pamiêci dzielonej Wieloprocesor z pojedyncz¹ szyn¹ Pamiêæ P. podr. P. podr. P. podr. Pamiêæ Szyna 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 Pods³uchuj¹ca pamiêæ podrêczna (ang. snooping cache) Protoko³y zapewniaj¹ce zgodnoœæ danych przechowywanych w pamiêci podrêcznej (ang. cache consistency protocol) Natychmiastowe pisanie (ang. write through) Akcja podjêta przez pamiêæ podrêczn¹ w reakcji na dzia³anie w³asnego : Czytanie - nie ma: pobierz dane z pamiêci i umieœæ w pamiêci podrêcznej - jest: pobierz dane z lokalnej pamiêci podrêcznej Pisanie - nie ma: uaktualnij dane w pamiêci i umieœæ w pamiêci podrêcznej - jest: uaktualnij pamiêæ i pamiêæ podrêczn¹ Rozproszona pamiêæ dzielona str. 2 Szyna

Akcja podjêta przez pamiêæ podrêczn¹ w reakcji na dzia³anie zdalnego : Pisanie - jest: uniewa nij dane w lokalnej pamiêci podrêcznej Wpp: nic nie rób Jednokrotne pisanie (ang. write once) Mo liwy stan bloku pamiêci podrêcznej: Uniewa niony - blok pamiêci podrêcznej nie zawiera aktualnych danych Czysty - pamiêæ zawiera aktualne dane, blok mo e przebywaæ w innych pamiêciach podrêcznych Brudny - pamiêæ nie zawiera aktualnych danych, bloku nie ma w innych pamiêciach podrêcznych Przyk³ad: W 1 Czysty Stan inicjalny S³owo W o wartoœci W 1 jest w pamiêci i w pamiêci podrêcznej maszyny B W 1 W 1 Czysty Czysty A czyta s³owo W i dostaje W 1. B nie reaguje na polecenie czytania, robi to pamiêæ g³ówna W 2 W 1 Brudny Uniewa. A zapisuje W 2. B pods³uchuje szynê, widzi polecenie pisania i uniewa nia swoj¹ kopiê. Kopia A jest oznaczona jako brudna Rozproszona pamiêæ dzielona str. 3

W 3 W 1 Brudny Uniewa. A znowu zapisuje W. Ta i kolejne operacje pisania s¹ wykonywane lokalnie, bez obci¹ ania szyny W 3 W 1 W 3 Uniewa. Uniewa. Brudny Cechy tego protoko³u: C czyta lub zapisuje W. A widzi ¹danie (pods³uchuje szynê), dostarcza wartoœæ i uniewa nia w³asn¹ kopiê. C ma teraz jedyn¹ aktualn¹ kopiê 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 w pierœcieniu Memnet Pojedyncza maszyna MMU Pam. Pam. podr. dom. Pamiêæ prywatna Rozproszona pamiêæ dzielona str. 4

Blok 0 1 2 3 4... Tablica bloków Wa ny Wy³¹czny Domowy Przerwanie Po³o enie Pojedyncza przestrzeñ adresowa sk³ada siê z czêœci prywatnej i dzielonej Czêœæ dzielona jest wspólna dla wszystkich maszyn i rozproszona miêdzy nimi; sk³ada siê z bloków 32-bajtowych (jednostka transmisji). Ka dy taki blok ma swoj¹ maszynê domow¹ (która trzyma dla niego pamiêæ fizyczn¹) Tablica bloków zawiera po jednej pozycji dla ka dego bloku pamiêci dzielonej. Znaczenie bitów (pól): Wa ny - blok jest w pamiêci podrêcznej i jest aktualny Wy³¹czny - lokalna kopia jest jedyn¹ Domowy - komputer jest domowym komputerem tego bloku Przerwanie - u ywany do wymuszania przerwañ Po³o enie - po³o enie bloku w pamiêci podrêcznej (jeœli jest obecny i aktualny) Protokó³: Czytanie: jeœli blok jest dostêpny, to zostaje odczytany; wpp interfejs czeka na eton, wk³ada do pierœcienia pakiet z ¹daniem odczytu (adres + 32 bajtowe pole). Interfejs maszyny, która ma ten blok, wstawi go do tego pakietu (ew. czyszcz¹c bit wy³¹cznoœci) Jeœli ¹daj¹ca maszyna nie ma w pamiêci podrêcznej miejsca na ten blok, to odsy³a do domu losowy cudzy blok Rozproszona pamiêæ dzielona str. 5

Pisanie: Jeœli zapisywany blok jest obecny i jest to jedyna kopia, to zapis jest lokalny. Jeœli jest obecny, ale nie jest to jedyna kopia, to interfejs wysy³a najpierw komunikat z poleceniem uniewa nienia pozosta³ych kopii. Po powrocie tego komunikatu wykonuje lokalny zapis i ustawia bit wy³¹cznoœci. Jeœli bloku nie ma, to zostaje wys³any komunikat z ¹daniem odczytu i uniewa nienia. Pierwsza maszyna posiadaj¹ca blok kopiuje go do pakietu i likwiduje w³asn¹ kopiê. Wszystkie pozosta³e likwiduj¹ swoje kopie. Blok po dotarciu do adresata zostaje zapamiêtany i zapisany Wieloprocesor z wieloma po³¹czeniami Problem skalowalnoœci: rozbudowanie systemu o du ¹ liczbê procesorów wymaga zwiêkszenia przepustowoœci ³¹czy komunikacyjnych Mo liwy sposób: budowa systemu jako hierarchii Pojedyncze grono (ang. cluster) sk³ada siê z kilku i z pamiêci po³¹czonych szyn¹. System sk³ada siê z wielu takich gron po³¹czonych szyn¹ poprzez specjalny interfejs (tzw. supergrono). Supergrona równie mo na ³¹czyæ ze sob¹ szyn¹ (poprzez interfejs) tworz¹c jeszcze wiêksze systemy Przyk³ad: maszyna Dash (Directory Architecture for Shared Memory) zbudowana w Stanford University. Sk³ada siê z 16 gron, ka de grono zawiera 4, 16M pamiêci globalnej (czyli ³¹cznie jest 256M pamiêci globalnej) i urz¹dzenia we-wy. Ka de ma pamiêæ podrêczn¹ i mo e pods³uchiwaæ lokaln¹ szynê (i tylko tê). W specjalnych katalogach (1M pozycji 18-to bitowych, po jednej dla ka dego bloku) przechowuje siê informacje o po³o eniu 16. bajtowych bloków, których w³aœcicielem jest dane grono (mapa bitowa: nr bloku numer grona oraz opis stanu: Niebuforowany, Czysty, Brudny). Dostêp do bloku mo e wymagaæ przes³ania wielu komunikatów Rozproszona pamiêæ dzielona str. 6

Wieloprocesory typu NUMA Sprzêtowe buforowanie w du ych wieloprocesorach jest kosztowne Inne rozwi¹zania: NUMA (NonUniform Memory Access). Maszyna typu NUMA ma pojedyncz¹ wirtualn¹ przestrzeñ adresow¹ widzian¹ przez wszystkie. Dostêp do zdalnej pamiêci jest du o wolniejszy ni dostêp lokalny i nie próbuje siê niwelowaæ tej ró nicy za pomoc¹ sprzêtowego buforowania Pierwsza maszyna typu NUMA: Cm* (Jones, 1977) Ka de grono sk³ada siê z, mikroprogramowalnego MMU, modu³u pamiêci, ew. urz¹dzeñ we-wy po³¹czonych szyn¹. Nie ma pamiêci podrêcznej ani nas³uchiwania szyny. Maszyna sk³ada siê z wielu gron po³¹czonych szyn¹ MMU realizuje ¹danie do lokalnej pamiêci w tradycyjny sposób. ¹danie do zdalnej pamiêci zamienia na pakiet i wysy³a szyn¹ do zdalnego MMU W maszynach typu UMA (Uniform Memory Access) 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: Strony mog¹ mieæ z góry przypisane po³o enie Jeœli odwo³uje siê do strony, która nie jest odwzorowana do jego przestrzeni adresowej, to jest generowany b³¹d braku strony; SO mo e wówczas podj¹æ decyzjê o: - utworzeniu kopii strony lub odwzorowaniu jej do pamiêci zdalnej (strona tylko do czytania) - o przes³aniu strony do procesora zg³aszaj¹cego ¹danie lub odwzorowaniu jej do pamiêci zdalnej (strona do czyt. i pisania) Niezale nie od przyjêtego rozwi¹zania kolejne odwo³ania do tej strony odbywaj¹ siê sprzêtowo Rozproszona pamiêæ dzielona str. 7

Zwykle specjalny proces demon (page scanner) okresowo zbiera statystyki o odwo³aniach lokalnych i zdalnych i ew. modyfikuje wczeœniejsze decyzje. Mo e tak e zamroziæ lokalizacjê strony na jakiœ czas Porównanie systemów pamiêci dzielonej Buforowanie sprzêtowe Buforowanie programowe Zarz¹dzane przez MMU Zarz¹dzane przez SO Zarz¹dzane przez system wspom. jêz. Wieloprocesor z pojedyncz¹ szyn¹ Wieloprocesor z wieloma po³¹czen. Maszyna typu NUMA DSM strony Œciœle Firefly Dash Cm* Ivy Munin powi¹zane Jedn. trans. Blok pamiêci podrêcznej Blok pamiêci podrêcznej Zdalny dostêp sprzêtowo Strona Strona DSM zmienne dzielone Struktura danych DSM obiekty Orca, Linda Obiekt Zdalny dostêp programowo LuŸno powi¹z 1.Wieloprocesor z pojedyncz¹ szyn¹: obs³uga pamiêci dzielonej realizowana ca³kowicie sprzêtowo 2.Wieloprocesor z wieloma po³¹czeniami: sprzêtowe buforowanie, ale programowe struktury danych przechowuj¹ informacje o po³o eniu buforowanych bloków. Zgodnoœæ zachowuje siê dziêki stosowaniu z³o onych algorytmów, zwykle realizowanych prez mikrokod MMU 3.Maszyny typu NUMA: rozwi¹zanie hybrydowe. mo e czytaæ/pisaæ z/do wspólnej wirtualnej przestrzeni adresowej, ale buforowanie (kopiowanie i migracja stron) jest kontrolowane programowo Rozproszona pamiêæ dzielona str. 8

4.DSM - strony: nie mo e bezpoœrednio siêgaæ do pamiêci zdalnej; obs³uga b³êdów braku zdalnej strony odbywa siê programowo (SO) 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 (u³atwia zachowanie zgodnoœci obiektów), wszystko realizowane programowo Podsumowanie 1.Liniowa, dzielona wirtualna przestrzeñ adresowa? 2.Mo liwe operacje 3.Kapsu³kowanie i metody? 4.Czy zdalny dostêp jest mo liwy w sprzêcie? 5.Kto zamienia zdalne ¹dania dostêpu do pamiêci w komunikaty? 6.Œrodek transmisji 7.Kto realizuje migracjê danych? 8.Jednostka transmisji Pojedyncza Wiele NUMA DSM DSM DSM szyna po³¹czeñ strona zm. dziel. obiekt 1 Tak Tak Tak Tak Nie Nie 2 Czyt/Pis Czyt/Pis Czyt/Pis Czyt/Pis Czyt/Pis Ogólne 3 Nie Nie Nie Nie Nie Tak 4 Tak Tak Tak Nie Nie Nie 5 MMU MMU MMU SO System System wspom. j. wspom. j. 6 Szyna Szyna Szyna Sieæ Sieæ Sieæ 7 Sprzêt Sprzêt Oprogr. Oprogr. Oprogr. Oprogr. 8 Blok Blok Strona Strona Zmienna dzielona Obiekt Rozproszona pamiêæ dzielona str. 9