Download presentation
Presentation is loading. Please wait.
Published byCuthbert Valentine Stokes Modified over 6 years ago
1
C. Faloutsos Concurrency control - deadlocks
Carnegie Mellon Univ. Dept. of Computer Science Database Applications C. Faloutsos Concurrency control - deadlocks
2
General Overview Relational model - SQL
Functional Dependencies & Normalization Physical Design &Indexing Query optimization Transaction processing concurrency control recovery C. Faloutsos
3
Transactions - dfn = unit of work, eg. Atomicity (all or none)
move $10 from savings to checking Atomicity (all or none) Consistency Isolation (as if alone) Durability recovery concurrency control C. Faloutsos
4
Isolation - concurrency control
serializability <-> correctness precedence graph automatically correct interleavings: locks + protocol (2PL, 2PLC) but: deadlocks! C. Faloutsos
5
Deadlocks detection handling (prevention) C. Faloutsos
6
Deadlock detection T1 T2 lock manager L(A) Yes L(B) Yes ... L(B) No
time T T lock manager L(A) Yes L(B) Yes ... L(B) No <waits> L(A) No DEADLOCK C. Faloutsos
7
Algo for deadlock detection?
C. Faloutsos
8
Algo for deadlock detection?
wait-for graph: nodes -> transactions arcs -> Tsource waits for Tsink if cycle, then deadlock! C. Faloutsos
9
Eg: time for ‘B’ T1 T2 ‘A’ ‘B’ for ‘A’ T1 T2 lock manager L(A) Yes
L(B) Yes ... L(B) No <waits> L(A) No for ‘B’ T1 T2 ‘A’ ‘B’ for ‘A’ C. Faloutsos
10
Another example is there a deadlock? if yes, which xacts are involved?
C. Faloutsos
11
Another example now, is there a deadlock?
if yes, which xacts are involved? T1 T2 T3 T4 C. Faloutsos
12
Deadlock detection how often should we run the algo?
how many transactions are typically involved? C. Faloutsos
13
Deadlock handling Q: what to do? T1 T2 T3 T4 C. Faloutsos
14
Deadlock handling Q0: what to do? A: select a ‘victim’ & ‘rollback’
Q1: which/how to choose? T1 T2 T3 T4 C. Faloutsos
15
Deadlock handling Q1: which/how to choose? A1.1: by age
A1.2: by progress A1.3: by # items locked already... A1.4: by # xacts to rollback Q2: How far to rollback? T1 T2 T3 T4 C. Faloutsos
16
Deadlock handling Q2: How far to rollback? A2.1: completely
A2.2: minimally Q3: Starvation?? T1 T2 T3 T4 C. Faloutsos
17
Deadlock handling Q3: Starvation??
A3.1: include #rollbacks in victim selection criterion. T1 T2 T3 T4 C. Faloutsos
18
SQL statement usually, conc. control is transparent to the user, but
LOCK <table-name> [EXCLUSIVE|SHARED] C. Faloutsos
19
Concurrency control - conclusions
serializability <-> correctness automatically correct interleavings: locks + protocol (2PL, 2PLC, ...) deadlock detection + handling C. Faloutsos
20
Quiz: is there a serial schedule (= interleaving) that is not serializable? is there a serializable schedule that is not serial? can 2PL produce a non-serializable schedule? (assume no deadlocks) C. Faloutsos
21
Quiz - cont’d is there a serializable schedule that can not be produced by 2PL? a xact obeys 2PL - can it be involved in a non-serializable schedule? all xacts obey 2PL - can they end up in a deadlock? C. Faloutsos
22
serializable schedules serializable schedules
Quiz - hints: Q: 2PLC?? serializable schedules serializable schedules 2PL schedules serial sch’s C. Faloutsos
23
serializable schedules serializable schedules
Quiz - hints: 2PL schedules serializable schedules serializable schedules 2PLC serial sch’s C. Faloutsos
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.