Distribuovaná sdílená paměť Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.

Slides:



Advertisements
Podobné prezentace
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Advertisements

Úvod do počítačových sítí Úvod. Úvod do počítačových sítí •Úvod, síťové protokoly, architektury,standardy •Fyzická úroveň •Linková úroveň •Lokální počítačové.
Programování v asembleru - multiprocesory Jakub Yaghob.
Programování v asembleru - multiprocesory Jakub Yaghob.
Manuál pro začátečníky
Přednáška č. 5 Proces návrhu databáze
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Úvod Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
Databázové systémy Mgr. Lenka Švancarová. Úvod Doposud jsme uvažovali jen o modelu databázového systému, kde jsou veškerá data a systém řízení báze dat.
VLAN Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Modely konzistentnosti Ladislav Kotal PDS 2008Ladislav Kotal2 Konzistentnost Konzistentní = soudržný, neporušený, pevný Konzistenční model = dohoda.
Paměťové obvody a vývoj mikroprocesoru
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
Migrace kódu a procesů Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Informatika pro ekonomy II přednáška 10
Celní služby 2000 Radek Sedláček TranSoft a.s Radek Sedláček TranSoft a.s
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
Asynchronous Transfer Mode Projektování distribuovaných systémů Lekce 1 Ing. Jiří ledvina, CSc.
Synchronizace Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Vzdálené počítačové sítě a programování v prostředí Windows – kombinované studium Osnovy předmětu a koncepce výuky Ing. Zdeněk Votruba LVALVA.
Distribuované systémy cvičení 3
Základy informatiky část 6
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
1 Paměťový subsystém „640 kB ought to be enough for anybody.“ Bill Gates, 1981.
Výrok „Vypadá to, že jsme narazili na hranici toho, čeho je možné dosáhnout s počítačovými technologiemi. Člověk by si ale měl dávat pozor na takováto.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Téma 6 – Správa paměti a její virtualizace
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
Protokoly úrovně 3 nad ATM Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
OPERAČNÍ SYSTÉMY.
Transportní úroveň Úvod do počítačových sítí Lekce 10 Ing. Jiří Ledvina, CSc.
Směrování -RIP. 2 Základy směrování  Předpoklady:  Mějme směrovač X  Směrovač nemůže znát topologii celé sítě  X potřebuje určit směrovač pro přístup.
Katedra počítačů ČVUT FEL
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
Linková úroveň Úvod do počítačových sítí. 2 Problémy při návrhu linkové úrovně Služby poskytované síťové úrovni Zpracování rámců Kontrola chyb Řízení.
Internet Key Exchange Projektování distribuovaných systémů Ing. Jiří ledvina, CSc.
Velké databáze High Performance Databases Miroslav Křipač Vývojový tým IS MU Služby počítačových sítí,
Informatika (1) Počítač - základní pojmy HW a SW4 OS MS-DOS, Windows 95, 982 Org. souborů na disku, operační paměť2 Aplikace Malování, Word8 Základy programování.
Distribuované souborové systémy (DFS)
Vrstvy ISO/OSI  Dvě skupiny vrstev  orientované na přenos  fyzická vrstva  linková vrstva  síťová  orientované na aplikace  relační vrstva  prezentační.
Paralelizace algoritmu. Single Instruction, Single Data stream (SISD) „tupé“ procesory Single Instruction, Multiple Data streams (SIMD) maticové procesory.
Překladače Optimalizace © Milan Keršláger
Unix a Internet 9. Samba © Milan Keršlágerhttp:// Obsah: ●
Překladače Operační paměť © Milan Keršláger
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Vypracoval / Roman Málek
Zvídavé otázky 1. Prevence a detekce uváznutí
Distribuovaný operační systém pro mikroprocesory
DIGITÁLNÍ UČEBNÍ MATERIÁL
1. ročník oboru Mechanik opravář motorových vozidel
Virtuální privátní sítě
Multiprotocol Label Switching (MPLS)
Operační systémy 9. Spolupráce mezi procesy
Distribuovaná sdílená paměť
Informatika pro ekonomy přednáška 8
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
ŘÍZENÍ PROCESU POČÍTAČEM
TELNET, FTP.
Přednášky z distribuovaných systémů
Distribuovaný systém souborů
Přednášky z distribuovaných systémů
Přednášky z Distribuovaných systémů
Úvod do počítačových sítí - Linková úroveň
Monitor Object 1.
Transkript prezentace:

Distribuovaná sdílená paměť Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.

Úvod Sdílená paměť multiprocesorového systému Jednoduchá implementace paralelního zpracování Snaha o přenesení do multipočítačového prostředí Distribuovaná sdílená paměť Systémy distribuované sdílené paměti Založené na stránkách Založené na sdílených proměnných Distribuovaná sdílená paměť Soubor počítačů sdílí jeden virtuální adresní prostor

Úvod Implementace Odkazy na lokální stránky jsou realizovány hardwarem Odkazy na vzdálené stránky způsobí výpadek stránky a stránka se natáhne ze vzdáleného systému Optimalizace Sdílení pouze vybraných částí paměti Replikace sdílených proměnných na více počítačů Sdílená paměť v multiprocesorech Vícebranná paměť Sběrnicové multiprocesory Multiprocesory s kruhovou organizací Přepínané multiprocesory NUMA – Non-Uniform memory Access

