Transaction Processing

Size: px
Start display at page:

Download "Transaction Processing"

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

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 information

Distributed Transactions. CS5204 Operating Systems 1

Distributed 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 information

Transactional Information Systems:

Transactional 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 information

Shared on QualifyGate.com

Shared 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 information

Quiz 2. Due November 26th, CS525 - Advanced Database Organization Solutions

Quiz 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 information

Algebra I. Book 2. Powered by...

Algebra 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 information

1 Introduction to Predicate Resolution

1 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 information

Chapter y. 8. n cd (x y) 14. (2a b) 15. (a) 3(x 2y) = 3x 3(2y) = 3x 6y. 16. (a)

Chapter 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 information

Real-Time Software Transactional Memory: Contention Managers, Time Bounds, and Implementations

Real-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 information

Clocks in Asynchronous Systems

Clocks 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 information

arxiv: v2 [cs.dc] 20 Nov 2017

arxiv: 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 information

Programming Languages and Compilers (CS 421)

Programming 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 information

I 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 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 information

DMP. Deterministic Shared Memory Multiprocessing. Presenter: Wu, Weiyi Yale University

DMP. 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 information

Leveraging 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 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 information

FACTORS AFFECTING CONCURRENT TRUNCATE

FACTORS 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 information

Mediated Population Protocols

Mediated 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 information

Liveness of Communicating Transactions

Liveness 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 information

Deadlock Ezio Bartocci Institute for Computer Engineering

Deadlock 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 information

UVA UVA UVA UVA. Database Design. Relational Database Design. Functional Dependency. Loss of Information

UVA 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 information

Identity. "At least one dog has fleas" is translated by an existential quantifier"

Identity. 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 information

Introduction to Database Systems CSE 414. Lecture 20: Design Theory

Introduction 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 information

GATE 2015 A Brief Analysis (Based on student test experiences in the stream of CS on 8th February, 2015 (Morning Session)

GATE 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 information

Homework 1/Solutions. Graded Exercises

Homework 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 information

Testing from a Finite State Machine: An introduction 1

Testing 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 information

Financial. Analysis. O.Eval = {Low, High} Store. Bid. Update. Risk. Technical. Evaluation. External Consultant

Financial. 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 information

Industrial Automation (Automação de Processos Industriais)

Industrial 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 information

Design 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 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 information

Functional Dependency and Algorithmic Decomposition

Functional 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 information

Disjunctive relational abstract interpretation for interprocedural program analysis

Disjunctive 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 information

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Decentralized 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 information

NCU EE -- DSP VLSI Design. Tsung-Han Tsai 1

NCU 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 information

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

AGREEMENT 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 information

SYMBOL NAME DESCRIPTION EXAMPLES. called positive integers) negatives, and 0. represented as a b, where

SYMBOL 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 information

35H MPa Hydraulic Cylinder 3.5 MPa Hydraulic Cylinder 35H-3

35H 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 information

The State Explosion Problem

The 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 information

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement

A 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 information

General 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 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 information

Lesson 13: More Factoring Strategies for Quadratic Equations & Expressions

Lesson 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 information

The Discrete EVent System specification (DEVS) formalism

The 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 information

Technical Report Sequential Proximity

Technical 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 information

INF 4140: Models of Concurrency Series 3

INF 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 information

A Humble Introduction to DIJKSTRA S A A DISCIPLINE OF PROGRAMMING

A 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 information

arxiv: v1 [cs.dc] 9 Feb 2015

arxiv: 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 information

Theory of Computation - Module 2

Theory 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 information

Theory of Computation

Theory 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 information

CSCC63 Worksheet Turing Machines

CSCC63 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 information

INF1383 -Bancos de Dados

INF1383 -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 information

Improper Nesting Example

Improper 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 information

CSC 261/461 Database Systems Lecture 13. Spring 2018

CSC 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 information

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

1 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 information

Safety and Liveness. Thread Synchronization: Too Much Milk. Critical Sections. A Really Cool Theorem

Safety 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 information

Desirable properties of decompositions 1. Decomposition of relational schemes. Desirable properties of decompositions 3

Desirable 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 information

Clojure 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 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 information

Diagnosing Automatic Whitelisting for Dynamic Remarketing Ads Using Hybrid ASP

Diagnosing 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 information

Mathematics (www.tiwariacademy.com: Focus on free education)

Mathematics (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 information

Modal and Temporal Logics

Modal 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 information

A practical introduction to active automata learning

A 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 information

Clock-driven scheduling

Clock-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 information

Towards a Property Preserving Transformation from IEC to BIP

Towards 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 information

The Leader Election Protocol (IEEE 1394)

The 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 information

Outline. Approximation: Theory and Algorithms. Application Scenario. 3 The q-gram Distance. Nikolaus Augsten. Definition and Properties

Outline. 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 information

RATIO AND PROPORTION, INDICES, LOGARITHMS

RATIO 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 information

INF Models of concurrency

INF 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 information

On Compensation Primitives as Adaptable Processes

On 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 information

7. Queueing Systems. 8. Petri nets vs. State Automata

7. 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 information

ADVANCED. 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 (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 information

Deadlock. CSE 2431: Introduction to Operating Systems Reading: Chap. 7, [OSC]

Deadlock. 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 information

CSCI-564 Advanced Computer Architecture

CSCI-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 information

A study of online construction of fragment replicas. Fernanda Torres Pizzorno

A 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 information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic 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 information

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

Exercises 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 information

A Self-Stabilizing Minimal Dominating Set Algorithm with Safe Convergence

A 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 information

Embedded Systems Development

Embedded 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 information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction 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 information

COSC 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 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 information

The Assignment Axiom (Hoare)

The 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 information

Using 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 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 information

Event Operators: Formalization, Algorithms, and Implementation Using Interval- Based Semantics

Event 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 information

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Pipelining. 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 information

CS 21 Decidability and Tractability Winter Solution Set 3

CS 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 information

Chapter 7. Sequential Circuits Registers, Counters, RAM

Chapter 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 information

Homework. Turing Machines. Announcements. Plan for today. Now our picture looks like. Languages

Homework. 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 information

Automata-Theoretic Model Checking of Reactive Systems

Automata-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 information

Distributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour

Distributed 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 information

ME 201 Engineering Mechanics: Statics

ME 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 information

Our Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering

Our 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 information

Circular Membranes. Farlow, Lesson 30. November 21, Department of Mathematical Sciences Florida Atlantic University Boca Raton, FL 33431

Circular 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 information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Finite 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 information

Propositional Resolution Introduction

Propositional 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 information

P 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.

P 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 information

The Weakest Failure Detector to Solve Mutual Exclusion

The 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 information

CISC 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 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 information

Efficient Algorithm for Reachability Checking in Modeling

Efficient 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 information

CptS 464/564 Fall Prof. Dave Bakken. Cpt. S 464/564 Lecture January 26, 2014

CptS 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 information

Schema Refinement and Normal Forms

Schema 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 information

CS632 Notes on Relational Query Languages I

CS632 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 information

A Thread Algebra with Multi-level Strategic Interleaving

A 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 information

CS 6112 (Fall 2011) Foundations of Concurrency

CS 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 information

A new FMECA model for reliability computations in electrical distribution systems

A 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