Transactional Information Systems:

Size: px
Start display at page:

Download "Transactional Information Systems:"

Transcription

1 Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery Gerhard Weikum and Gottfried Vossen 2002 Morgan Kaufmann ISBN Teamwork is essential. It allows you to blame someone else. (Anonymous) 1 / 24

2 Part II: Concurrency Control 3 Concurrency Control: Notions of Correctness for the Page Model 4 Concurrency Control Algorithms 5 Multiversion Concurrency Control 6 Concurrency Control on Objects: Notions of Correctness 7 Concurrency Control Algorithms on Objects 8 Concurrency Control on Relational Databases 9 Concurrency Control on Search Structures 10 Implementation and Pragmatic Issues 2 / 24

3 Chapter 5: Multiversion Concurrency Control 5.2 Multiversion Schedules 5.3 Multiversion Serializability 5.4 Limiting the Number of Versions 5.5 Multiversion Concurrency Control Protocols 5.6 Lessons Learned A book is a version of the world. If you do not like it, ignore it; or offer your own version in return. (Salmon Rushdie) 3 / 24

4 Motivation Example 5.1: s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 1 (z) c 1 c 2 CSR but: schedule would be tolerable if r 1 (y) could read the old version y 0 of y to be consistent with r 1 (x) s would then be equivalent to serial s' = t 1 t 2 4 / 24

5 Motivation Example 5.1: s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 1 (z) c 1 c 2 CSR but: schedule would be tolerable if r 1 (y) could read the old version y 0 of y to be consistent with r 1 (x) s would then be equivalent to serial s' = t 1 t 2 Approach: each w step creates a new version each r step can choose which version it wants/needs to read versions are transparent to application and transient (i.e., subject to garbage collection) 4 / 24

6 Multiversion Schedules Definition 5.1 (Version Function): Let s be a history with initial transaction t 0 and final transaction t. A version function for s is a function h which associates with each read step of s a previous write step on the same data item, and the identity for writes. 5 / 24

7 Multiversion Schedules Definition 5.1 (Version Function): Let s be a history with initial transaction t 0 and final transaction t. A version function for s is a function h which associates with each read step of s a previous write step on the same data item, and the identity for writes. Definition 5.2 (Multiversion Schedule): A multiversion (mv) history for transactions T ={t 1,..., t n } is a pair m=(op(m), < m ) where < m is an order on op(m) and (1) op(m) = i=1..n h(op(t i )) for some version function h, (2) for all t T and all p, q op(t i ): p < t q h(p) < m h(q), (3) if h(r j (x)) = w j (x i ), i j, then c i is in m and c i < m c j. A multiversion (mv) schedule is a prefix of a multiversion history. Example 5.2: r 1 (x 0 ) w 1 (x 1 ) r 2 (x 1 ) w 2 (y 2 ) r 1 (y 0 ) w 1 (z 1 ) c 1 c 2 with h(r 1 (y)) = w 0 (y 0 ) 5 / 24

8 Multiversion Schedules Definition 5.1 (Version Function): Let s be a history with initial transaction t 0 and final transaction t. A version function for s is a function h which associates with each read step of s a previous write step on the same data item, and the identity for writes. Definition 5.2 (Multiversion Schedule): A multiversion (mv) history for transactions T ={t 1,..., t n } is a pair m=(op(m), < m ) where < m is an order on op(m) and (1) op(m) = i=1..n h(op(t i )) for some version function h, (2) for all t T and all p, q op(t i ): p < t q h(p) < m h(q), (3) if h(r j (x)) = w j (x i ), i j, then c i is in m and c i < m c j. A multiversion (mv) schedule is a prefix of a multiversion history. Example 5.2: r 1 (x 0 ) w 1 (x 1 ) r 2 (x 1 ) w 2 (y 2 ) r 1 (y 0 ) w 1 (z 1 ) c 1 c 2 with h(r 1 (y)) = w 0 (y 0 ) Definition 5.3 (Monoversion Schedule): A multiversion schedule is a monoversion schedule if its version function maps each read to the last preceding write on the same data item. Example: r 1 (x 0 ) w 1 (x 1 ) r 2 (x 1 ) w 2 (y 2 ) r 1 (y 2 ) w 1 (z 1 ) c 1 c 2 5 / 24

9 Chapter 5: Multiversion Concurrency Control 5.2 Multiversion Schedules 5.3 Multiversion Serializability 5.4 Limiting the Number of Versions 5.5 Multiversion Concurrency Control Protocols 5.6 Lessons Learned 6 / 24

10 Multiversion View Serializability Definition 5.4 (Reads-from Relation): For mv schedule m the reads-from relation of m is RF(m) = {(t i, x, t j ) r j (x i ) op(m)}. 7 / 24

