Doplňující referát k přednášce Transakce Šárka Hlušičková

Slides:



Advertisements
Podobné prezentace
LOGISTICKÉ SYSTÉMY 14/15.
Advertisements

Nauka o podniku Seminář 7..
J. Pokorný 1 DOTAZOVACÍ JAZYKY slajdy přednášce DBI006 J. Pokorný MFF UK
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Řízení poptávky a nabídky
DB1 – 9. cvičení Optimalizace dotazu Konkurenční přístup a deadlock Indexace Transakce.
Databázové systémy Přednáška č. 2 Proces návrhu databáze.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Systémy hromadné obsluhy
Síťová analýza RNDr. Jiří Dvořák, CSc.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
Přínosy a druhy počítačových sítí. Jednou z nejvýznamnějších technologií používaných v oblasti výpočetních systémů jsou již řadu let počítačové sítě.
ADT Strom.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Definování prostředí pro provozování aplikace dosud jsme řešili projekt v obecné rovině aplikace bude ovšem provozována v konkrétním technickém a programovém.
Vzdělávací materiál / DUMVY_32_INOVACE_02B2 Správa procesů AutorIng. Petr Haman Období vytvořeníProsinec 2012 Ročník / věková kategorie2. ročník Vyučovací.
Seminář – Základy programování
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
GYMNÁZIUM, VLAŠIM, TYLOVA 271
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.
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 Architektury DBS.
Databázové systémy Tomáš Skopal
Fakulta životního prostředí Katedra informatiky a geoinformatiky
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Transakční zpracování v SQL P. Částek. Transakce Transakce = logická jednotka práce Podaří-li se všechny části transakce, potvrdíme je. COMMIT Jestliže.
Transakce Roman Špánek TU v Liberci Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability.
LOGISTICKÉ SYSTÉMY /14.
Inženýrská geodézie 2009 Ing. Rudolf Urban
Volba mezi současnou a budoucí spotřebou
PA152Notes 101 CS 245: Database System Principles Notes 10: More TP Hector Garcia-Molina Pavel Rychlý.
Zablokování (deadlock, smrtelné objetí, uváznutí)
VY_32_INOVACE_8_10_Počítačové sítě
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
13AMP 4. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Problém sdílených zdrojů Problém sdílených zdrojů Co je to kritická sekce Co.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Teorie portfolia Kvantifikace množiny efektivních portfolií.
Vnitřní (operační paměť)
Distribuovaný deadlock - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Kendalova klasifikace SHO
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
PB 169 Počítačové sítě a operační systémy1 Synchronizace procesů Uváznutí PB 169 Počítačové sítě a operační systémy.
Personální plán pro podnikatelský plán
SVAZEK NEDEDIKOVANÝCH PRACOVNÍCH STANIC NA BÁZI OS LINUX DANIEL LANGR DIPLOMOVÁ PRÁCE 2004.
Informační bezpečnost VY_32_INOVACE _BEZP_16. SYMETRICKÉ ŠIFRY  Používající stejný šifrovací klíč jak pro zašifrování, tak pro dešifrování.  Výhoda.
Teorie portfolia Markowitzův model.
Operační systémy LS 2014/ přednáška 20. dubna 2015.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Optimistic and pessimistic offline lock. Naivní přístup:  Uživatel A načte data  Uživatel B načte (stejná) data  Uživatel A upraví data a uloží je.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Operační systémy 10. Souběh a uváznutí
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Téma 6 – Uváznutí Obsah Problém uváznutí a časově závislých chyb
VY_32_INOVACE_8_10_Počítačové sítě
Středový a obvodový úhel
Výpočetní technika Akademický rok 2008/2009 Letní semestr
1. ročník oboru Mechanik opravář motorových vozidel
Programování v jazyce C++
PROLOG strategie vyhodnocení dotazu
Správa paměti.
1. ročník oboru Mechanik opravář motorových vozidel
Zablokování Současně běží více procesů požadujících přidělení určitých prostředků výpočetního systému a převedených do stavu blokovaných procesů – tj.
Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
Přednášky z distribuovaných systémů
Paměť.
Transkript prezentace:

