Distribuovaná sdílená paměť - Distributed shared memory
v počítačová věda, distribuovaná sdílená paměť (DSM) je forma architektura paměti kde lze fyzicky oddělené paměti adresovat jako jeden logicky sdílený adresní prostor. Pojem „sdílená“ zde neznamená, že existuje jediná centralizovaná paměť, ale že adresní prostor je „sdílený“ (stejná fyzická adresa na dvou procesory odkazuje na stejné místo v paměti).[1]:201 Distribuovaný globální adresní prostor (DGAS), je podobný termín pro širokou třídu softwarových a hardwarových implementací, v nichž každá uzel a shluk má přístup k sdílená paměť kromě nesdíleného soukromého každého uzlu Paměť.
Systém s distribuovanou pamětí, často nazývaný a více počítačů, se skládá z několika nezávislých uzlů zpracování s lokálními paměťovými moduly, které jsou propojeny obecnou propojovací sítí. Softwarové systémy DSM lze implementovat v operační systém, nebo jako programovací knihovna a lze o nich uvažovat jako o rozšířeních základního virtuální paměť architektura. Při implementaci v operačním systému jsou tyto systémy pro vývojáře transparentní; což znamená, že podkladové distribuovaná paměť je uživatelům zcela skrytý. Naproti tomu softwarové systémy DSM implementované na úrovni knihoven nebo jazyků nejsou transparentní a vývojáři je obvykle musí naprogramovat odlišně. Tyto systémy však nabízejí přenosnější přístup k implementacím systému DSM. Systém distribuované sdílené paměti implementuje sdílená paměť model na fyzicky distribuovaném paměťovém systému.
Metody dosažení DSM
Obvykle existují dva způsoby dosažení distribuované sdílené paměti:
- hardware, jako jsou koherenční obvody mezipaměti a síťová rozhraní
- software
Softwarová implementace DSM
Existují tři způsoby implementace softwarově distribuované sdílené paměti:
- stránkový přístup využívající virtuální paměť systému;
- přístup ke sdíleným proměnným pomocí některých rutin pro přístup ke sdíleným proměnným;
- objektový přístup v ideálním případě přístup ke sdíleným datům prostřednictvím objektově orientované disciplíny.
Předávání zpráv vs. DSM
Předávání zpráv | Distribuovaná sdílená paměť |
---|---|
Proměnné je třeba seřadit | Proměnné jsou sdíleny přímo |
Náklady na komunikaci jsou zřejmé | Náklady na komunikaci jsou neviditelné |
Procesy jsou chráněny soukromým adresním prostorem | Procesy by mohly způsobit chybu změnou dat |
Procesy by se měly provádět současně | Provádění procesů může nastat s nepřekrývajícími se životy |
Softwarové systémy DSM mají také flexibilitu organizovat oblast sdílené paměti různými způsoby. Přístup založený na stránce organizuje sdílenou paměť na stránky pevné velikosti. Naproti tomu objektový přístup organizuje oblast sdílené paměti jako abstraktní prostor pro ukládání sdílených objektů proměnných velikostí. Další běžně používaná implementace používá a n-tice prostor, ve kterém je jednotkou sdílení a n-tice.
Architektura sdílené paměti může zahrnovat oddělení paměti na sdílené části distribuované mezi uzly a hlavní pamětí; nebo distribuce veškeré paměti mezi uzly. A koherenční protokol, vybráno v souladu s a model konzistence, tvrdí soudržnost paměti.
Abstraktní pohled

Výhody
- Škálovatelné dobře s velkým počtem uzlů
- Předávání zpráv je skryté
- Zvládne složité a velké databáze bez replikace nebo odesílání dat do procesů
- Obecně levnější než použití víceprocesorového systému
- Poskytuje velký prostor virtuální paměti
- Programy jsou přenosnější díky běžným programovacím rozhraním
- Štít programátory před odesíláním nebo přijímáním primitiv
Nevýhody
- Obecně pomalejší přístup než nedistribuovaná sdílená paměť
- Musí poskytovat další ochranu před současným přístupem ke sdíleným datům
- Může dojít k výkonu trestu
- Malá programátorská kontrola nad skutečnými generovanými zprávami
- Programátoři musí rozumět modelům konzistence, psát správné programy
- Implementace DSM používají asynchronní předávání zpráv, a proto nemohou být efektivnější než implementace předávání zpráv
Koherence adresářové paměti
Koherence paměti je nezbytná, aby systém, který organizuje DSM, byl schopen sledovat a udržovat stav datových bloků v uzlech napříč pamětí, které systém obsahuje. Adresář je jeden takový mechanismus, který udržuje stav bloků mezipaměti pohybujících se po systému.
Státy
Základní systém DSM bude sledovat alespoň tři stavy mezi uzly pro libovolný daný blok v adresáři.[2] Bude existovat určitý stát, který bude diktovat blok jako neukládaný (U), stát, který bude diktovat blok jako výlučně vlastněný nebo upravený (EM), a stát, který bude diktovat blok jako sdílený (S). Jak bloky přicházejí do organizace adresářů, budou přecházet z U do EM (stav vlastnictví) v počátečním uzlu, poté může stát přejít na S, když ostatní uzly začnou číst blok.
Existují dvě primární metody umožňující systému sledovat, kde jsou bloky ukládány do mezipaměti a za jakých podmínek napříč každým uzlem. Home-centric request-response uses the home to service requests and drive states, While requester-centric allows each node to drive and manage its own requests through the home.