11 Multiversion View Serializability Definition 5.4 (Reads-from Relation): For mv schedule m the reads-from relation of m is RF(m) = {(t i, x, t j ) r j (x i ) op(m)}. Definition 5.5 (View Equivalence): mv histories m and m' with trans(m)=trans(m') are view equivalent, m v m, if RF(m) = RF(m'). 7 / 24

12 Multiversion View Serializability Definition 5.4 (Reads-from Relation): For mv schedule m the reads-from relation of m is RF(m) = {(t i, x, t j ) r j (x i ) op(m)}. Definition 5.5 (View Equivalence): mv histories m and m' with trans(m)=trans(m') are view equivalent, m v m, if RF(m) = RF(m'). Definition 5.6 (Multiversion View Serializability): m is multiversion view serializable if there is a serial monoversion history m' s.t. m v m'. MVSR is the class of multiversion view serializable histories. 7 / 24

13 Multiversion View Serializability Definition 5.4 (Reads-from Relation): For mv schedule m the reads-from relation of m is RF(m) = {(t i, x, t j ) r j (x i ) op(m)}. Definition 5.5 (View Equivalence): mv histories m and m' with trans(m)=trans(m') are view equivalent, m v m, if RF(m) = RF(m'). Definition 5.6 (Multiversion View Serializability): m is multiversion view serializable if there is a serial monoversion history m' s.t. m v m'. MVSR is the class of multiversion view serializable histories. Example 5.5: m = w 0 (x 0 ) w 0 (y 0 ) c 0 r 1 (x 0 ) r 1 (y 0 ) w 1 (x 1 ) w 1 (y 1 ) c 1 r 2 (x 0 ) r 2 (y 1 ) c 2 Example 5.6: m = w 0 (x 0 ) w 0 (y 0 ) c 0 w 1 (x 1 ) c 1 r 2 (x 1 ) r 3 (x 0 ) w 3 (x 3 ) c 3 w 2 (y 2 ) c 2 MVSR v t 0 t 3 t 1 t 2 7 / 24

14 Properties of MVSR Theorem 5.1: VSR MVSR Example: s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 1 (z) c 1 c 2 8 / 24

15 Properties of MVSR Theorem 5.1: VSR MVSR Example: s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 1 (z) c 1 c 2 Theorem 5.2: Deciding if a mv history is in MVSR is NP-complete. 8 / 24

16 Properties of MVSR Theorem 5.1: VSR MVSR Example: s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 1 (z) c 1 c 2 Theorem 5.2: Deciding if a mv history is in MVSR is NP-complete. Theorem 5.3: The conflict graph of an mv schedule m is a directed graph G(m) with transactions as nodes and an edge from t i to t j if r j (x i ) op(m). For all mv schedules m, m': m v m' G(m) = G(m'). Example: m = w 1 (x 1 ) r 2 (x 0 ) w 1 (y 1 ) r 2 (y 1 ) c 1 c 2 m' = w 1 (x 1 ) w 1 (y 1 ) c 1 r 2 (x 1 ) r 2 (y 0 ) c 2 G(m) = G(m'), but not m v m' 8 / 24

17 Testing MVSR Definition 5.8 (Multiversion Serialization Graph (MVSG)): A version order for data item x, denoted << x, is a total order among all versions of x. A version order for mv schedule m is the union of version orders for items written in m. The mv serialization graph for m and a given version order <<, MVSG (m, <<), is a graph with transactions as nodes and the following edges: (i) all edges of G(m) are in MVSG(m, <<) (i.e., for r k (x j ) in op(m) there is an edge from t j to t k ) (ii) for r k (x j ), w i (x i ) in op(m): if x i << x j then there is an edge from t i to t j (iii) for r k (x j ), w i (x i ) in op(m): if x j << x i then there is an edge from t k to t i 9 / 24

18 Testing MVSR Definition 5.8 (Multiversion Serialization Graph (MVSG)): A version order for data item x, denoted << x, is a total order among all versions of x. A version order for mv schedule m is the union of version orders for items written in m. The mv serialization graph for m and a given version order <<, MVSG (m, <<), is a graph with transactions as nodes and the following edges: (i) all edges of G(m) are in MVSG(m, <<) (i.e., for r k (x j ) in op(m) there is an edge from t j to t k ) (ii) for r k (x j ), w i (x i ) in op(m): if x i << x j then there is an edge from t i to t j (iii) for r k (x j ), w i (x i ) in op(m): if x j << x i then there is an edge from t k to t i Theorem 5.4: m is in MVSR iff there exists a version order << s.t. MVSG(m, <<) is acyclic. 9 / 24

19 MVSG Example Examples 5.7 and 5.8: m = w 0 (x 0 ) w 0 (y 0 ) w 0 (z 0 ) c 0 r 1 (x 0 ) r 2 (x 0 ) r 2 (z 0 ) r 3 (z 0 ) w 1 (y 1 ) w 2 (x 2 ) w 3 (y 3 ) w 3 (z 3 ) c 1 c 2 c 3 r 4 (x 2 ) r 4 (y 3 ) r 4 (z 3 ) c 4 with version order <<: x 0 << x 2 y 0 << y 1 << y 3 z 0 << z 3 MVSG(m, <<): t 1 t 0 t 3 t 4 t 2 10 / 24

20 MVSG Example Examples 5.7 and 5.8: m = w 0 (x 0 ) w 0 (y 0 ) w 0 (z 0 ) c 0 r 1 (x 0 ) r 2 (x 0 ) r 2 (z 0 ) r 3 (z 0 ) w 1 (y 1 ) w 2 (x 2 ) w 3 (y 3 ) w 3 (z 3 ) c 1 c 2 c 3 r 4 (x 2 ) r 4 (y 3 ) r 4 (z 3 ) c 4 with version order <<: x 0 << x 2 y 0 << y 1 << y 3 z 0 << z 3 MVSG(m, <<): t 1 t 0 t 3 t 4 t 2 Notice: Testing whether appropriate << exists for given m is not necessarily polynomial NP-completeness result remains 10 / 24

21 Multiversion Conflict Serializability Definition 5.9 (Multiversion Conflict): A multiversion conflict in m is a pair r i (x j ) and w k (x k ) such that r i (x j ) < m w k (x k ). 11 / 24

22 Multiversion Conflict Serializability Definition 5.9 (Multiversion Conflict): A multiversion conflict in m is a pair r i (x j ) and w k (x k ) such that r i (x j ) < m w k (x k ). Definition 5.10 (Multiversion Reducibility): An mv history is multiversion reducible if it can be transformed into a serial monoversion history by exchanging the order of adjacent steps other than multiversion conflict pairs. 11 / 24

23 Multiversion Conflict Serializability Definition 5.9 (Multiversion Conflict): A multiversion conflict in m is a pair r i (x j ) and w k (x k ) such that r i (x j ) < m w k (x k ). Definition 5.10 (Multiversion Reducibility): An mv history is multiversion reducible if it can be transformed into a serial monoversion history by exchanging the order of adjacent steps other than multiversion conflict pairs. Definition 5.11 (Multiversion Conflict Serializability): An mv history is multiversion conflict serializable if there is a serial monoversion history with the same transactions and the same (ordering of) multiversion conflict pairs. MCSR denotes the class of all multiversion conflict serializable histories. 11 / 24

24 Multiversion Conflict Serializability Definition 5.9 (Multiversion Conflict): A multiversion conflict in m is a pair r i (x j ) and w k (x k ) such that r i (x j ) < m w k (x k ). Definition 5.10 (Multiversion Reducibility): An mv history is multiversion reducible if it can be transformed into a serial monoversion history by exchanging the order of adjacent steps other than multiversion conflict pairs. Definition 5.11 (Multiversion Conflict Serializability): An mv history is multiversion conflict serializable if there is a serial monoversion history with the same transactions and the same (ordering of) multiversion conflict pairs. MCSR denotes the class of all multiversion conflict serializable histories. Definition 5.12 (Multiversion Conflict Graph): For an mv schedule m the multiversion conflict graph is a graph with transactions as nodes and an edge from t i to t k if there are steps r i (x j ) and w k (x k ) such that r i (x j ) < m w k (x k ). 11 / 24

25 Properties of MCSR Theorem: m is in MCSR m is multiversion reducible m's mv conflict graph is acyclic 12 / 24

26 Properties of MCSR Theorem: m is in MCSR m is multiversion reducible m's mv conflict graph is acyclic Theorem 5.6: MCSR MVSR Example: m = w 0 (x 0 ) w 0 (y 0 ) w 0 (z 0 ) c 0 r 2 (y 0 ) r 3 (z 0 ) w 3 (x 3 ) c 3 r 1 (x 3 ) w 1 (y 1 ) c 1 w 2 (x 2 ) c 2 r (x 2 ) r (y 1 ) r (z 0 ) c MCSR MVSR m v t 0 t 3 t 2 t 1 t 12 / 24

27 Chapter 5: Multiversion Concurrency Control 5.2 Multiversion Schedules 5.3 Multiversion Serializability 5.4 Limiting the Number of Versions 5.5 Multiversion Concurrency Control Protocols 5.6 Lessons Learned 13 / 24

28 MVTO Protocol Multiversion timestamp ordering (MVTO): each transaction t i is assigned a unique timestamp ts(t i ) r i (x) is mapped to r i (x k ) where x k is the version that carries the largest timestamp ts(t i ) w i (x) is rejected if there is r j (x k ) with ts(t k ) < ts(t i ) < ts(t j ) mapped into w i (x i ) otherwise c i is delayed until c j of all transactions t j that have written versions read by t i Correctness of MVTO (i.e., Gen(MVTO) MVSR): x i << x j ts(t i ) < ts(t j ) 14 / 24

29 MVTO Example t 1 r 1 (x 0 ) r 1 (y 0 ) r 2 (x 0 ) w 2 (x 2 ) r 2 (y 0 ) w 2 (y 2 ) t 2 t 3 r 3 (x 2 ) r 3 (z 0 ) r 4 (x 2 ) w 4 (x 4 ) r 4 (y 2 ) w 4 (y 4 ) t abort 4 t 5 r 5 (y 2 ) r 5 (z 0 ) 15 / 24

30 MVTO Example t 1 r 1 (x 0 ) r 1 (y 0 ) r 2 (x 0 ) w 2 (x 2 ) r 2 (y 0 ) w 2 (y 2 ) t 2 interleaving impossible w/o multiple versions t 3 r 3 (x 2 ) r 3 (z 0 ) r 4 (x 2 ) w 4 (x 4 ) r 4 (y 2 ) w 4 (y 4 ) t 4 t 5 r 5 (y 2 ) r 5 (z 0 ) abort 15 / 24

31 MVTO Example t 1 r 1 (x 0 ) r 1 (y 0 ) r 2 (x 0 ) w 2 (x 2 ) r 2 (y 0 ) w 2 (y 2 ) t 2 t 3 r 3 (x 2 ) r 3 (z 0 ) interleaving impossible w/o multiple versions needs to wait for t 2 to commit r 4 (x 2 ) w 4 (x 4 ) r 4 (y 2 ) w 4 (y 4 ) t 4 t 5 r 5 (y 2 ) r 5 (z 0 ) abort 15 / 24

32 MVTO Example t 1 r 1 (x 0 ) r 1 (y 0 ) r 2 (x 0 ) w 2 (x 2 ) r 2 (y 0 ) w 2 (y 2 ) t 2 t 3 r 3 (x 2 ) r 3 (z 0 ) interleaving impossible w/o multiple versions needs to wait for t 2 to commit r 4 (x 2 ) w 4 (x 4 ) r 4 (y 2 ) w 4 (y 4 ) t 4 t 5 r 5 (y 2 ) r 5 (z 0 ) abort since last write is too late (in the presence of t 5 ) 15 / 24

33 Multiversion 2PL (MV2PL) Protocol General approach: use write locking to ensure that at each time there is at most one uncommitted version for t i that is not yet issuing its final step: r i (x) is mapped to current version (i.e., the most recent committed version) or an uncommitted version w i (x) is executed only if x is not write-locked, otherwise it is blocked t i 's final step is delayed until after the commit of: all t j that have read from a current version of a data item that t i has written all t j from which t i has read 16 / 24

34 Multiversion 2PL (MV2PL) Protocol General approach: use write locking to ensure that at each time there is at most one uncommitted version for t i that is not yet issuing its final step: r i (x) is mapped to current version (i.e., the most recent committed version) or an uncommitted version w i (x) is executed only if x is not write-locked, otherwise it is blocked t i 's final step is delayed until after the commit of: all t j that have read from a current version of a data item that t i has written all t j from which t i has read Example 5.9: for input schedule s = r 1 (x) w 1 (x) r 2 (x) w 2 (y) r 1 (y) w 2 (x) c 2 w 1 (y) c 1 MV2PL produces the output schedule r 1 (x 0 ) w 1 (x 1 ) r 2 (x 1 ) w 2 (y 2 ) r 1 (y 0 ) w 1 (y 1 ) c 1 w 2 (x 2 ) c 2 16 / 24

35 Specialization: 2V2PL Protocol 2-Version (before/after image) 2PL: request write lock wl i (x) for writing a new uncommitted version and ensuring that at most one such version exists at any time request read lock rl i (x) for reading the current version (i.e., most recent committed version) request certify lock cl i (x) for final step of t i on all data items in t i 's write set lock holder rl i (x) wl i (x) cl i (x) rl j (x) wl j (x) cl lock requestor j (x) + + _ + _ Correctness of 2V2PL (i.e., Gen(2V2PL) MVSR): x i << x j f i < f j (for final certify steps of t i, t j ) 17 / 24

36 2V2PL Example Example 5.10: s = r 1 (x) w 2 (y) r 1 (y) w 1 (x) c 1 r 3 (y) r 3 (z) w 3 (z) w 2 (x) c 2 w 4 (z) c 4 c 3 18 / 24

37 2V2PL Example Example 5.10: s = r 1 (x) w 2 (y) r 1 (y) w 1 (x) c 1 r 3 (y) r 3 (z) w 3 (z) w 2 (x) c 2 w 4 (z) c 4 c 3 t 1 r 1 (x 0 ) r 1 (y 0 ) t 2 w 2 (y 2 ) w 1 (x 1 ) w 2 (x 2 ) c 2 t 3 r 3 (y 0 ) r 3 (z 0 ) w 3 (z 3 ) t 4 w 4 (z 4 ) 18 / 24

38 2V2PL Example Example 5.10: s = r 1 (x) w 2 (y) r 1 (y) w 1 (x) c 1 r 3 (y) r 3 (z) w 3 (z) w 2 (x) c 2 w 4 (z) c 4 c 3 t 1 r 1 (x 0 ) r 1 (y 0 ) t 2 w 2 (y 2 ) w 1 (x 1 ) w 2 (x 2 ) c 2 t 3 r 3 (y 0 ) r 3 (z 0 ) w 3 (z 3 ) t 4 w 4 (z 4 ) rl 1 (x) r 1 (x 0 ) wl 2 (y) w 2 (y 2 ) rl 1 (y) r 1 (y 0 ) wl 1 (x) w 1 (x 1 ) cl 1 (x) u 1 c 1 rl 3 (y) r 3 (y 0 ) rl 3 (z) r 3 (z 0 ) wl 2 (x) cl 2 (x) wl 3 (y) w 3 (z 3 ) cl 3 (y) u 3 c 3 cl 2 (y) u 2 c 2 wl 4 (z) w 4 (z 4 ) cl 4 (z) u 4 c 4 18 / 24

39 Multiversion Serialization Graph Testing (MVSGT) Idea: build version order and MVSG simultaneously (and incrementally) Protocol rules: r i (x) is mapped to r i (x j ) such that there is no path t j... t k... t i with previous w k (x k ) (eliminate too old transactions) there is no path t i... t j (eliminate too young transactions) abort t i if no such t j exists upon w i (x i ) add edges t j t i for all t j with previous r j (x k ) abort t i when detecting cycle upon r i (x j ) add edge t j t i and edges t k t j or t i t k for all t k with previous w k (x k ) 19 / 24

40 ROMV Protocol Read-only Multiversion Protocol (ROMV): each update transactions uses 2PL on both its read and write set but each write creates a new version and timestamps it with the transaction's commit time each read-only transaction t i is timestamped with its begin time r i (x) is mapped to r i (x k ) where x k is the version that carries the largest timestamp ts(t i ) (i.e., the most recent committed version as of the begin of t i ) Correctness of ROMV (i.e., Gen(ROMV) MVSR): x i << x j c i < c j 20 / 24

41 ROMV Example t 1 r 1 (x 0 ) r 1 (y 0 ) t 2 r 2 (x 0 ) w 2 (x 2 ) r 2 (y 0 ) w 2 (y 2 ) t 3 r 3 (x 2 ) w 3 (x 3 ) t 4 r 4 (z 0 ) r 4 (x 0 ) t 5 r 5 (z 0 ) r 5 (x 2 ) 21 / 24

42 Chapter 5: Multiversion Concurrency Control 5.2 Multiversion Schedules 5.3 Multiversion Serializability 5.4 Limiting the Number of Versions 5.5 Multiversion Concurrency Control Protocols 5.6 Lessons Learned 22 / 24

43 Lessons Learned Transient and transparent versioning adds a degree of freedom to concurrency control protocols, making MVSR considerably more powerful than VSR The most striking benefit is for long read transactions that execute concurrently with writers. This specific benefit is achieved with relatively simple protocols like ROMV. 23 / 24

44 Summary Concurrency control in the page model allows for many approaches, yet locking dominates Non-locking algorithms may be used in special situations Multiple versions can help making concurrency control more flexible 24 / 24

Transaction Processing

Transaction Processing 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

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

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

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Agreement. Today. l Coordination and agreement in group communication. l Consensus Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process

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

Efficient Algorithms for Checking the Atomicity of a Run of Read and Write Operations

Efficient Algorithms for Checking the Atomicity of a Run of Read and Write Operations 1 Acta Informatica (Springer-Verlag) 32, pp.155-170, 1995 Efficient Algorithms for Checking the Atomicity of a Run of Read and Write Operations Lefteris M. Kirousis 1,2,3 Andreas G. Veneris 4,5 January

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

Fault-Tolerant Consensus

Fault-Tolerant Consensus Fault-Tolerant Consensus CS556 - Panagiota Fatourou 1 Assumptions Consensus Denote by f the maximum number of processes that may fail. We call the system f-resilient Description of the Problem Each process

More information

Class Note #20. In today s class, the following four concepts were introduced: decision

Class Note #20. In today s class, the following four concepts were introduced: decision Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship

More information

Seeing is Believing: A Client-Centric Specification of Database Isolation

Seeing is Believing: A Client-Centric Specification of Database Isolation Seeing is Believing: A Client-Centric Specification of Database Isolation Natacha Crooks The University of Texas at Austin and Cornell University Lorenzo Alvisi The University of Texas at Austin and Cornell

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

Can an Operation Both Update the State and Return a Meaningful Value in the Asynchronous PRAM Model?

Can an Operation Both Update the State and Return a Meaningful Value in the Asynchronous PRAM Model? Can an Operation Both Update the State and Return a Meaningful Value in the Asynchronous PRAM Model? Jaap-Henk Hoepman Department of Computer Science, University of Twente, the Netherlands hoepman@cs.utwente.nl

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

Section 6 Fault-Tolerant Consensus

Section 6 Fault-Tolerant Consensus Section 6 Fault-Tolerant Consensus CS586 - Panagiota Fatourou 1 Description of the Problem Consensus Each process starts with an individual input from a particular value set V. Processes may fail by crashing.

More information

Distributed Systems. 06. Logical clocks. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 06. Logical clocks. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 06. Logical clocks Paul Krzyzanowski Rutgers University Fall 2017 2014-2017 Paul Krzyzanowski 1 Logical clocks Assign sequence numbers to messages All cooperating processes can agree

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

Time in Distributed Systems: Clocks and Ordering of Events

Time in Distributed Systems: Clocks and Ordering of Events Time in Distributed Systems: Clocks and Ordering of Events Clocks in Distributed Systems Needed to Order two or more events happening at same or different nodes (Ex: Consistent ordering of updates at different

More information

Deadlock (2) Dave Eckhardt Brian Railing Roger Dannenberg

Deadlock (2) Dave Eckhardt Brian Railing Roger Dannenberg Deadlock () Dave Eckhardt Brian Railing Roger Dannenberg 1 1-410, S'18 Synchronization P You should really have, today: Drawn pictures of thread stacks (even if not perfect) Figured out where stubs belong,

More information

Complexity Theory Part II

Complexity Theory Part II Complexity Theory Part II Time Complexity The time complexity of a TM M is a function denoting the worst-case number of steps M takes on any input of length n. By convention, n denotes the length of the

More information

Clock Synchronization

Clock Synchronization Today: Canonical Problems in Distributed Systems Time ordering and clock synchronization Leader election Mutual exclusion Distributed transactions Deadlock detection Lecture 11, page 7 Clock Synchronization

More information

TECHNICAL REPORT YL DISSECTING ZAB

TECHNICAL REPORT YL DISSECTING ZAB TECHNICAL REPORT YL-2010-0007 DISSECTING ZAB Flavio Junqueira, Benjamin Reed, and Marco Serafini Yahoo! Labs 701 First Ave Sunnyvale, CA 94089 {fpj,breed,serafini@yahoo-inc.com} Bangalore Barcelona Haifa

More information

Absence of Global Clock

Absence of Global Clock Absence of Global Clock Problem: synchronizing the activities of different part of the system (e.g. process scheduling) What about using a single shared clock? two different processes can see the clock

More information

Seeking Fastness in Multi-Writer Multiple- Reader Atomic Register Implementations

Seeking Fastness in Multi-Writer Multiple- Reader Atomic Register Implementations ΚΥΠΡΙΑΚΗ ΔΗΜΟΚΡΑΤΙΑ ΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ Η ΔΕΣΜΗ 29- ΣΥΓΧΡΗΜΑΤΟΔΟΤΕΙΤΑΙ ΑΠΟ ΤΗΝ ΚΥΠΡΙΑΚΗ ΔΗΜΟΚΡΑΤΙΑ ΚΑΙ ΤΟ ΕΥΡΩΠΑΪΚΟ ΤΑΜΕΙΟ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΕ Seeking Fastness in Multi-Writer Multiple- Reader Atomic

More information

On Two Class-Constrained Versions of the Multiple Knapsack Problem

On Two Class-Constrained Versions of the Multiple Knapsack Problem On Two Class-Constrained Versions of the Multiple Knapsack Problem Hadas Shachnai Tami Tamir Department of Computer Science The Technion, Haifa 32000, Israel Abstract We study two variants of the classic

More information

Algebraic Specification of Serializability for Partitioned Transactions

Algebraic Specification of Serializability for Partitioned Transactions INTERNATIONAL JOURNAL OF COMPUTER SCIENCE ISSN 1306-4428 1 Algebraic Specification of Serializability for Partitioned Transactions Walter Hussak and John Keane Abstract The usual correctness condition

More information

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Viveck R. Cadambe EE Department, Pennsylvania State University, University Park, PA, USA viveck@engr.psu.edu Nancy Lynch

More information

CS505: Distributed Systems

CS505: Distributed Systems Department of Computer Science CS505: Distributed Systems Lecture 10: Consensus Outline Consensus impossibility result Consensus with S Consensus with Ω Consensus Most famous problem in distributed computing

More information

Solving Fuzzy PERT Using Gradual Real Numbers

Solving Fuzzy PERT Using Gradual Real Numbers Solving Fuzzy PERT Using Gradual Real Numbers Jérôme FORTIN a, Didier DUBOIS a, a IRIT/UPS 8 route de Narbonne, 3062, Toulouse, cedex 4, France, e-mail: {fortin, dubois}@irit.fr Abstract. From a set of

More information

Time. Today. l Physical clocks l Logical clocks

Time. Today. l Physical clocks l Logical clocks Time Today l Physical clocks l Logical clocks Events, process states and clocks " A distributed system a collection P of N singlethreaded processes without shared memory Each process p i has a state s

More information

Intractable Problems Part Two

Intractable Problems Part Two Intractable Problems Part Two Announcements Problem Set Five graded; will be returned at the end of lecture. Extra office hours today after lecture from 4PM 6PM in Clark S250. Reminder: Final project goes

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

NP-Complete Reductions 2

NP-Complete Reductions 2 x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete

More information

ALG 5.4. Lexicographical Search: Applied to Scheduling Theory. Professor John Reif

ALG 5.4. Lexicographical Search: Applied to Scheduling Theory. Professor John Reif Algorithms Professor John Reif ALG 54 input assume problem Scheduling Problems Set of n tasks in precidence relation on tasks Also, given m processors Unit time cost to process task using single processor

More information

arxiv: v1 [cs.dc] 26 Nov 2018

arxiv: v1 [cs.dc] 26 Nov 2018 The SNOW Theorem Revisited Kishori M Konwar, Wyatt Lloyd, Haonan Lu, Nancy Lynch November 27, 2018 arxiv:1811.10577v1 [cs.dc] 26 Nov 2018 Abstract In highly-scalable storage systems for Web services, data

More information

Artificial Intelligence. Non-deterministic state model. Model for non-deterministic problems. Solutions. Blai Bonet

Artificial Intelligence. Non-deterministic state model. Model for non-deterministic problems. Solutions. Blai Bonet Artificial Intelligence Blai Bonet Non-deterministic state model Universidad Simón Boĺıvar, Caracas, Venezuela Model for non-deterministic problems Solutions State models with non-deterministic actions

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

Distributed Consensus

Distributed Consensus Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit or Abort in distributed transactions Reaching agreement

More information

Efficient Reassembling of Graphs, Part 1: The Linear Case

Efficient Reassembling of Graphs, Part 1: The Linear Case Efficient Reassembling of Graphs, Part 1: The Linear Case Assaf Kfoury Boston University Saber Mirzaei Boston University Abstract The reassembling of a simple connected graph G = (V, E) is an abstraction

More information

CS505: Distributed Systems

CS505: Distributed Systems Department of Computer Science CS505: Distributed Systems Lecture 5: Time in Distributed Systems Overview Time and Synchronization Logical Clocks Vector Clocks Distributed Systems Asynchronous systems:

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Topics Clock Synchronization Physical Clocks Clock Synchronization Algorithms

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

The Laws of Cryptography Zero-Knowledge Protocols

The Laws of Cryptography Zero-Knowledge Protocols 26 The Laws of Cryptography Zero-Knowledge Protocols 26.1 The Classes NP and NP-complete. 26.2 Zero-Knowledge Proofs. 26.3 Hamiltonian Cycles. An NP-complete problem known as the Hamiltonian Cycle Problem

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

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

Temporal Constraint Networks

Temporal Constraint Networks Ch. 5b p.1/24 Temporal Constraint Networks Addition to Chapter 5 Ch. 5b p.2/24 Outline Qualitative networks The interval algebra The point algebra Quantitative temporal networks Reference: Chapter 12 of

More information

Topics in Complexity

Topics in Complexity Topics in Complexity Please evaluate this course on Axess! Your feedback really does make a difference. Applied Complexity Theory Complexity theory has enormous practical relevance across various domains

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

Embedded Systems Design: Optimization Challenges. Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden

Embedded Systems Design: Optimization Challenges. Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden of /4 4 Embedded Systems Design: Optimization Challenges Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden Outline! Embedded systems " Example area: automotive electronics " Embedded systems

More information

Solutions to Old Final Exams (For Fall 2007)

Solutions to Old Final Exams (For Fall 2007) Solutions to Old Final Exams (For Fall 2007) CS 381 (Fall 2002, Fall 2004, Fall 2005, Fall 2006) Yogi Sharma Disclaimer: I, Yogi Sharma, do not claim these solution to be complete, or even to be absolutely

More information

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem. 1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search

More information

Distributed Algorithms Time, clocks and the ordering of events

Distributed Algorithms Time, clocks and the ordering of events Distributed Algorithms Time, clocks and the ordering of events Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

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

CSC501 Operating Systems Principles. Deadlock

CSC501 Operating Systems Principles. Deadlock CSC501 Operating Systems Principles Deadlock 1 Last Lecture q Priority Inversion Q Priority Inheritance Protocol q Today Q Deadlock 2 The Deadlock Problem q Definition Q A set of blocked processes each

More information

BlockDAG protocols SPECTRE, PHANTOM

BlockDAG protocols SPECTRE, PHANTOM lockdag protocols SPECTRE, PHANTOM PASE 18, Stanford Yonatan Sompolinsky Joint work with Aviv Zohar Motivation - Algorithms on graphs are fun - lockchain does not scale - lockdag - generlization of Satoshi

More information

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation Logical Time Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation 2013 ACM Turing Award:

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

Distributed Computing. Synchronization. Dr. Yingwu Zhu

Distributed Computing. Synchronization. Dr. Yingwu Zhu Distributed Computing Synchronization Dr. Yingwu Zhu Topics to Discuss Physical Clocks Logical Clocks: Lamport Clocks Classic paper: Time, Clocks, and the Ordering of Events in a Distributed System Lamport

More information

Abstract Dialectical Frameworks

Abstract Dialectical Frameworks Abstract Dialectical Frameworks Gerhard Brewka Computer Science Institute University of Leipzig brewka@informatik.uni-leipzig.de joint work with Stefan Woltran G. Brewka (Leipzig) KR 2010 1 / 18 Outline

More information

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling.

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling. Algorithm Design Scheduling Algorithms Part 2 Parallel machines. Open-shop Scheduling. Job-shop Scheduling. 1 Parallel Machines n jobs need to be scheduled on m machines, M 1,M 2,,M m. Each machine can

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

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

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

Time. To do. q Physical clocks q Logical clocks

Time. To do. q Physical clocks q Logical clocks Time To do q Physical clocks q Logical clocks Events, process states and clocks A distributed system A collection P of N single-threaded processes (p i, i = 1,, N) without shared memory The processes in

More information

SOLUTION: SOLUTION: SOLUTION:

SOLUTION: SOLUTION: SOLUTION: Convert R and S into nondeterministic finite automata N1 and N2. Given a string s, if we know the states N1 and N2 may reach when s[1...i] has been read, we are able to derive the states N1 and N2 may

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems. Required reading for this topic } Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson for "Impossibility of Distributed with One Faulty Process,

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

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory EPFL Abstract Recent papers [7, 9] define the weakest failure detector

More information

Safety Analysis Using Petri Nets

Safety Analysis Using Petri Nets Safety Analysis Using Petri Nets IEEE Transactions on Software Engineering (1987) Nancy G. Leveson and Janice L. Stolzy Park, Ji Hun 2010.06.21 Introduction Background Petri net Time petri net Contents

More information

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 06: Synchronization Version: November 16, 2009 2 / 39 Contents Chapter

More information

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems

Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Simple Bivalency Proofs of the Lower Bounds in Synchronous Consensus Problems Xianbing Wang, Yong-Meng Teo, and Jiannong Cao Singapore-MIT Alliance E4-04-10, 4 Engineering Drive 3, Singapore 117576 Abstract

More information

1 Heuristics for the Traveling Salesman Problem

1 Heuristics for the Traveling Salesman Problem Praktikum Algorithmen-Entwurf (Teil 9) 09.12.2013 1 1 Heuristics for the Traveling Salesman Problem We consider the following problem. We want to visit all the nodes of a graph as fast as possible, visiting

More information

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1. Coordination Failures and Consensus If the solution to availability and scalability is to decentralize and replicate functions and data, how do we coordinate the nodes? data consistency update propagation

More information

Reading the Linearizability paper of Herlihy and Wing

Reading the Linearizability paper of Herlihy and Wing Reading the Linearizability paper of Herlihy and Wing Uri Abraham May 28, 2013 Abstract We read Herlihy and Wing important paper on the concept of linearizability, and reconstruct that text in the Tarskian

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 6 (version April 7, 28) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.2. Tel: (2)

More information

Chapter 11 Time and Global States

Chapter 11 Time and Global States CSD511 Distributed Systems 分散式系統 Chapter 11 Time and Global States 吳俊興 國立高雄大學資訊工程學系 Chapter 11 Time and Global States 11.1 Introduction 11.2 Clocks, events and process states 11.3 Synchronizing physical

More information

Randomized Protocols for Asynchronous Consensus

Randomized Protocols for Asynchronous Consensus Randomized Protocols for Asynchronous Consensus Alessandro Panconesi DSI - La Sapienza via Salaria 113, piano III 00198 Roma, Italy One of the central problems in the Theory of (feasible) Computation is

More information

Computational Models for Wireless Sensor Networks: A Survey

Computational Models for Wireless Sensor Networks: A Survey Computational Models for Wireless Sensor Networks: A Survey Apostolos Filippas 2, Stavros Nikolaou 2, Andreas Pavlogiannis 2, Othon Michail 1,2, Ioannis Chatzigiannakis 1,2, and Paul G. Spirakis 1,2 1

More information

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Spring Announcements CS 188: Artificial Intelligence Spring 2011 Lecture 16: Bayes Nets IV Inference 3/28/2011 Pieter Abbeel UC Berkeley Many slides over this course adapted from Dan Klein, Stuart Russell, Andrew Moore Announcements

More information

Distributed Computing in Shared Memory and Networks

Distributed Computing in Shared Memory and Networks Distributed Computing in Shared Memory and Networks Class 2: Consensus WEP 2018 KAUST This class Reaching agreement in shared memory: Consensus ü Impossibility of wait-free consensus 1-resilient consensus

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

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong Outline Introduction Asynchronous distributed systems, distributed computations,

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

The Cause-Effect Diagram can be used under these Circumstances:

The Cause-Effect Diagram can be used under these Circumstances: What is Cause and Effect Graph Testing Technique - How to Design Test Cases With Example? Cause-Effect Graph graphically shows the connection between a given outcome and all issues that manipulate the

More information

Asynchronous Models For Consensus

Asynchronous Models For Consensus Distributed Systems 600.437 Asynchronous Models for Consensus Department of Computer Science The Johns Hopkins University 1 Asynchronous Models For Consensus Lecture 5 Further reading: Distributed Algorithms

More information

Time and Schedulability Analysis of Stateflow Models

Time and Schedulability Analysis of Stateflow Models Time and Schedulability Analysis of Stateflow Models Marco Di Natale Scuola Superiore S. Anna Haibo Zeng Mc Gill University Outline Context: MBD of Embedded Systems Relationship with PBD An Introduction

More information

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional

More information

Parallel Performance Evaluation through Critical Path Analysis

Parallel Performance Evaluation through Critical Path Analysis Parallel Performance Evaluation through Critical Path Analysis Benno J. Overeinder and Peter M. A. Sloot University of Amsterdam, Parallel Scientific Computing & Simulation Group Kruislaan 403, NL-1098

More information

THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS. A Dissertation YANTAO SONG

THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS. A Dissertation YANTAO SONG THE WEAKEST FAILURE DETECTOR FOR SOLVING WAIT-FREE, EVENTUALLY BOUNDED-FAIR DINING PHILOSOPHERS A Dissertation by YANTAO SONG Submitted to the Office of Graduate Studies of Texas A&M University in partial

More information

Topic Dependencies for Electronic Books

Topic Dependencies for Electronic Books Topic Dependencies for Electronic Books Graham Cormode July 10, 2002 Abstract Electronics books consist of a number of topics, and information about dependencies between topics. We examine some theoretical

More information

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Petri nets. s 1 s 2. s 3 s 4. directed arcs. Petri nets Petri nets Petri nets are a basic model of parallel and distributed systems (named after Carl Adam Petri). The basic idea is to describe state changes in a system with transitions. @ @R s 1

More information

Source Coding and Function Computation: Optimal Rate in Zero-Error and Vanishing Zero-Error Regime

Source Coding and Function Computation: Optimal Rate in Zero-Error and Vanishing Zero-Error Regime Source Coding and Function Computation: Optimal Rate in Zero-Error and Vanishing Zero-Error Regime Solmaz Torabi Dept. of Electrical and Computer Engineering Drexel University st669@drexel.edu Advisor:

More information

Definition: Alternating time and space Game Semantics: State of machine determines who

Definition: Alternating time and space Game Semantics: State of machine determines who CMPSCI 601: Recall From Last Time Lecture 3 Definition: Alternating time and space Game Semantics: State of machine determines who controls, White wants it to accept, Black wants it to reject. White wins

More information

Advanced Topics in Theoretical Computer Science

Advanced Topics in Theoretical Computer Science Advanced Topics in Theoretical Computer Science Part 5: Complexity (Part II) 30.01.2014 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Contents Recall: Turing

More information

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

Lecture 2: Divide and conquer and Dynamic programming

Lecture 2: Divide and conquer and Dynamic programming Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in

More information

Databases Exam HT2016 Solution

Databases Exam HT2016 Solution Databases Exam HT2016 Solution Solution 1a Solution 1b Trainer ( ssn ) Pokemon ( ssn, name ) ssn - > Trainer. ssn Club ( name, city, street, streetnumber ) MemberOf ( ssn, name, city ) ssn - > Trainer.

More information

Math 1314 Lesson 4 Limits

Math 1314 Lesson 4 Limits Math 1314 Lesson 4 Limits Finding a it amounts to answering the following question: What is happening to the y-value of a function as the x-value approaches a specific target number? If the y-value is

More information

Security Protocols and Application Final Exam

Security Protocols and Application Final Exam Security Protocols and Application Final Exam Solution Philippe Oechslin and Serge Vaudenay 25.6.2014 duration: 3h00 no document allowed a pocket calculator is allowed communication devices are not allowed

More information

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015

More information

On the weakest failure detector ever

On the weakest failure detector ever On the weakest failure detector ever The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation As Published Publisher Guerraoui, Rachid

More information