Porovnání systémů sdílené paměti Řízené MMU Sběrnicové multiprocesory (Sequent) Přepínané multiprocesory Řízené OS NUMA architektura DSM založené na výměně stránek (Ivy) Řízené aplikacemi (úroveň programovacích jazyků) DSM se sdílenými proměnnými (Munin) Objektově orientované DSM (Orca)

Sběrnicové multiprocesory Protokol pro udržení konzistentnosti cache Write-through cache protocol Write through Zneplatnění dat „špinavá data“ CPU cache CPU cache CPU cache CPU cache

Multiprocesory založené na kruhové topologii Bez centralizované globální paměti Paměťové bloky ve sdílené paměti mají home memory field Čtení: čekání na token odeslání požadavku počítač který má požadovaný blok jej pošle v tokenu, mazání bitu exclusive Zápis: lokální blok – pouze kopie, lokální zápis blok je lokální – ne pouze kopie, poslání paketu zneplatnění, nastavení pole exclusive blok není lokální: odeslání požadavku nebo zneplatnění

Přepínané multiprocesory CCM D CCM D CCM D CCM D

Non-uniform Memory Access (NUMA) NUMA Procesor může přímo pracovat s lokálními i vzdálenými paměťovými místy Bez podpory programového vybavení Pracovní stanice na síti Mohou pracovat pouze s lokální pamětí Cíl distribuované sdílené paměti Přidat software aby umožnil pracovat s multiprocesorovým kódem Zjednodušit programování

Základní návrh Emulace cache multiprocesoru s použitím MMU a systémového software

Podmínky návrhu Replikace Replikovat read/only části Replikovat Read/write části Granularita (zrnitost) Omezení: části paměti jsou násobkem stránek Klady velkých částí Snižují režii protokolu Locality of reference Zápory velkých částí Falešné sdílení

Sekvenční konzistentnost Pouze jedna kopie každé stránky Konzistentnost je zaručena (triviální) Replikované stránky Read/only – v pořádku Read/write Operace čtení – instalace lokální kopie, nastavena na R/O Operace zápisu – oprava nebo zneplatnění ostatních kopií Typický protokol R(readable), W(writable and readable) stránky Každá stránka má vlastníka: proces, který zapisoval do stránky naposledy

Protokol pro sekvenční konzistentnost - čtení

Protokol pro sekvenční konzistentnost - zápis

Hledání vlastníka Poslání požadavku na vlastníka pomocí broadcastu Kombinace požadavku s požadovanou operací Problém: broadcast osloví všechny účastníky (přeruší všechny procesy), využívá šířku pásma sítě Manager stránek Možné úzké místo Více managerů stránek, hashování adres stránek Pravděpodobný vlastník Každý proces si pamatuje pravděpodobného vlastníka Periodicky obnovují informaci o stávajících vlastnících

Hledání kopií Jak najít kopie pokud musí být zneplatněny Požadavek ve formě broadcastu Co když není broadcast spolehlivý Copyset (soubor kopií) Je udržován managerem stránek nebo vlastníkem

Prostředky synchronizace Synchronizace Zámky Semafory Bariery Tradiční synchronizační mechanizmy pro multiprocesory nefungují Managery synchronizace

Sdílené proměnné v distribuované sdílené paměti Není nutné sdílet celý adresní prostor Sdílení jednotlivých proměnných Větší vůle v algoritmech pro opravování replikovaných proměnných Příležitost eliminovat falešné sdílení Příklad: Munin

Munin Používá MMU: umístění každého sdíleného objektu ve zvláštní stránce Explicitní dekladŕace sdílených proměnných Klíčové slovo shared Překladač ukládá proměnné do zvláštních stránek Synchronizace: Uzamykání proměnných Bariéry Podmíněné proměnné Uvolňovací konzistentnost

Munin

Kritické sekce Zápis do sdílené proměnné se objeví uvnitř kritické sekce Čtení se může objevit kdekoliv Pokud je opuštěna kritická sekce, modifikované proměnné jsou opraveny ve všech počítačích Rozeznává tři třídy proměnných Obyčejné proměnné – nejsou sdíleny, mohou být modifikovány pouze procesem, který je vytvořil Sdílené proměnné – jsou viditelná ve více procesech, zůstávají sekvenčně konzistentní Synchronizační proměnné Jsou dostupné pouze systémovými procedurami Pro zámky jsou to lock/unlock, pro bariéry increment/wait

Munin – sdílené proměnné Read-only Nejsou měněny po inicializaci, nejsou s nimi žádné problémy Chráněny MMU Migratory (potulné) Nejsou replikovány: migrují od počítače k počítači podle vstupů do kritických sekcí Spojeny se zámkem Write-shared (sdílené pro zápis) Chráněny před vícenásobným zápisem programů Používají protocol pro řešení vícenásobného zápisu do jedné proměnné Conventional (obecné) Chovají se jako v konvenčním page-based DSM: pouze jedna kopie přepisovatelné stránky, přenášeny mezi procesory

Munin – dvojice stránek Na počátku je stránka sdílená pro zápis označena jako read-only Objeví-li se zápis, je vytvořena kopie stránky a original je určen pro čtení a zápis uvolnění: porovnání upravených stránek se svými dvojčaty slovo po slovu poslání odlišností do všech procesů, které to potřebují nastavení stránky na read-only porovnání příchozích stránek pro modifikovaná slova je-li modifikováno lokální i příchozí slovo, signalizuje se chyba za běhu