Doplňující referát k přednášce Transakce Šárka Hlušičková Uváznutí (deadlock) Doplňující referát k přednášce Transakce Šárka Hlušičková

Uváznutí – definice, podmínky Stav, kdy každá transakce z množiny uváznutých transakcí čeká na jinou transakci z této množiny, až uvolní prostředky. Aby nastalo uváznutí, musí být současně splněny všechny čtyři následující podmínky (Coffmanovy podmínky): Vzájemné vyloučení – prostředek může být přidělen pouze jednomu procesu Držení prostředků – proces smí držet a přitom žádat další prostředky Neodnímatelnost – prostředky může vrátit pouze proces, který je vlastní Čekání do kruhu – existuje cyklus ve waits-for grafu

Pravděpodobnost uváznutí Uvažujme systém s R záznamy, n+1 transakcemi a každá transakce sestává z a+1 update akcí. Každý update uzamkne náhodný záznam (uvolnění při commitu). Předpokládáme na << R (většina záznamů odemčena po většinu času). Pravděpodobnost čekání na zámek (kolize) je přibližně: PW = na/2R Zdůvodnění: Každá transakce má uzamčeno v průměru a/2 záznamů a počet ostatních transakcí je n. Transakce má a požadavků na zámek, tj. pravděpodobnost, že konkrétní transakce T bude během svého života čekat je: PW(T) = 1 – (1- PW)a ≈ aPW = na2/2R (Tj. rozepsaný součet konečné binom. řady 1 −𝑃𝑊 𝑎 = 1 – 𝑎 1 𝑃𝑊 + 𝑎 2 𝑃𝑊 2 – ... + 𝑎 𝑎 𝑃𝑊 𝑎 , protože na<<R, a tedy PW << 1, je možné členy 𝑎 𝑖 𝑃𝑊 𝑖 zanedbat.)

Pravděpodobnost uváznutí (pokračování) Uváznutí sestává z cyklu. Pravděpodobnost, že transakce T´ uvázne v cyklu délky 2, je PW (T)2/n (pst,ze T´´čeká na T´ je, PW(T)/n ). Pravděpodobnost, že uvázne v cyklu délky 3, je řádově PW (T)3, tj. obecně v cyklu délky i je to řádově PW (T)i. Pokud tedy pravděpodobnost čekání je malá (řekněme menší než 0,1), pak lze tyto vyšší mocniny ignorovat, z čehož plyne: čekání je vzácné, cykly jsou vzácné2 a většina cyklů je délky 2. Pst uváznutí transakce T je tedy přibližně: PW (T)2/n ≈ na4/4R2 a pst uváznutí v celém systému je přibližně: n2a4/4R2

Pravděpodobnost uváznutí – důsledky Výše uvedený model je zjednodušený, nicméně z toho plyne: Pravděpodobnost čekání roste kvadraticky s velikostí transakce ( ≈ na2/2R), je tedy vhodné využít: jemnou granularitu zamykání sdílené zámky pro čtení atd. což sníží kolize při zamykání (snížení kolizí na polovinu, snížení čekání na čtvrtinu a uváznutí dokonce na šestnáctinu). Pravděpodobnost uváznutí v systému roste kvadraticky s počtem transakcí ( ≈ n2a4/4R2), tj. transakční monitor musí hlídat jejich počet.

Možnosti řešení Vůbec si problému nevšímat Detekce a zotavení Vyhnutí se uváznutí Prevence zajištěná nesplněním jedné ze čtyř podmínek Velmi jednoduchým řešením je nikdy nečekat a místo čekání na zámek transakci okamžitě rollbackovat, tím se ale můžeme dostat do livelocku (tj. transakce není nikdy dokončena), což se hůře detekuje a navíc spotřebovává zdroje.