Domácí požadavek a odpověď
V systému zaměřeném na domácnost se systém DSM vyhne nutnosti zvládat závody požadavků a odpovědí mezi uzly tím, že umožní, aby se současně vyskytovala pouze jedna transakce, dokud se domovský uzel nerozhodne, že je transakce dokončena - obvykle, když domov přijal všechny reagující procesory odpověď na žádost. Příkladem toho je Intel QPI režim domácího zdroje.[3]
Výhody
- Datové závody jsou nemožné
- Jednoduché provedení
Nevýhody
- Pomalá, vyrovnávací paměť požadavku a odpovědi, omezená domovským uzlem
Požadavek a odpověď zaměřená na žadatele
V systému zaměřeném na žadatele umožní systém DSM uzlům navzájem si domluvit libovolnou komunikaci. To znamená, že několik uzlů se může pokusit zahájit transakci, ale to vyžaduje další úvahy, aby byla zajištěna soudržnost. Například: když jeden uzel zpracovává blok, pokud obdrží požadavek na tento blok z jiného uzlu, pošle NAck (Negativní potvrzení), aby iniciátorovi sdělil, že zpracovatelský uzel nemůže tento požadavek hned splnit. Příkladem toho je režim Intel QPI snoop-source.[3]
Výhody
- Rychle
Nevýhody
- Přirozeně nebrání závodním podmínkám
- Generuje větší provoz autobusů
Modely konzistence
Systém DSM musí dodržovat určitá pravidla, aby udržoval konzistenci ohledně toho, jak je pořadí čtení a zápisu zobrazeno mezi uzly, které se nazývají systémové model konzistence.
Předpokládejme, že máme n procesy a Mi paměťové operace pro každý proces i, a že všechny operace jsou prováděny postupně. Můžeme dojít k závěru, že (M1 + M2 + … + Mn)!/(M1! M2!… Mn!) jsou možné prokládání operací. Problémem tohoto závěru je určení správnosti prokládaných operací. Koherence paměti pro DSM definuje, které prokládání jsou povoleny.

Replikace
Existují dva typy replikačních algoritmů. Čtení replikace a zápis replikace.V režimu Čtení replikace může číst více uzlů současně, ale pouze jeden uzel může číst.V zápisu replikace může číst a zapisovat současně více uzlů. Žádosti o zápis jsou zpracovány sekvencerem. Replikace sdílených dat má obecně tendenci:
- Snižte síťový provoz
- Podporovat větší paralelismus
- Výsledkem je méně chyb na stránce
Zachování soudržnosti a konzistence však může být náročnější.
Uvolnění a konzistence vstupu
- Konzistence vydání: když proces opustí kritickou sekci, nové hodnoty proměnných se rozšíří na všechny weby.
- Konzistence vstupu: když proces vstoupí do kritické sekce, automaticky aktualizuje hodnoty sdílených proměnných.
Příklady
Viz také
Reference
- ^ Patterson, David A.; Hennessy, John L. (2006). Počítačová architektura: kvantitativní přístup (4. vydání). Burlington, Massachusetts: Morgan Kaufmann. ISBN 978-01-2370490-0.
- ^ Solihin, Yan (2015). Základy paralelní vícejádrové architektury. Boca Raton, Florida: Chapman and Hall / CRC. 339–340. ISBN 9781482211184.
- ^ A b Sorin, Daniel J .; Hill, Mark D .; Wood, David A. (2011). Základ pro konzistenci paměti a soudržnost mezipaměti. Morgan & Claypool. p. 174. ISBN 978-16-0845564-5.
externí odkazy
- Distribuovaná sdílená mezipaměť
- Soudržnost paměti ve sdílených systémech virtuální paměti Kai Li, Paul Hudak publikoval v ACM Transactions on Computer Systems, svazek 7, vydání 4, listopad 1989