Transaction Processing
|
|
- Noreen Watkins
- 5 years ago
- Views:
Transcription
1 Transaction Processing As part of DB Implementation Techniques - Wintersemester 2010/2011 Prof. Dr.-Ing. Hagen Höpfner, Juniorprofessur Mobile Media, BU Weimar This set of slides is based on slides by G. Saake and A. Heuer.
2 Agenda } Transaction models } Transaction management } Recovery and Data safety } Distributed transactions Slide 2
3 Course Literature } Weikum and Vossen: Transactional Information Systems. Morgan Kaufmann Publishers (2002, ISBN: ) } Elmasri and Navathe: Fundamentals of Database Systems. Pearson Education, Inc. (4 th ed., 2004, ISBN ) Slide 3
4 Part 1: Transaction models } Transactions in multi-user systems } Transactional properties } Problems in multi-user systems } Serializability } Correctness in the presence of aborts Slide 4
5 1.1 Transactions in multi-user systems } Operational integrity } Multiple users access same data at the same time } Multiple application run simultaneously à Concurrent and competitively processes } Transactions as operands Slide 5
6 Examples } Parallel seat reservation by various travel agencies } It may be possible to sell a seat twice if two travel agencies consider it to be available. } Overwriting account operations of a bank } Statistical database operations } Updating database during computing statistics may result in wrong results. Slide 6
7 1.2 Transactional properties Slide 7
8 ACID conditions } Atomicity The sequence of operations either all take place or none do. } Consistency The database is transform from on valid state to another. } Isolation Each transaction believes to be the only transaction in the system. } Durability Once a transaction is committed it remains independent of failures. Slide 8
9 Commands of a transaction language } Begin-of-Transaction BOT } Successful end of a transaction commit } Abort of a transaction abort Slide 9
10 1.3 Problems in multi-user systems } Non-repeatable Read } Inconsistent Read } Dirty Read } The Phantom-Problem } Lost Update } Multi-user Anomaly } Cursor-Reference Problem Slide 10
11 Non-repeatable Read Example (1) } Covenant: X=A+B+C must hold at the end of transaction T 1 } X and Y are local variables } T i is transaction i } Constraint: A+B+C=0 Slide 11
12 Non-repeatable Read Example (2) T 1 T 2 X:=A; Y:=A/2; A:=Y; C:=C+Y; commit; X:=X+B; X:=X+C; commit; Slide 12
13 Inconsistent Read - Example T 1 T 2 read(x); X:=X-1; read(y); write(x); Y:=Y+1; read(x); read(y); write(y); Commit; Constraint: X+Y=0 Slide 13
14 Dirty Read - Example T 1 T 2 read(x); X:=X+100; write(x); read(x); Y:=Y+X; write(y); commit; abort; Slide 14
15 The Phantom-Problem - Example select count(*) into X from CUSTOMER; update CUSTOMER set Bonus=Bonus+10000/X; commit; T 1 T 2 insert into CUSTOMER values (6789, Lilo, Pause, ); commit; Slide 15
16 Lost Update - Example T 1 T 2 X read(x); 10 read(x); 10 X:=X+1; 10 X:=X+1; 10 write(x); 11 write(x); 11 Slide 16
17 Multi-user Anomaly Example (1) } Constraint: A=B } T 1 =á A:=A+10; B:=B+10;ñ } T 2 =á A:=A*1.1; B:=B*1.1;ñ Slide 17
18 Multi-user anomaly Example (2) T 1 T 2 A B read(a); A:=A+10; write(a); 20 read(a); A:=A*1.1; write(a); 22 read(b); B:=B*1.1; write(b); 11 read(b); B:=B+10; write(b); Slide 18
19 Cursor-Reference Problem Example (1) Moving cursor C to the next tuple that satisfies predicate P. (Tuple A) Fetch tuple T 1 T 2 Update tuple A regarding P. Slide 19
20 Cursor-Reference Problem Example (2) T 1 T 2 declare C cursor for select * from PRODUCTS where price<100; fetch C into update PRODUCTS set price=100 where ProdNo=42; Slide 20
21 Overview about problems } Updates disappear (lost update) } Reading invalid data (dirty read) } Non isolated transactions cause interferences (non repeatable read) Slide 21
22 1.4 Serializability } Introduction } Schedules } Kinds of serializablity } Comparison Slide 22
23 Introduction into serializability T 1 : read A; A:=A-10; write A; read B; B:=B+10; write B; T 2 : read B; B:=B-20; write B; read C; C:=C+20; write C; } Execution alternatives for two transactions: } Serial, e.g. T 1 before T 2 } Merged, e.g. alternating Slide 23
24 Merged execution examples Alternative 1 Alternative 2 Alternative 3 T 1 T 2 T 1 T 2 T 1 T 2 read A read A read A A:=A-10 read B A:=A-10 write A A:=A-10 read B read B B:=B-20 write A B:=B+10 write A B:=B-20 write B write B read B read B read B write B B:=B-20 read C B:=B+10 write B B:=B+10 read C read C C:=C+20 write B C:=C+20 write B C:=C+20 write C write C write C Slide 24
25 Results of the Alternatives A B C A+B+C Initial values Alternative Alternative Alternative Slide 25
26 Lock-Unlock Model } Ideas: } An object that should be modified has to be read first. } After the object was modified it is written. } Between unlock and lock no modification of the object is allowed. } T 1 : lock A; unlock A; lock B; unlock B; } T 2 : lock B; unlock B; lock C; unlock C; Slide 26
27 Lock-Unlock Model - Example Alternative 1 Alternative 2 Alternative 3 T 1 T 2 T 1 T 2 T 1 T 2 lock A lock A lock A unlock A lock B lock B lock B unlock A unlock A unlock B unlock B lock B lock B lock B unlock B unlock B lock C lock C lock C unlock B unlock B unlock C unlock C unlock C Slide 27
28 Lock-Unlock-Model and Function Semantics T 1 T 2 T 3 lock A lock B lock A lock B lock C lock C unlock A f 1 (A,B) unlock B f 3 (B,C) unlock C f 6 (A,C) unlock B f 2 (A,B) lock A unlock A f 7 (A,C) unlock C f 4 (A,B,C) unlock A f 5 (A,B,C) Slide 28
29 Merged Execution and Function Semantics - Example Step A B C (1) T 1 : lock A A 0 B 0 C 0 (2) T 2 : lock B A 0 B 0 C 0 (3) T 2 : lock C A 0 B 0 C 0 (4) T 2 : unlock B A 0 f 3 (B 0,C 0 )=σ 1 C 0 (5) T 1 : lock B A 0 σ 1 C 0 (6) T 1 : unlock A f 1 (A 0, σ 1 )=σ 2 σ 1 C 0 (7) T 2 : lock A σ 2 σ 1 C 0 (8) T 2 : unlock C σ 2 σ 1 f 4 (σ 2,B 0,C 0 )=σ 3 (9) T 2 : unlock A f 5 (σ 2,B 0,C 0 )=σ 4 σ 1 σ 3 (10) T 3 : lock A σ 4 σ 1 σ 3 (11) T 3 : lock C σ 4 σ 1 σ 3 (12) T 1 : unlock B σ 4 f 2 (A 0,σ 1 ) σ 3 (13) T 3 : unlock C σ 4 f 2 (A 0,σ 1 ) f 6 (σ 4,σ 3 ) (14) T 3 : unlock A f 7 (σ 4,σ 3 ) f 2 (A 0,σ 1 ) f 6 (σ 4,σ 3 ) Slide 29
30 Calculated values of the last example } A =f 7 (σ 4,σ 3 ) =f 7 (f 5 (f 1 (A 0,f 3 (b 0,C 0 )),B 0,C 0 ),f 4 (f 1 (A 0,f 3 (B 0,C 0 )),B 0,C 0 )) } B =f 2 (A 0,σ 3 )=f 2 (A 0,f 3 (B 0,C 0 )) } C =f 6 (σ 4, σ 3 ) =f 6 (f 5 (f 1 (A 0,f 3 (B 0,C 0 )),B 0,C 0 ),f 4 (f 1 (A 0,f 3 (B 0,C 0 )),B 0,C 0 )) Slide 30
31 Serializability A merged execution of multiple transactions is called serializable if and only if it has the same effects as the serial execution. Slide 31
32 Conflict Graph } unlock X lock X is called a conflict if there is no modification of X by another transaction in between. T 1 T 2 T 3 Slide 32
33 Schedules u 4 u 3 u 2 u 1 v 4 v 3 v 2 v 1 w 4 w 3 w 2 w 1 Scheduler w 2 v 3 w 1 u 1 v 2 v 1 Slide 33
34 Read/Write Model } A transaction T is a finite sequence of operations p i of the form r(x i ) or w(x i ): T=p 1 p 2 p 3 p n with p i {r(x i ),w(x i )} } A completed transaction ends in an abort a or a commit c: T=p 1 p n a or T=p 1...p n c Slide 34
35 Formal Semantics of Transactions } [[w(x)]]:=f(y 1, y n ) } [[T]]:={[[w(x i )]] w(x i ) is write op. in T} Slide 35
36 Formal Semantics - Explanation } Given: Transaction T reads a, b, and c and writes x } x depends on a, b, and c and T depends on x } E.g: T=r(a)r(b)r(c) x:=a+b+c w(x) à [[T]]={[[w(x)]]} with [[w(x)]]=f(a,b,c) Slide 36
37 Merged Execution } Let T be a the set of transactions T i. The set of all possible merged executions of all T i T is called SHUFFLE(T ). } All operations of a transaction T i are contained once per s SHUFFLE(T ). } Order in-between operations from the same transaction has been retained unchanged. Slide 37
38 SHUFFLE(T ) - Example } T 1 :=r 1 (x)w 1 (x) } T 2 :=r 2 (x)r 2 (y)w 2 (y) } T :={T 1, T 2 } } SHUFFLE(T )={ r 1 (x)w 1 (x)r 2 (x)r 2 (y)w 2 (y), r 2 (x)r 1 (x)w 1 (x)r 2 (y)w 2 (y), } Slide 38
39 Schedule } A schedule is a prefix of a complete schedule } Example: r 1 (x)r 2 (x)w 1 (x)r 2 (y)a 1 w 2 (y)c 2 schedule complete schedule Slide 39
40 Serial Schedule } A serial schedule s for T is a complete schedule of the form: s:=t ρ(1) T ρ(n) with index permutation ρ } Example: T 1 =r 1 (x)w 1 (x)c 1 and T 2 =r 2 (x)w 2 (x)c 2 } s 1 =T 1 T 2 =r 1 (x)w 1 (x)c 1 r 2 (x)w 2 (x)c 2 } s 2 =T 2 T 1 =r 2 (x)w 2 (x)c 2 r 1 (x)w 1 (x)c 1 Slide 40
41 Correctness Criterion } If the effects of the execution of a schedule s are equivalent to the effects of executing the serial schedule s containing the same operations (s v s), then s is called to be correct. } If a schedule s in equivalent to a serial schedule s, then s is serializable (to s ). Slide 41
42 View Serializability } A schedule is view-serializable if it is view-equivalent to a serial schedule. } Additional transactions required: } T 0 initially writes all involved objects } T finally reads all involved objects Slide 42
43 Read-from-Relation } Let be the relation in the schedule before, now r j (x) reads x from T i if and only if: } w i (x) r j (x) and } (w i (x) w k (x) w k (x) r j (x)) hold. } Read-from-Relation is defined as: } RF(s):={(T i,x,t j ) r j (x) reads x from T i )} Slide 43
44 View Equivalence } Two schedules s and s are view-equivalent if and only if: } op(s)=op(s ) Both schedules use the same operations including a and c. } RF(s)=RF(s ) Both schedules have the same Read-from-Relation. Slide 44
45 View Equivalence Example (1) } Given: two complete schedules s 1 and s 2 composed of two transaction T 1 and T 2 : } s 1 =r 1 (x)r 2 (y)w 1 (y)w 2 (y)c 1 c 2 } s 2 =r 1 (x)w 1 (y)r 2 (y)w 2 (y)c 2 c 1 } Adding T 0 and T : } s 1 =w 0 (x)w 0 (y)r 1 (x)r 2 (y)w 1 (y)w 2 (y)c 1 c 2 r (x) r (y) } s 2 =w 0 (x)w 0 (y)r 1 (x)w 1 (y)r 2 (y)w 2 (y)c 2 c 1 r (x) r (y) Slide 45
46 View Equivalence Example (2) } Generating the Read-from-Relations: } RF(s 1 )={(T 0,x,T 1 ),(T 0,y,T 2 ),(T 0,x,T ),(T 2,y,T )} } RF(s 2 )={(T 0,x,T 1 ),(T 1,y,T 2 ),(T 0,x,T ),(T 2,y,T )} } Obviously: RF(s 1 ) RF(s 2 ) holds } So s 1 and s 2 are not view-equivalent! Slide 46
47 View Serializability } Remember: A schedule is view-serializable if it is viewequivalent to a serial schedule. } VSR is the set of all view serializable schedules. Slide 47
48 View Serializability - Example } Possible serial schedules regarding s 1 are s and s : } s =T 1 T 2 =r 1 (x)w 1 (y)c 1 r 2 (y)w 2 (y)c 2 } RF(s )={(T 0,x,T 1 ),(T 1,y,T 2 ),(T 0,x,T ),(T 2,y, T )} } RF(s ) RF(s 1 ) } s =T 2 T 1 =r 2 (y)w 2 (y)c 2 r 1 (x)w 1 (y)c 1 } RF(s )={(T 0,y,T 2 ),(T 0,x,T 1 ),(T 0,x,T ),(T 1,y, T )} } RF(s ) RF(s 1 ) } So, s 1 is not view serializable. Slide 48
49 Conflict Serializability } Conflict relation C for s: } C(s):={(p,q) p conflicts with q and p q} } Conflict matrix: r i (x) w i (x) r j (x) - w j (x) - - Slide 49
50 Adjusted Conflict Relation } The adjusted conflict relation conf(s) does not represent aborted transactions: conf(s):=c(s)-{(p,q) (p t q t ) t aborted(s)} } Let aborted(s) be the set of aborted transactions in the schedule s. Slide 50
51 Conflict Relation - Example } Given: Schedule s: } s=r 1 (x)w 1 (x)r 2 (x)r 3 (y)w 2 (y)c 2 a 1 c 3 } Conflict Relation for s: } C(s)={(w 1 (x),r 2 (x)),(r 3 (y),w 2 (y))} } Adjusted conflict relation for s: } conf(s)={(r 3 (y),w 2 (y))} Slide 51
52 Conflict Equivalence } Two schedules s and s are called to be conflict equivalent if and only if: } op(s)=op(s ) and } conf(s)=conf(s ) hold. Slide 52
53 Conflict Equivalence Example (1) } Given: two complete schedules s and s : } s=r 1 (x)r 1 (y)w 2 (x)w 1 (y)r 2 (z)w 1 (x)w 2 (y) } s =r 1 (y)r 1 (x)w 1 (y)w 2 (x)w 1 (x)r 2 (z)w 2 (y) } Are s and s conflict equivalent? } Obviously op(s)=op(s ) holds. Slide 53
54 Conflict Equivalence Example (2) } Does conf(s)=conf(s ) hold, too? } conf(s)={ (r 1 (x),w 2 (x)), (w 2 (x),w 1 (x)), (r 1 (y),w 2 (y)), (w 1 (y),w 2 (y)) } } conf(s )={ (r 1 (x),w 2 (x)), (w 2 (x),w 1 (x)), (r 1 (y),w 2 (y)), (w 1 (y),w 2 (y)) } Slide 54
55 Conflict serializability } A schedule is conflict serializable if it is conflict equivalent to a serial schedule. } CSR is the set of all conflict serializable schedules. Slide 55
56 Conflict serializability Example } Given: } s=r 1 (x)w 1 (y)w 2 (x)w 1 (y)r 2 (z)w 1 (x)w 2 (y) } Serial schedule s 1? } conf(s)? } Is s conflict serializable? Slide 56
57 Conflict graph } Let s be a schedule. } A conflict graph G(s)=(V,E) for s is defined by: } V includes all transactions } E includes all edges between conflicting transactions: (t,t ) E t t ( p t) ( q t ) with (p,q) conf(s) Slide 57
58 Conflict graph Example T 1 T 2 T 3 r(y) r(u) r(y) w(y) w(x) w(x) w(z) w(x) T 1 T 2 T 3 s=r 1 (y)r 3 (u)r 2 (y)w 1 (y)w 1 (x)w 2 (x)w 2 (z)w 3 (x) Slide 58
59 Conflict Graph Properties } Serial schedules are represented by an acyclic graph. } For a given acyclic graph G(s) a serial schedule s can be found. So, s and s are conflict equivalent. (topological ordering) } A schedule s is not conflict serializable if G(s) is a cyclic graph. Slide 59
60 VSR vs. CSR } Holds CSR VSR or VSR CSR? } Given: } s=r 1 (y)r 3 (w)r 2 (y)w 1 (y)w 1 (x)w 2 (x)w 2 (z)w 3 (x)c 2 c 1 c 3 } Is s in VSR? } Is s in CSR? Proof: Weikum, Vossen (page 95) Slide 60
61 Problems at runtime } Typically we have to consider unfinished schedules. } Not committed transactions may abort. Slide 61
62 Closure Properties of Schedules (1) } } } } Let E be a class of schedules: E is prefix closed if for every schedule s in E each prefix of s is also in E. E is commit closed if for every schedule s in E CP(s) is also in E. E is prefix commit closed if it is prefix closed AND commit closed. Slide 62
63 Closure Properties of Schedules (2) } VSR-Schedules are not prefix commit closed! } CSR-Schedules are prefix commit closes! Slide 63
64 VSR vs. CSR Example (1) } Given: } s=w 1 (x)w 2 (x)w 2 (y)c 2 w 1 (y)c 1 w 3 (x)w 3 (y)c 3 } Is s in VSR and if so show that VSR is not prefix closed? } Is s in CSR and if so Is CSR prefix commit closed? Slide 64
65 So far summery } } } } } } Serial View equivalent } s and s contain the same operations } s and s have the same RF-Relation View serializable } s may be a serial schedule } s is view serializable if it is view equivalent to s Conflict equivalent } s and s contain the same operations } s and s have the same conflict relation Conflict serializable } s may be a serial schedule } s is conflict serializable if it is conflict equivalent to s Prefix commit closed } All possible prefixes of a committed transaktion have the same properties as the completed schedule. Slide 65
66 Exercise 1 } s 1 =r 1 (x)w 1 (x)r 2 (x)r 3 (z)w 3 (x)r 1 (z) } s 2 =w 1 (x)r 2 (x)w 2 (z)r 3 (z)w 3 (y)w 1 (y) } s 3 =r 1 (x)w 1 (x)w 2 (x)w 3 (z)r 3 (y)r 3 (x) } s 4 =w 2 (x)w 1 (x)w 1 (y)w 2 (y)w 1 (y)w 3 (z) } s 5 =w 2 (x)w 2 (y)r 1 (x)r 1 (y)w 1 (y)w 3 (z) } VSR? } CSR? Slide 66
67 1.5 Aborts and Fault tolerance } s=r 1 (x)w 1 (x) r 2 (x) a 1 w 2 (x)c 2 } s VSR and s CSR } BUT: from a fault tolerance view points is not acceptable Slide 67
68 Recoverable Schedules RC } s is recoverable if: (T i reads from T j in s) (c i s) (c j c i ) } s=r 1 (x)w 1 (x)r 2 (x)a 1 w 2 (x)c 2 Slide 68
69 Recoverable Schedule Example } s 1 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)r 2 (y)w 2 (y)c 2 w 1 (z)c 1 } T 2 reads y from T 1, but c 2 appears before c 1 à s1 RC } s 2 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)r 2 (y)w 2 (y)w 1 (z)c 1 c 2 } s 1 RC Slide 69
70 Is RC enough? } s 2 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)r 2 (y)w 2 (y)w 1 (z)c 1 c 2 } What happens if T 1 aborts: s 2 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)r 2 (y)w 2 (y)w 1 (z)a 1 c 2 } T 2 must also abort à cascading aborts Slide 70
71 Avoiding cascading aborts ACA } A schedule s avoids cascading aborts if (T i reads x from T j in s) (c j r i (x)) holds. } A transaction is only allowed to read from already committed transactions. Slide 71
72 Avoiding cascading aborts Example } s 2 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)r 2 (y)w 2 (y)w 1 (z)a 1 c 2 à s 2 ACA } s 3 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)w 1 (z)c 1 r 2 (y)w 2 (y)c 2 à s 3 ACA Slide 72
73 Before image problem in ACA DB state Operation x=1 (initial value) x=2 w 1 (x 2) [BF =1] x,t 1 x=3 w 2 (x 3) [BF =2] x,t 2 a 1 : recover w 1 (x 2) using BF x :=1 But w 2 must remain! x=3 w 2 (x 3) [BF =3] x,t 2 a 2 : recover w 2 (x 3) using BF x :=?? Slide 73
74 Strict schedules ST } A schedule s is strict if (w j (x) p i (x) j i) (a j p i (x) c j p i (x), (p i {r,w})) holds. } It is not allowed to read or write a written object from a not yet finished transaction. Slide 74
75 Strict schedules Example } s 3 =w 1 (x)w 1 (y)r 2 (u)w 2 (x)w 1 (z)c 1 r 2 (y)w 2 (y)c 2 à s 3 ST } s 4 =w 1 (x)w 1 (y)r 2 (u)w 1 (z)c 1 w 2 (x)r 2 (y)w 2 (y)c 2 à s 4 ST Slide 75
76 CSR, VSR, RC, ACA, ST, Serial RC ACA ST Acceptable reparable VCR CSR serial Strict locking Slide 76
77 Exercise 2 } s 1 =r 1 (x)w 1 (x)r 2 (x)c 1 c 2 } s 2 =r 1 (x)w 1 (x)r 2 (x)c 2 c 1 } s 3 =r 1 (x)w 1 (x)c 1 r 2 (x)c 2 } s 4 =r 1 (x)w 1 (x)w 2 (x)c 1 c 2 } s 5 =r 1 (x)w 1 (x)r 2 (y)c 1 c 2 } s 6 =r 2 (x)r 1 (x)w 1 (x)c 1 w 2 (x)c 2 } s 7 =r 2 (x)r 1 (x)w 1 (x)w 2 (x)c 1 c 2 } s 8 =w 2 (x)w 1 (x)w 1 (y)c 1 r 2 (y)c 2 } s 9 =w 2 (x)w 1 (x)w 1 (y)r 2 (y)c 1 c 2 } s 10 =w 2 (x)w 1 (x)w 1 (y)r 2 (y)c 2 c 1 } s 11 =r 1 (x)w 2 (x)r 2 (y)w 1 (y)c 1 c 2 } s 12 =w 2 (x)r 1 (x)w 1 (y)w 2 (y)c 1 c 2 } s 13 =w 2 (x)w 1 (x)w 1 (y)w 2 (y)c 1 c 2 } s 14 =w 2 (x)w 1 (x)w 1 (y)w 2 (y)r 1 (y)c 1 c 2 } CSR?, RC?, ACA?, ST?, serial? Slide 77
78 Part 2: Transaction Management } Architecture } Locking based approaches Slide 78
79 The Scheduler T 1 T 2 T n Transaction Manager (TM) Scheduler (SC) Correct Schedule (r, w, c, a) Storage Manager (SM) Recovery Manager (RM) Buffer Manager (BM) Slide 79
80 Operations } BOT (Begin of Transaction) } EOT (End of Transaction) } r (read) } w (write) } a (abort) } c (commit) t={r w}*(a c) Slide 80
81 States of a Transaction active execute initial BOT running restart retry reject aborted stopped stop delay delayed EOT committed Slide 81
82 Optimistic Scheduler } A scheduler is called to be optimistic, if it allows the appearance of conflicts but tries to recognise and to resolve them. } Maximal parallelisation of transactions } Risk: Conflicts my appear at the END of a transaction Slide 82
83 Pessimistic (conservative) Scheduler } A scheduler is called to be pessimistic or conservative if it tries to avoid conflicts but accepts delayed transactions. } Lower parallelisation rate } Minimize recovery costs } Extreme: no parallelisation Slide 83
84 2.2 Locking based approaches } Read and Write locks as follows: } rl(x): read lock regarding object x } wl(x): write lock for object x } Unlock operations ru(x) and wu(x) are often considered together as u(x). Slide 84
85 Lock discipline } Write access w i (x) only after wl i (x) possible } Read access r i (x) only after rl i (x) or wl i (x) possible } Locking of unlocked objects only } wl i (x) after rl i (x) possible } Locks of one kind must be unique } u i (x) by T i à new rl i (x) or wl i (x) by T i is prohibited } commit after all unlocks only Slide 85
86 Deadlock } Alternatives: wl(x) delay à wl(y) t 1 t 2 wl(y) wl(x) DEADLOCK! } Recognise and remove deadlocks } Avoid deadlocks ß delay Slide 86
87 Recognition and Elimination } Waits-for graph } Lock elimination à abort a transaction: } Number of resolved loops } Duration / Length of a transaction } Cost for recovering a transaction } Importance of a transaction, Slide 87
88 Livelock-Problem } T 1 locks A. } T 2 tries to lock A but has to wait. } T 3 tries to lock A but has to wait, too. } T 1 unlocks A. } T 3 gets the next slot and locks A. } T 2 tries to lock A but has to wait. } T 4 tries to lock A but has to wait, too. } T 3 unlocks A. } T 4 gets the next slot and locks A. } Slide 88
89 2.3 Locking protocols T 1 T 2 wl(x) w(x) u(x) wl(x) w(x) u(x) wl(y) w(y) u(y) wl(y) w(y) w(y) Slide 89
90 Two-Phase-Locking-Protocol #locks lock unlock time Slide 90
91 Ignoring 2PL may result in conflicts T 1 T 2 u(x) wl(x) wl(y) u(x) u(y) wl(y) Slide 91
92 Strict Two-Phase-Locking- Protocol #locks lock unlock S2PL Avoids cascading aborts time Slide 92
93 Conservative Two-Phase- Locking-Protocol #locks lock unlock C2PL Avoid deadlocks time Slide 93
94 Conservative and Strict Two- Phase-Locking-Protocol #locks time lock unlock CS2PL Slide 94
95 2.4 Lock Granulates } Granulate Hierarchy in Databases } Hierarchical Locks } Tree protocols for tree indexes Slide 95
96 Granulate Hierarchy in relational Databases Database Relation Tuple Attribute Database File Cluster Page Logical Physical Slide 96
1 st Semester 2007/2008
Chapter 17: System Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2007/2008 Slides baseados nos slides oficiais do livro Database System c Silberschatz, Korth and Sudarshan.
More informationDistributed Transactions. CS5204 Operating Systems 1
Distributed Transactions CS5204 Operating Systems 1 . Transactions transactions T. TM T Distributed DBMS Model data manager DM T. TM T transaction manager network DM TM DM T T physical database CS 5204
More informationTransactional Information Systems:
Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery Gerhard Weikum and Gottfried Vossen 2002 Morgan Kaufmann ISBN 1-55860-508-8 Teamwork is essential.
More informationShared on QualifyGate.com
CS-GATE-05 GATE 05 A Brief Analysis (Based on student test experiences in the stream of CS on 8th February, 05 (Morning Session) Section wise analysis of the paper Section Classification Mark Marks Total
More informationQuiz 2. Due November 26th, CS525 - Advanced Database Organization Solutions
Name CWID Quiz 2 Due November 26th, 2015 CS525 - Advanced Database Organization s Please leave this empty! 1 2 3 4 5 6 7 Sum Instructions Multiple choice questions are graded in the following way: You
More informationAlgebra I. Book 2. Powered by...
Algebra I Book 2 Powered by... ALGEBRA I Units 4-7 by The Algebra I Development Team ALGEBRA I UNIT 4 POWERS AND POLYNOMIALS......... 1 4.0 Review................ 2 4.1 Properties of Exponents..........
More information1 Introduction to Predicate Resolution
1 Introduction to Predicate Resolution The resolution proof system for Predicate Logic operates, as in propositional case on sets of clauses and uses a resolution rule as the only rule of inference. The
More informationChapter y. 8. n cd (x y) 14. (2a b) 15. (a) 3(x 2y) = 3x 3(2y) = 3x 6y. 16. (a)
Chapter 6 Chapter 6 opener A. B. C. D. 6 E. 5 F. 8 G. H. I. J.. 7. 8 5. 6 6. 7. y 8. n 9. w z. 5cd.. xy z 5r s t. (x y). (a b) 5. (a) (x y) = x (y) = x 6y x 6y = x (y) = (x y) 6. (a) a (5 a+ b) = a (5
More informationReal-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations
Real-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations Mohammed El-Shambakey Dissertation Submitted to the Faculty of the Virginia Polytechnic Institute and State
More informationClocks in Asynchronous Systems
Clocks in Asynchronous Systems The Internet Network Time Protocol (NTP) 8 Goals provide the ability to externally synchronize clients across internet to UTC provide reliable service tolerating lengthy
More informationarxiv: v2 [cs.dc] 20 Nov 2017
The Optimal Pessimistic Transactional Memory Algorithm arxiv:1605.01361v2 [cs.dc] 20 Nov 2017 Paweł T. Wojciechowski, Konrad Siek {pawel.t.wojciechowski,konrad.siek}@cs.put.edu.pl Institute of Computing
More informationProgramming Languages and Compilers (CS 421)
Programming Languages and Compilers (CS 421) Sasa Misailovic 4110 SC, UIUC https://courses.engr.illinois.edu/cs421/fa2017/cs421a Based in part on slides by Mattox Beckman, as updated by Vikram Adve, Gul
More informationI Can t Believe It s Not Causal! Scalable Causal Consistency with No Slowdown Cascades
I Can t Believe It s Not Causal! Scalable Causal Consistency with No Slowdown Cascades Syed Akbar Mehdi 1, Cody Littley 1, Natacha Crooks 1, Lorenzo Alvisi 1,4, Nathan Bronson 2, Wyatt Lloyd 3 1 UT Austin,
More informationDMP. Deterministic Shared Memory Multiprocessing. Presenter: Wu, Weiyi Yale University
DMP Deterministic Shared Memory Multiprocessing 1 Presenter: Wu, Weiyi Yale University Outline What is determinism? How to make execution deterministic? What s the overhead of determinism? 2 What Is Determinism?
More informationLeveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks
Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science,
More informationFACTORS AFFECTING CONCURRENT TRUNCATE
T E C H N I C A L N O T E FACTORS AFFECTING CONCURRENT TRUNCATE DURING BATCH PROCESSES Prepared By David Kurtz, Go-Faster Consultancy Ltd. Technical Note Version 1.00 Thursday 2 April 2009 (E-mail: david.kurtz@go-faster.co.uk,
More informationMediated Population Protocols
Othon Michail Paul Spirakis Ioannis Chatzigiannakis Research Academic Computer Technology Institute (RACTI) July 2009 Michail, Spirakis, Chatzigiannakis 1 / 25 Outline I Population Protocols 1 Population
More informationLiveness of Communicating Transactions
(joint work with Vasileios Koutavas and Matthew Hennessy) TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH Dublin Concurrency Workshop 2011 Traditional Transactions Transactions provide
More informationDeadlock Ezio Bartocci Institute for Computer Engineering
TECHNISCHE UNIVERSITÄT WIEN Fakultät für Informatik Cyber-Physical Systems Group Deadlock Ezio Bartocci Institute for Computer Engineering ezio.bartocci@tuwien.ac.at Deadlock Permanent blocking of a set
More informationUVA UVA UVA UVA. Database Design. Relational Database Design. Functional Dependency. Loss of Information
Relational Database Design Database Design To generate a set of relation schemas that allows - to store information without unnecessary redundancy - to retrieve desired information easily Approach - design
More informationIdentity. "At least one dog has fleas" is translated by an existential quantifier"
Identity Quantifiers are so-called because they say how many. So far, we've only used the quantifiers to give the crudest possible answers to the question "How many dogs have fleas?": "All," "None," "Some,"
More informationIntroduction to Database Systems CSE 414. Lecture 20: Design Theory
Introduction to Database Systems CSE 414 Lecture 20: Design Theory CSE 414 - Spring 2018 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit 3: Non-relational data Unit
More informationGATE 2015 A Brief Analysis (Based on student test experiences in the stream of CS on 8th February, 2015 (Morning Session)
CS-GATE-05 GATE 05 A Brief Analysis (Based on student test experiences in the stream of CS on 8th February, 05 (Morning Session) Section wise analysis of the paper Section Classification Mark Marks Total
More informationHomework 1/Solutions. Graded Exercises
MTH 310-3 Abstract Algebra I and Number Theory S18 Homework 1/Solutions Graded Exercises Exercise 1. Below are parts of the addition table and parts of the multiplication table of a ring. Complete both
More informationTesting from a Finite State Machine: An introduction 1
Testing from a Finite State Machine: An introduction 1 The use of Finite State Machines (FSM) to model systems has lead to much interest in deriving tests from them. Having derived a test sequence from
More informationFinancial. Analysis. O.Eval = {Low, High} Store. Bid. Update. Risk. Technical. Evaluation. External Consultant
ACM PODS98 of CS Dept at Stony Brook University Based Modeling and Analysis of Logic Workows Hasan Davulcu* N.Y. 11794, U.S.A. * Joint with M. Kifer, C.R. Ramakrishnan, I.V. Ramakrishnan Hasan Davulcu
More informationIndustrial Automation (Automação de Processos Industriais)
Industrial Automation (Automação de Processos Industriais) Discrete Event Systems http://users.isr.ist.utl.pt/~jag/courses/api1516/api1516.html Slides 2010/2011 Prof. Paulo Jorge Oliveira Rev. 2011-2015
More informationDesign of Distributed Systems Melinda Tóth, Zoltán Horváth
Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052
More informationFunctional Dependency and Algorithmic Decomposition
Functional Dependency and Algorithmic Decomposition In this section we introduce some new mathematical concepts relating to functional dependency and, along the way, show their practical use in relational
More informationDisjunctive relational abstract interpretation for interprocedural program analysis
Disjunctive relational abstract interpretation for interprocedural program analysis Nicolas Halbwachs, joint work with Rémy Boutonnet Verimag/CNRS, and Grenoble-Alpes University Grenoble, France R. Boutonnet,
More informationDecentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication
Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly
More informationNCU EE -- DSP VLSI Design. Tsung-Han Tsai 1
NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1 Multi-processor vs. Multi-computer architecture µp vs. DSP RISC vs. DSP RISC Reduced-instruction-set Register-to-register operation Higher throughput by using
More informationAGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:
AGREEMENT PROBLEMS (1) AGREEMENT PROBLEMS Agreement problems arise in many practical applications: agreement on whether to commit or abort the results of a distributed atomic action (e.g. database transaction)
More informationSYMBOL NAME DESCRIPTION EXAMPLES. called positive integers) negatives, and 0. represented as a b, where
EXERCISE A-1 Things to remember: 1. THE SET OF REAL NUMBERS SYMBOL NAME DESCRIPTION EXAMPLES N Natural numbers Counting numbers (also 1, 2, 3,... called positive integers) Z Integers Natural numbers, their
More information35H MPa Hydraulic Cylinder 3.5 MPa Hydraulic Cylinder 35H-3
- - - - ff ff - - - - - - B B BB f f f f f f f 6 96 f f f f f f f 6 f LF LZ f 6 MM f 9 P D RR DD M6 M6 M6 M. M. M. M. M. SL. E 6 6 9 ZB Z EE RC/ RC/ RC/ RC/ RC/ ZM 6 F FP 6 K KK M. M. M. M. M M M M f f
More informationThe State Explosion Problem
The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis
More informationA Simplified Approach for Testing Real-Time Systems Based on Action Refinement
A Simplified Approach for Testing Real-Time Systems Based on Action Refinement Saddek Bensalem, Moez Krichen, Lotfi Majdoub, Riadh Robbana, Stavros Tripakis Verimag Laboratory, Centre Equation 2, avenue
More informationGeneral Technical Remarks on PDE s and Boundary Conditions Kurt Bryan MA 436
General Technical Remarks on PDE s and Boundary Conditions Kurt Bryan MA 436 1 Introduction You may have noticed that when we analyzed the heat equation on a bar of length 1 and I talked about the equation
More informationLesson 13: More Factoring Strategies for Quadratic Equations & Expressions
: More Factoring Strategies for Quadratic Equations & Expressions Opening Exploration Looking for Signs In the last lesson, we focused on quadratic equations where all the terms were positive. Juan s examples
More informationThe Discrete EVent System specification (DEVS) formalism
The Discrete EVent System specification (DEVS) formalism Hans Vangheluwe The DEVS formalism was conceived by Zeigler [Zei84a, Zei84b] to provide a rigourous common basis for discrete-event modelling and
More informationTechnical Report Sequential Proximity
Technical Report Sequential Proximity Towards Provably Scalable Concurrent Search Algorithms Karolos Antoniadis, Rachid Guerraoui, Julien Stainer, and Vasileios Trigonakis École Polytechnique Fédérale
More informationINF 4140: Models of Concurrency Series 3
Universitetet i Oslo Institutt for Informatikk PMA Olaf Owe, Martin Steffen, Toktam Ramezani INF 4140: Models of Concurrency Høst 2016 Series 3 14. 9. 2016 Topic: Semaphores (Exercises with hints for solution)
More informationA Humble Introduction to DIJKSTRA S A A DISCIPLINE OF PROGRAMMING
A Humble Introduction to DIJKSTRA S A A DISCIPLINE OF PROGRAMMING Do-Hyung Kim School of Computer Science and Engineering Sungshin Women s s University CONTENTS Bibliographic Information and Organization
More informationarxiv: v1 [cs.dc] 9 Feb 2015
Why Transactional Memory Should Not Be Obstruction-Free Petr Kuznetsov 1 Srivatsan Ravi 2 1 Télécom ParisTech 2 TU Berlin arxiv:1502.02725v1 [cs.dc] 9 Feb 2015 Abstract Transactional memory (TM) is an
More informationTheory of Computation - Module 2
Theory of Computation - Module 2 Syllabus Introduction to Automata Theory - Definition of Automation - Finite automata - Language acceptibility by finite automata - Deterministic and non deterministic
More informationTheory of Computation
Theory of Computation Lecture #2 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 1 Lecture 2: Overview Recall some basic definitions from Automata Theory.
More informationCSCC63 Worksheet Turing Machines
1 An Example CSCC63 Worksheet Turing Machines Goal. Design a turing machine, M that accepts only strings of the form {w#w w {0, 1} }. Idea. Describe in words how the machine would work. Read first symbol
More informationINF1383 -Bancos de Dados
INF1383 -Bancos de Dados Prof. Sérgio Lifschitz DI PUC-Rio Eng. Computação, Sistemas de Informação e Ciência da Computação Projeto de BD e Formas Normais Alguns slides são baseados ou modificados dos originais
More informationImproper Nesting Example
Improper Nesting Example One of the limits on the use of parbegin/parend, and any related constructs, is that the program involved must be properly nested. Not all programs are. For example, consider the
More informationCSC 261/461 Database Systems Lecture 13. Spring 2018
CSC 261/461 Database Systems Lecture 13 Spring 2018 BCNF Decomposition Algorithm BCNFDecomp(R): Find X s.t.: X + X and X + [all attributes] if (not found) then Return R let Y = X + - X, Z = (X + ) C decompose
More information1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007
Lecture 1 Introduction 1 Introduction 1.1 The Problem Domain Today, we are going to ask whether a system can recover from perturbation. Consider a children s top: If it is perfectly vertically, you can
More informationSafety and Liveness. Thread Synchronization: Too Much Milk. Critical Sections. A Really Cool Theorem
Safety and Liveness Properties defined over an execution of a program Thread Synchronization: Too Much Milk Safety: nothing bad happens holds in every finite execution prefix Windows never crashes No patient
More informationDesirable properties of decompositions 1. Decomposition of relational schemes. Desirable properties of decompositions 3
Desirable properties of decompositions 1 Lossless decompositions A decomposition of the relation scheme R into Decomposition of relational schemes subschemes R 1, R 2,..., R n is lossless if, given tuples
More informationClojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014
Clojure Concurrency Constructs, Part Two CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 1 Goals Cover the material presented in Chapter 4, of our concurrency textbook In particular,
More informationDiagnosing Automatic Whitelisting for Dynamic Remarketing Ads Using Hybrid ASP
Diagnosing Automatic Whitelisting for Dynamic Remarketing Ads Using Hybrid ASP Alex Brik 1 and Jeffrey B. Remmel 2 LPNMR 2015 September 2015 1 Google Inc 2 UC San Diego lex Brik and Jeffrey B. Remmel (LPNMR
More informationMathematics (www.tiwariacademy.com: Focus on free education)
(: Focus on free education) Exercise 3.7 Question 1: The ages of two friends Ani and Biju differ by 3 years. Ani s father Dharam is twice as old as Ani and Biju is twice as old as his sister Cathy. The
More informationModal and Temporal Logics
Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics
More informationA practical introduction to active automata learning
A practical introduction to active automata learning Bernhard Steffen, Falk Howar, Maik Merten TU Dortmund SFM2011 Maik Merten, learning technology 1 Overview Motivation Introduction to active automata
More informationClock-driven scheduling
Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017
More informationTowards a Property Preserving Transformation from IEC to BIP
Towards a Property Preserving Transformation from IEC 61131 3 to BIP Jan Olaf Blech, Anton Hattendorf, Jia Huang fortiss GmbH, Guerickestraße 25, 80805 München, Germany September 7, 2010 arxiv:1009.0817v1
More informationThe Leader Election Protocol (IEEE 1394)
The Leader Election Protocol (IEEE 1394) J.R. Abrial, D. Cansell, D. Méry July 2002 This Session - Background :-) - An informal presentation of the protocol :-) - Step by step formal design :- - Short
More informationOutline. Approximation: Theory and Algorithms. Application Scenario. 3 The q-gram Distance. Nikolaus Augsten. Definition and Properties
Outline Approximation: Theory and Algorithms Nikolaus Augsten Free University of Bozen-Bolzano Faculty of Computer Science DIS Unit 3 March 13, 2009 2 3 Nikolaus Augsten (DIS) Approximation: Theory and
More informationRATIO AND PROPORTION, INDICES, LOGARITHMS
CHAPTER RATIO AND PROPORTION, INDICES, LOGARITHMS UNIT I: RATIO LEARNING OBJECTIVES After reading this unit a student will learn How to compute and compare two ratios; Effect of increase or decrease of
More informationINF Models of concurrency
Monitors INF4140 - Models of concurrency Monitors, lecture 4 Fall 2017 27. September 2017 2 / 49 Overview Concurrent execution of different processes Communication by shared variables Processes may interfere
More informationOn Compensation Primitives as Adaptable Processes
On Compensation Primitives as Adaptable Processes Jovana Dedeić University of Novi Sad Jovanka Pantović (Novi Sad) and Jorge A. Pérez (Groningen) LAP 2015 - Dubrovnik, September 24, 2015 Outline 1 Context
More information7. Queueing Systems. 8. Petri nets vs. State Automata
Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models
More informationADVANCED. 16M (2-Bank x 524,288-Word x 16-Bit) Synchronous DRAM FEATURES OPTIONS GENERAL DESCRIPTION. APR (Rev.2.9)
ADVANCED 16M (2-Bank x 524,288-Word x 16-Bit) Synchronous DRAM FEATURES OPTIONS GENERAL DESCRIPTION APR. 2007 (Rev.2.9) F D Read (READ) [RAS = H, CAS = L, WE = H] Write (WRITE) [RAS = H, CAS =WE = L] Chip
More informationDeadlock. CSE 2431: Introduction to Operating Systems Reading: Chap. 7, [OSC]
Deadlock CSE 2431: Introduction to Operating Systems Reading: Chap. 7, [OSC] 1 Outline Resources Deadlock Deadlock Prevention Deadlock Avoidance Deadlock Detection Deadlock Recovery 2 Review: Synchronization
More informationCSCI-564 Advanced Computer Architecture
CSCI-564 Advanced Computer Architecture Lecture 8: Handling Exceptions and Interrupts / Superscalar Bo Wu Colorado School of Mines Branch Delay Slots (expose control hazard to software) Change the ISA
More informationA study of online construction of fragment replicas. Fernanda Torres Pizzorno
A study of online construction of fragment replicas Fernanda Torres Pizzorno June 30, 2005 Preface In this report, I present the hovedoppgave of my 5 th year in the Siv. ing. i Datateknikk course at NTNU.
More informationAxiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs
Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.
More informationExercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems
Exercises Solutions Note, that we have not formulated the answers for all the review questions. You will find the answers for many questions by reading and reflecting about the text in the book. Chapter
More informationA Self-Stabilizing Minimal Dominating Set Algorithm with Safe Convergence
A Self-Stabilizing Minimal Dominating Set Algorithm with Safe Convergence Hirotsugu Kakugawa and Toshimitsu Masuzawa Department of Computer Science Graduate School of Information Science and Technology
More informationEmbedded Systems Development
Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationCOSC 430 Advanced Database Topics. Lecture 2: Relational Theory Haibo Zhang Computer Science, University of Otago
COSC 430 Advanced Database Topics Lecture 2: Relational Theory Haibo Zhang Computer Science, University of Otago Learning objectives and references You should be able to: define the elements of the relational
More informationThe Assignment Axiom (Hoare)
The Assignment Axiom (Hoare) Syntax: V := E Semantics: value of V in final state is value of E in initial state Example: X:=X+ (adds one to the value of the variable X) The Assignment Axiom {Q[E/V ]} V
More informationUsing Oracle Rdb Partitioned Lock Trees. Norman Lastovica Oracle Rdb Engineering November 13, 06
Using Oracle Rdb Partitioned Lock Trees Norman Lastovica Oracle Rdb Engineering November 13, 06 Agenda Locking Review Partitioned Lock Trees in OpenVMS Clusters Performance tests 2 Disclaimers Tests represented
More informationEvent Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics
Department of Computer Science and Engineering University of Texas at Arlington Arlington, TX 76019 Event Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics Raman
More informationPipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2
Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
More informationCS 21 Decidability and Tractability Winter Solution Set 3
CS 21 Decidability and Tractability Winter 2018 Posted: January 31 Solution Set 3 If you have not yet turned in the Problem Set, you should not consult these solutions. 1. (a) A 2-NPDA is a 7-tuple (Q,,
More informationChapter 7. Sequential Circuits Registers, Counters, RAM
Chapter 7. Sequential Circuits Registers, Counters, RAM Register - a group of binary storage elements suitable for holding binary info A group of FFs constitutes a register Commonly used as temporary storage
More informationHomework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages
Homework s TM Variants and the Universal TM Homework #6 returned Homework #7 due today Homework #8 (the LAST homework!) Page 262 -- Exercise 10 (build with JFLAP) Page 270 -- Exercise 2 Page 282 -- Exercise
More informationAutomata-Theoretic Model Checking of Reactive Systems
Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,
More informationDistributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour
Distributed Algorithms (CAS 769) Week 1: Introduction, Logical clocks, Snapshots Dr. Borzoo Bonakdarpour Department of Computing and Software McMaster University Dr. Borzoo Bonakdarpour Distributed Algorithms
More informationME 201 Engineering Mechanics: Statics
ME 0 Engineering Mechanics: Statics Unit 9. Moments of nertia Definition of Moments of nertia for Areas Parallel-Axis Theorem for an Area Radius of Gyration of an Area Moments of nertia for Composite Areas
More informationOur Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering
Our Problem Global Predicate Detection and Event Ordering To compute predicates over the state of a distributed application Model Clock Synchronization Message passing No failures Two possible timing assumptions:
More informationCircular Membranes. Farlow, Lesson 30. November 21, Department of Mathematical Sciences Florida Atlantic University Boca Raton, FL 33431
The Problem Polar coordinates Solving the Problem by Separation of Variables Circular Membranes Farlow, Lesson 30 Department of Mathematical Sciences Florida Atlantic University Boca Raton, FL 33431 November
More informationFinite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018
Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018 Lecture 14 Ana Bove May 14th 2018 Recap: Context-free Grammars Simplification of grammars: Elimination of ǫ-productions; Elimination of
More informationPropositional Resolution Introduction
Propositional Resolution Introduction (Nilsson Book Handout) Professor Anita Wasilewska CSE 352 Artificial Intelligence Propositional Resolution Part 1 SYNTAX dictionary Literal any propositional VARIABLE
More informationP Q1 Q2 Q3 Q4 Q5 Tot (60) (20) (20) (20) (60) (20) (200) You are allotted a maximum of 4 hours to complete this exam.
Exam INFO-H-417 Database System Architecture 13 January 2014 Name: ULB Student ID: P Q1 Q2 Q3 Q4 Q5 Tot (60 (20 (20 (20 (60 (20 (200 Exam modalities You are allotted a maximum of 4 hours to complete this
More informationThe Weakest Failure Detector to Solve Mutual Exclusion
The Weakest Failure Detector to Solve Mutual Exclusion Vibhor Bhatt Nicholas Christman Prasad Jayanti Dartmouth College, Hanover, NH Dartmouth Computer Science Technical Report TR2008-618 April 17, 2008
More informationCISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata
CISC 4090: Theory of Computation Chapter Regular Languages Xiaolan Zhang, adapted from slides by Prof. Werschulz Section.: Finite Automata Fordham University Department of Computer and Information Sciences
More informationEfficient Algorithm for Reachability Checking in Modeling
Efficient Algorithm for Reachability Checking in Modeling Alexander Letichevsky 1, Olexander Letychevskyi 1, and Vladimir Peschanenko 2 1 Glushkov Institute of Cybernetics of NAS of Ukraine, 40 Glushkova
More informationCptS 464/564 Fall Prof. Dave Bakken. Cpt. S 464/564 Lecture January 26, 2014
Overview of Ordering and Logical Time Prof. Dave Bakken Cpt. S 464/564 Lecture January 26, 2014 Context This material is NOT in CDKB5 textbook Rather, from second text by Verissimo and Rodrigues, chapters
More informationSchema Refinement and Normal Forms
Schema Refinement and Normal Forms Chapter 19 Quiz #2 Next Thursday Comp 521 Files and Databases Fall 2012 1 The Evils of Redundancy v Redundancy is at the root of several problems associated with relational
More informationCS632 Notes on Relational Query Languages I
CS632 Notes on Relational Query Languages I A. Demers 6 Feb 2003 1 Introduction Here we define relations, and introduce our notational conventions, which are taken almost directly from [AD93]. We begin
More informationA Thread Algebra with Multi-level Strategic Interleaving
Theory of Computing Systems manuscript No. (will be inserted by the editor) A Thread Algebra with Multi-level Strategic Interleaving J.A. Bergstra 1,2, C.A. Middelburg 3,1 1 Programming Research Group,
More informationCS 6112 (Fall 2011) Foundations of Concurrency
CS 6112 (Fall 2011) Foundations of Concurrency 29 November 2011 Scribe: Jean-Baptiste Jeannin 1 Readings The readings for today were: Eventually Consistent Transactions, by Sebastian Burckhardt, Manuel
More informationA new FMECA model for reliability computations in electrical distribution systems
Proceedings of the 6th WSEAS/IASME Int. Conf. on Electric Power Systems, High Voltages, Electric Machines, Tenerife, Spain, December 6-8, 2006 A new FMECA model for reliability computations in electrical
More information