Ok-okozati konzisztencia
Az ok- okozati konzisztencia egy olyan konzisztencia modell , amely nem követeli meg minden folyamattól, hogy ugyanazt a rekordsorozatot lássa a memóriában, megkülönböztetve a potenciálisan függő (egy rekord egy másik cella beolvasásának eredményétől függ) és a potenciálisan független (párhuzamos) írási műveletek között . 1] .
A rendszer akkor éri el az oksági konzisztenciát, ha a potenciálisan ok-okozati összefüggésben lévő memóriaműveleteket a rendszer összes csomópontja ugyanabban a sorrendben veszi figyelembe. Az egyidejű írási műveleteket (vagyis azokat, amelyek nincsenek ok-okozati összefüggésben) a különböző csomópontok eltérő sorrendben vehetik figyelembe. Ez a fajta konzisztencia gyengébb, mint a szekvenciális konzisztencia , amely megköveteli, hogy minden csomópont az összes rekordot ugyanabban a sorrendben lássa [2] , de erősebb, mint a PRAM konzisztencia , amelyben csak az egyik csomópont által készített rekordok lennének láthatóak ugyanabban a sorrendben bármely más csomópont által [3] .
Az elosztott osztott memóriarendszerek műveletei (események) közötti ok-okozati összefüggések a következőképpen definiálhatók [4] :
- A csomóponton lévő olvasási és írási sorrend határozza meg a helyi oksági sorrendet.
- Egy írási művelet okozatilag megelőzi egy másik csomóponton végzett olvasási műveletet, ha az olvasás az adott írási művelet által írt értéket adja vissza. Ez egy folyamatok közötti rendelési kapcsolat.
- És végül az oksági sorrendet tranzitívnak tekintjük : vagyis ha A művelet (okságilag) követi B-t, és B - C előtt, akkor A az oksági sorrendben van C előtt. Vagyis a lokális kapcsolatok tranzitív lezárása . és az interprocess orders határozza meg a globális oksági sorrendet.
Előnyök és hátrányok
A garantáltan alacsony késleltetésű műveletek tulajdonságainak megőrzésével az ok-okozati konzisztencia jobb, mint a végső konzisztencia mind a felhasználók, mind a programozók számára. Figyelembe veszi a műveletek közötti ok-okozati összefüggéseket, és biztosítja, hogy minden csomópont a megadott sorrendben látja a műveleteket. Az ok-okozati konzisztencia a programozást is megkönnyíti azáltal, hogy nincs szükség irreleváns műveletek figyelembevételére [5] .
Az ok-okozati összefüggésnek azonban vannak hátrányai is [5] :
- nem minden ok-okozati összefüggés állapítható meg a rendszeren belül,
- nem mindig lehet megkövetelni a globális invariánsok teljesítését ,
- az egyidejű írások megvalósításának logikája nehezen kivitelezhető.
Különösen azt kell megállapítani, hogy elegendő-e a régi adatok egyszerű felülírása, vagy külön mechanizmusok szükségesek az ütköző rekordok feloldásához.
Jegyzetek
- ↑ Odintsov I. O. Professzionális programozás. Rendszerszemléletű. - 2. - Szentpétervár. : BHV-Petersburg, 2004. - S. 520-521.
- ↑ Vijay K. Garg Párhuzamos és elosztott számítástechnika Java nyelven. John Wiley & Sons, 2005. január 28. - Számítógépek - 336 oldal. 60. o
- ↑ Kshemkalyani, Singhal, 2011 , pp. 420-423.
- ↑ Kshemkalyani, Singhal, 2011 , 12.2.3 Oksági konzisztencia.
- ↑ 1 2 Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen. Rövid alapozó az ok-okozati konzisztenciáról ;bejelentkezés: The USENIX Magazine, 38. évf., 4. szám, 2013. augusztus.
Irodalom
- Kryukov V. A. Előadás kurzus "Elosztott operációs rendszerek" 6. Osztott megosztott memória
- Pradeep K. Sinha. Ok- okozati konzisztencia modell // Elosztott operációs rendszerek: fogalmak és tervezés . – PHI Learning Pvt. Ltd., 1998. - S. 239-240. — 761 p. — ISBN 9788120313804 .
- Kshemkalyani, AD és Singhal, M. Elosztott számítástechnika: elvek, algoritmusok és rendszerek. - Cambridge University Press, 2011. - ISBN 9781139470315 .
- M. Ahamad, G. Neiger, J. E. Burns, P. Kohli és P. Hutto. Kauzális emlékezet: Definíciók, megvalósítás és programozás. Elosztott számítástechnika, 9(1), 19
- Bailis, Peter és Ghodsi, Ali és Hellerstein, Joseph M. és Stoica, Ion (2013). Felcsavarható ok-okozati konzisztencia . A 2013. évi ACM SIGMOD nemzetközi adatkezelési konferencia anyaga . SIGMOD '13. New York, New York, USA: ACM. pp. 761-772. DOI : 10.1145/2463676.2465279 . Letöltve: 2013-12-06 .