Prevence uváznutí Alespoň jedna z nutných podmínek pro uváznutí není splněna: Vzájemné vyloučení – nelze, došlo by k porušení izolace. Držení prostředků – všechny potřebné zdroje buď alokujeme při spuštění transakce, nebo neumožníme alokovat další zdroje, má-li transakce už nějaký v držení. Může vést k umoření transakce nebo neefektivnímu využití zdrojů. Neodnímatelnost – transakci držící prostředek (resp. čekající na něj a držící jiný) abortujeme. Čekání do kruhu – zdroje jsou očíslovány a transakce smí žádat o zdroje pouze ve vzestupném pořadí.

Metody Wait/Die a Wound/Wait Každá transakce má přiděleno časové razítko, které určuje prioritu (při rollbacku se nemění). Pokud transakce Ti čeká na zámek držený transakcí Tj: Metoda Wait/Die Pokud Ti je starší než Tj, pak Ti smí čekat na zámek držený transakcí Tj. Pokud Tj je starší než Ti, pak Ti rollbackuje (die). Metoda Wound/Wait Pokud Ti je starší než Tj, pak Tj rollbackuje (wounded). Pokud Tj je starší než Ti, pak Ti čeká na zámek.

Metody Wait/Die a Wound/Wait (pokračování) Wait/Die abortuje častěji, ale abortovaná transakce obvykle provede jen málo práce. Wound/Wait rollbackuje vzácně, ale abortovaná transakce běží déle. Porušuje podmínku neodnímatelnosti – prioritní/časové upřednostňování transakcí. Výhody: jednoduché, nemůže dojít k umoření transakce, protože starší transakce má vždy přednost. Nevýhody: může dojít k rollbacku, i přestože by nedošlo k uváznutí – ne zcela efektivní využití zdrojů.

Další metody prevence uváznutí Konzervativní 2PL protokol všechny zámky před spuštěním transakce (jinak čeká ve frontě) nutno vědět, co vše je třeba zamknout (obecně nerozhodnutelný problém). Timeout na přidělení zámku pokud transakce požaduje více zámků, každý požadavek je asociován s časem, a pokud není zámek v tomto čase přidělen, transakce rollbackuje.

Vyhnutí se uváznutí (deadlock avoidance) Dynamická metoda, zámek je přidělen pouze tehdy, pokud nemůže dojít k uváznutí. Systém udržuje bezpečný stav, kdy každému procesu lze přidělit všechny požadované zdroje – graf alokace zdrojů (hledání cyklu). To ale znamená znát stav všech zdrojů v systému a všechny požadavky procesů (!).

Detekce uváznutí a zotavení Timeout – transakce dlouho nic nedělá. Waits-for graf – minimalizace počtu abortů, cenou výpočetní náročnost: vrchol T – transakce T hrana z T do T´ – T čeká na zámek držený T´ nebo T bude čekat na zdroj, který bude přidělen T´(tj. T je za T´v seznamu) a jejich požadavky jsou nekompatibilní cyklus v grafu – uváznutí Zotavení obvykle znamená restart nějaké transakce, která se uváznutí účastnila. Výběr dle času spuštění, priority, délky logu... Může dojít k opětovnému deadlocku nebo i livelocku.

Zdroje Lokoč, Jakub: Transakce [online], <http://siret.ms.mff.cuni.cz/lokoc/UK/Transakce.pdf>. Gray, Jim; Reuter, Andreas: Transaction processing: concepts and techniques. SanMateo (Cal.): Morgan Kaufmann, 1993. ISBN 1-55860-190-2. The Johns Hopkins University, Department of Computer Science: Operating Systems 600.418: Deadlocks [online], <www.cs.jhu.edu/~yairamir/cs418/os4/sld001.htm>. Kazuhiro Minami: CS411 Database Systems: 15: Distributed Transaction [online], <http://www.cs.uiuc.edu/class/fa08/cs411/slides/cs411-distributed-transaction.ppt>.