Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations

Size: px
Start display at page:

Download "Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations"

Transcription

1 Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations Sebastiano Peluso, Roberto Palmieri, Paolo Romano 2, Binoy Ravindran and Francesco Quaglia ACM Symposium on Principles of Distributed Computing (PODC) 25

2 Degrees of Parallelism [SPAA8, SPAA9] Strict Disjoint-Access Parallelism (S-DAP): Two transactions do not contend on a common base object if they do not access any common transactional object. Weak Disjoint-Access Parallelism (W-DAP): Two transactions do not concurrently contend on a common base object if there is no path between them in the conflict graph. x y z locks clocks versions T 2 T W(x) R(z) R(x) W(z) R(z) T 3 ACM Symposium on Principles of Distributed Computing (PODC) 25 S- DAP: T and T 3 cannot contend on a common base object. W- DAP: T and T 3 can concurrently contend on a common base object.

3 Desirable properties in TM Isolation Level? Non- concurrent txs Parallelism Disjoint- Access parallelism (DAP) Real- time Order (RTO) Update txs Obstruction- free (OFU) ACM Symposium on Principles of Distributed Computing (PODC) 25 Read- only txs Wait- free and Invisible (WFIRO)

4 Existing Impossibility Results Impossibility on Wait- free Invisible Read- Only (WFIRO) [SPAA9, TCS] (Strict) Serializability WFIRO + W-DAP + Opacity Snapshot Isolation Lower Bound: Wait-free Read-only txs should write on at least t- base objects when t+ processes execute. Impossibility on Obstruction- free Updates (OFU) [SPAA8, SPAA4] OFU + S-DAP + ACM Symposium on Principles of Distributed Computing (PODC) 25 Serializability PCL Theorem: No TM can ensure S-DAP, Obstruction-freedom and Weak Adaptive Consistency (weaker than Snapshot Isolation and Processor Consistency).

5 Roadmap of Results Impossibility Results o Real-Time Order + o Wait-free Read-only Txs + WDAP +. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs Possibility Result o Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions and corresponding costs o Space Complexity: Ω(min(N o,n p )) per data-version o Time Complexity: Ω(k*N o ) per read operation N p = number of processes N o = number of objects k = number of versions per object

6 What about Preserving Real- Time Order? Real-time order (RTO) relation: T is ordered before T 2 if the commit of T precedes the begin of T 2. Transactions should appear as executed without violating the Real-time order [PPoPP8]. Executions Possible Serialization Orders T T 2 T T 2 T T T 2 T 2 T T 2 T T 2 ACM Symposium on Principles of Distributed Computing (PODC) 25

7 Impossibility Results on Real- Time Order Wait- free Read- only Txs Obstruction- free Update Txs W- DAP Wait- free and Invisible Read- only Txs Weakly Progressive Update Txs We prove that TM cannot preserve Real- time Order (RTO) Visible Read- only Txs enable S- DAP + Opacity [ICDCN] ACM Symposium on Principles of Distributed Computing (PODC) 25

8 Sketch on the Impossibility: What Should a Transaction Read? [Lemma 3 simplified] WDAP TM + WFRO + RTO Read the last committed value! i α R(x) :? β R(x) must return! T j δ W(x,) γ α, β, δ, γ are non- conflicting intervals T is a read- only transaction T cannot abort because of WFRO Indistinguishable to process p i because of WDAP (and Lemmas, 2) T i α R(x) : β T j δ W(x,) γ Otherwise RTO is not preserved ACM Symposium on Principles of Distributed Computing (PODC) 25

9 Sketch on the Impossibility: Violating the Real- Time Order By contradiction we assume that WDAP + WFRO + RTO is possible, then Obstruction- free Update Txs T commits because it runs solo and it cannot wait for T 3 s outcome to commit T 2 commits because it runs solo Weakly Progressive Update Txs & Invisible Read- only Txs T commits because it cannot detect the conflict with T 3 T 2 commits because it does not encounter any conflict i W(y,) T j W(x,2) T k R(y): R(x): 2 R(x) must return 2 because of Lemma 3 Real- Time Order violated: T 2 appears as executed before T! ACM Symposium on Principles of Distributed Computing (PODC) 25

10 Roadmap of Results Impossibility Results o Real-Time Order + o Wait-free Read-only Txs + WDAP +. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs Possibility Result o Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions and corresponding costs o Space Complexity: Ω(min(N o,n p )) per data-version o Time Complexity: Ω(k*N o ) per read operation N p = number of processes N o = number of objects k = number of versions per object

11 A Strictly DAP TM Design PARALLELISM S-DAP W-DAP NO DAP READ-ONLY Wait-free Invisible Wait-free Visible and No Wait-free UPDATES ACM Symposium on Principles of Distributed Computing (PODC) 25 Obstructionfree Strongly Progressive Weakly Progressive Properties of Extended Update Serializability: ISOLATION o All transactions observe a serializable history (like Opacity!) Opacity Serializability Extended Update Serializability Witnessable Real-Time Order (WRTO) Real-Time Order preserved only among directly conflicting transactions, and transactions executed by the same process o Committed Update Transactions are serializable (like Opacity!) o Two transactions T, T 2 can observe two non-compatible serialization orders o but only if T and T 2 will never commit any write operation Consistent View

12 Roadmap of Results Impossibility Results o Real-Time Order + o Wait-free Read-only Txs + WDAP +. Obstruction-free Update Txs 2. Invisible Read-only Txs + Weakly Progressive Update Txs Possibility Result o Witnessable Real-Time Order + o Extended Update Serializability + o SDAP + o Wait-free Invisible Read-only Txs + o Strongly Progressive Update Transactions and corresponding costs o Space Complexity: Ω(min(N o,n p )) per data-version o Time Complexity: Ω(k*N o ) per read operation N p = number of processes N o = number of objects k = number of versions per object

13 N p = number of processes N o = number of objects k = number of versions per object Detected Costs The TM requires to store a vector clock of size N p per data-version. A read operation by a read-only T may validate T s read-set to check if it can return a data-version. Space Complexity O(N p ) integers for each version of a transactional object Time Complexity O(k*N o ) steps to execute a read operation of a read- only tx Are these costs necessary? ACM Symposium on Principles of Distributed Computing (PODC) 25

14 Consistent View Consistent View: all transactions read from a causally consistent snapshot. It is weaker than EUS. Opacity [PPoPP8] Strict Serializability Serializability Snapshot Isolation [Adya99] Forward Consistent View Consistent View ACM Symposium on Principles of Distributed Computing (PODC) 25 (Extended) Update Serializability

15 Lower Bound on the Space Complexity Implementation of reads: return version V if V does not depend on a version V* that overwrites the read-set. W(x, A) x y overwrites Intuition on possible S- DAP implementations R(x): A R(y):? T 2 Status of the memory per data- version W(x, B) W(y, C) x 2 y x 2 y W(x, A) p p p 2 ACM Symposium on Principles of Distributed Computing (PODC) 25 R(x): A R(y):? T 2 overwrites W(x, B) W(y, C) p p p 2 Vector clock of size N p per data- version p p p 2 Theorem. SDAP TM that guarantees WFIRO, Consistent View, WRTO and either obstruction- free or weakly progressive update transactions The space complexity for each version of a transactional object is Ω(min(N o,n p ))

16 Proving the Time Complexity Read s objects R(x ): R(x s ): R(x No ):? W(x s ): W(x s+ ): W(x No,) Read s objects Write N o - s objects R(x ): R(x s ): R(x No ):? W(x s- ): W(x s+ ): W(x No,) Read s objects Write N o - s objects R(x ): R(x s ): R(x No ):? W(x s+ ): W(x No,) W(x s- 2 ): s histories Read s objects Write N o - s objects R(x ): R(x s ): R(x No ):? W(x s+ ): W(x No,) W(x ): Write N o - s objects ACM Symposium on Principles of Distributed Computing (PODC) 25

17 Lower Bound on the Time Complexity In a WDAP TM with invisible read-only transactions R(x No ) cannot distinguish the s histories unless it analyzes T s read-set. Consistent View + WRTO + WFIRO: T has to perform s steps to check if R(x No ) can return. s can be equal to N o - and a read can check k versions Theorem. WDAP multi- version TM that guarantees WFIRO, Consistent View, WRTO and either obstruction- free or weakly progressive update transactions The read- only time complexity is Ω(k*N o ) Read- only time complexity: the maximum number of steps performed by any read operation of any read- only transaction ACM Symposium on Principles of Distributed Computing (PODC) 25

18 Related Results Lower Bound on the Number of Visible Reads [SPAA9, TCS] Hypothesis: WDAP TM + Strict Serializability + Minimal Progressive Update txs. Result: Wait-free Read-only txs should write on at least t- base objects when t+ processes execute in a WDAP TM. Relation: The result is only a necessary condition in case Update txs are Obstruction-free since RTO cannot be preserved. The result is sufficient in case Update txs are Weakly Progressive [ICDCN]. Impossibility Result in Multi- Version- Permissive TM [PODC] Hypothesis: WDAP TM + MV-Permissiveness Result: No Strict Serializability. Relation: In a parasitic-free environment MV- Permissiveness could provide Wait- free and Invisible Read- only txs and Weakly Progressive Update Txs. In that case RTO cannot be preserved. Time Complexity in Progressive TM [PPoPP8] Hypothesis: Progressive single-version TM + Opacity Result: The maximum number of steps performed by any operation is Ω(Ν ο ) Relation: Same cost to check if a version is observable in a multi-version WDAP TM with WRTO, wait-free and invisible read-only txs and Consistent View. ACM Symposium on Principles of Distributed Computing (PODC) 25

19 Conclusions Two impossibility results ruling DAP TM that guarantees Real-Time Order and a set of desirable progress properties. Possibility result: an SDAP TM that provides a strong correctness property (i.e., EUS), Witnessable Real- Time Order, and the same set of progress properties as before. Lower bounds on the space and time complexity of such a DAP TM. Our Message In a DAP TM lowering the consistency property is not enough. Rather either invisible reads or wait-freedom must be sacrificed! ACM Symposium on Principles of Distributed Computing (PODC) 25

20 Thanks for the attention ACM Symposium on Principles of Distributed Computing (PODC) 25

21 References [Adya99] A. Adya. Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis, 999. AAI8775. [ICDCN] H. Attiya and E. Hillel. Single version STMs can be multi-version permissive. In proc. of the 2th International Conference on Distributed Computing and Networking, ICDCN, 2. [PODC] [POPL9] R. Guerraoui and M. Kapalka. The Semantics of Progress in Lock-based Transactional Memory. In proc. of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL), 29. [PPoPP8] R. Guerraoui and M. Kapalka. On the Correctness of Transactional Memory. In proc. of the 3th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 28. [SPAA8] R. Guerraoui and M. Kapalka. On Obstruction-free Transactions. In proc. of the 2th annual Symposium on Parallelism in Algorithms and Architectures (SPAA), 28. [SPAA9] Hagit Attiya, Eshcar Hillel, and Alessia Milani. Inherent limitations on disjoint-access parallel implementations of transactional memory. In proc. of the 2st annual Symposium on Parallelism in Algorithms and Architectures (SPAA), 29. [SPAA4] Victor Bushkov, Dmytro Dziuma, Panagiota Fatourou, Rachid Guerraoui, The PCL Theorem. Transactions cannot be Parallel, Consistent and Live.. In proc. of the 26th annual Symposium on Parallelism in Algorithms and Architectures (SPAA), 24. [TCS] Hagit Attiya, Eshcar Hillel, and Alessia Milani. Inherent limitations on disjointaccess parallel implementations of transactional memory. Theory Comput. Syst., 49(4):698 79, 2. ACM Symposium on Principles of Distributed Computing (PODC) 25

22 Backup slides ACM Symposium on Principles of Distributed Computing (PODC) 25

23 Seeking a Sweet Spot in Disjoint- Access Parallel TM Objective: S-DAP + WFIRO Isolation Levels Progress Guarantees for Update Txs Opacity [PPoPP8] Strict Serializability Obstruction-free Snapshot Isolation [Adya99] Serializability Forward Consistent View (Extended) Update Serializability Strongly progressive [POPL9] Weakly progressive Consistent View ACM Symposium on Principles of Distributed Computing (PODC) 25

24 What about Preserving Real- Time Order? Real-time order (RTO) relation: T is ordered before T 2 if the commit of T precedes the begin of T 2. Transactions should appear as executed without violating the Real-time order [PPoPP8]. Examples T W(x,) T 2 W(x,2) T 3 R(x) :? T W(y,) T 2 R(y) : T 3 W(x,) R(x) :? Real-time order violated if R(x) returned. ACM Symposium on Principles of Distributed Computing (PODC) 25

25 Details about the SDAP TM N p processes = N p elements per vector clock R(x): A W(x,D) W(y,E) Committed Snapshot W(y,G) Abor t Serializable updates: locks and validation at commit- time T 2 W(z,F) T 3 R(x): A R(y): B R(z): F Current Visible Snapshot Maximum Visible Snapshot Committed Snapshot Revalidate and find that: - D invalidates the read- set - D and E are dependent Revalidate and find that: - D, E invalidate the read- set - D, E and F are concurrent x p A p D y p B p E z p C p F Causally dependent ACM Symposium on Principles of Distributed Computing (PODC) 25 Causally dependent

26 Consistent View Consistent View: all transactions read from a causally consistent snapshot. It is weaker than EUS. Forbidden Read: the read creates an oriented cycle with exactly one write-after-read edge in the conflict graph [Adya99]. Example R(x): R(z): 4 T 2 W(x,2) W(y,3) T 3 R(y): 3 W(z,4) T WR T 2 T 3 WR ACM Symposium on Principles of Distributed Computing (PODC) 25

Transactions are Back but How Different They Are?

Transactions are Back but How Different They Are? Transactions are Back but How Different They Are? Relating STM and Databases Consistency Conditions (Preliminary Version) Hagit Attiya Technion hagit@cs.technion.ac.il Sandeep Hans Technion sandeep@cs.technion.ac.il

More information

On Maintaining Multiple Versions in STM

On Maintaining Multiple Versions in STM On Maintaining Multiple Versions in STM Dmitri Perelman Rui Fan Idit Keidar May 20, 2010 Abstract An effective way to reduce the number of aborts in software transactional memory (STM) is to keep multiple

More information

arxiv: v8 [cs.dc] 29 Jul 2011

arxiv: v8 [cs.dc] 29 Jul 2011 On the Cost of Concurrency in Transactional Memory Petr Kuznetsov TU Berlin/Deutsche Telekom Laboratories Srivatsan Ravi TU Berlin/Deutsche Telekom Laboratories arxiv:1103.1302v8 [cs.dc] 29 Jul 2011 Abstract

More information

arxiv: v2 [cs.dc] 13 Nov 2015

arxiv: v2 [cs.dc] 13 Nov 2015 Progressive Transactional Memory in Time and Space arxiv:1502.04908v2 [cs.dc] 13 Nov 2015 Petr Kuznetsov 1 Srivatsan Ravi 2 1 Télécom ParisTech 2 TU Berlin October 12, 2018 Abstract Transactional memory

More information

Lower bounds for Transactional memory

Lower bounds for Transactional memory Lower bounds for Transactional memory Srivatsan Ravi Purdue University Abstract Transactional memory allows the user to declare sequences of instructions as speculative transactions that can either commit

More information

Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom

Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Faith Ellen University of Toronto faith@cs.toronto.edu Alessia Milani University of Bordeaux milani@labri.fr Panagiota Fatourou

More information

Transaction Processing Concurrency control

Transaction Processing Concurrency control Transaction Processing Concurrency control Hans Philippi March 14, 2017 Transaction Processing: Concurrency control 1 / 24 Transactions Transaction Processing: Concurrency control 2 / 24 Transaction concept

More information

Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom

Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Faith Ellen, Panagiota Fatourou, Eleftherios Kosmas, Alessia Milani, Corentin Travers To cite this version: Faith Ellen,

More information

arxiv: v1 [cs.dc] 22 May 2014

arxiv: v1 [cs.dc] 22 May 2014 Inherent Limitations of Hybrid Transactional Memory Dan Alistarh 1 Justin Kopinsky 4 Petr Kuznetsov 2 Srivatsan Ravi 3 Nir Shavit 4,5 1 Microsoft Research, Cambridge 2 Télécom ParisTech 3 TU Berlin 4 Massachusetts

More information

Concurrency Control / Serializability Theory

Concurrency Control / Serializability Theory Concurrency Control / Serializability Theory Correctness of a program can be characterized by invariants Invariants over state Linked list: For all items I where I.prev!= NULL: I.prev.next == I For all

More information

Non-Interference and Local Correctness in Transactional Memory

Non-Interference and Local Correctness in Transactional Memory Non-Interference and Local Correctness in Transactional Memory Petr Kuznetsov 1 and Sathya Peri 2 1 Télécom ParisTech petr.kuznetsov@telecom-paristech.fr 2 IIT Patna sathya@iitp.ac.in Abstract. Transactional

More information

Concurrency control (1)

Concurrency control (1) Concurrency control (1) Concurrency control is the set of mechanisms put in place to preserve consistency and isolation If we were to execute only one transaction at a time the (i.e. sequentially) implementation

More information

1 Introduction. Michał Kapałka EPFL, Switzerland Rachid Guerraoui EPFL, Switzerland

1 Introduction. Michał Kapałka EPFL, Switzerland Rachid Guerraoui EPFL, Switzerland THE THEORY OF TRANSACTIONAL MEMORY Rachid Guerraoui EPFL, Switzerland rachid.guerraoui@epfl.ch Michał Kapałka EPFL, Switzerland michal.kapalka@epfl.ch Abstract Transactional memory (TM) is a promising

More information

WTTM 2012, the fourth workshop on the theory of transactional memory

WTTM 2012, the fourth workshop on the theory of transactional memory WTTM 2012, the fourth workshop on the theory of transactional memory Vincent Gramoli, Alessia Milani To cite this version: Vincent Gramoli, Alessia Milani. WTTM 2012, the fourth workshop on the theory

More information

arxiv: v3 [cs.dc] 17 Feb 2015

arxiv: v3 [cs.dc] 17 Feb 2015 Inherent Limitations of Hybrid Transactional Memory Dan Alistarh 1 Justin Kopinsky 4 Petr Kuznetsov 2 Srivatsan Ravi 3 Nir Shavit 4,5 1 Microsoft Research, Cambridge 2 Télécom ParisTech 3 TU Berlin 4 Massachusetts

More information

Indistinguishability: Friend and Foe of Concurrent Data Structures. Hagit Attiya CS, Technion

Indistinguishability: Friend and Foe of Concurrent Data Structures. Hagit Attiya CS, Technion Indistinguishability: Friend and Foe of Concurrent Data Structures Hagit Attiya CS, Technion Uncertainty is a main obstacle for designing correct applications in concurrent systems Formally captured by

More information

A TimeStamp based Multi-version STM Algorithm

A TimeStamp based Multi-version STM Algorithm A TimeStamp based Multi-version STM Algorithm Priyanka Kumar 1 and Sathya Peri 1 and K.Vidyasankar 2 1 CSE Dept, Indian Institute of Technology Patna, India, priyanka@iitp.ac.in, sathya@iitp.ac.in 2 CS

More information

The Space Complexity of Unbounded Timestamps

The Space Complexity of Unbounded Timestamps The Space Complexity of Unbounded Timestamps Faith Ellen 1, Panagiota Fatourou 2, and Eric Ruppert 3 1 University of Toronto, Canada 2 University of Ioannina, Greece 3 York University, Canada Abstract.

More information

Permissiveness in Transactional Memories

Permissiveness in Transactional Memories Permissiveness in Transactional Memories Rachid Guerraoui, Thomas A. Henzinger, and Vasu Singh EPFL, Switzerland Abstract. We introduce the notion of permissiveness in transactional memories (TM). Intuitively,

More information

Transaction in Distributed Databases

Transaction in Distributed Databases Transaction in Distributed Databases An Application view Example: Planning a conference trip / Budget:=1000; Trials:=1; ConfFee Go Select Conference Select Tutorials Compute Fee [Cost Budget] What ist

More information

6 Multiversion Concurrency Control

6 Multiversion Concurrency Control 6 Multiversion Concurrency Control 6.1 Motivation: Versions and serializability 6.2 MVCC using timestamps 6.3 Two Version MV2PL 6.4 MVCC for read only TA 6.5 Read consistency MVCC no read locks 6.6 Snapshot

More information

Inherent Limitations of Hybrid Transactional Memory

Inherent Limitations of Hybrid Transactional Memory Inherent Limitations of Hybrid Transactional Memory Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan Ravi, Nir Shavit To cite this version: Dan Alistarh, Justin Kopinsky, Petr Kuznetsov, Srivatsan

More information

A Correctness Criterion for Eager Approach Validation for Transactional Memory System

A Correctness Criterion for Eager Approach Validation for Transactional Memory System A Correctness Criterion for Eager Approach Validation for Transactional Memory System Ravi Kumar Department of Computer Science and Engineering Indian Institute of Technology Patna, Patna-800013, Email:

More information

How Live Can a Transactional Memory Be?

How Live Can a Transactional Memory Be? How Live Can a Transactional Memory Be? Rachid Guerraoui Michał Kapałka February 18, 2009 Abstract This paper asks how much liveness a transactional memory (TM) implementation can guarantee. We first devise

More information

Memory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.

Memory Consistency. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab. Memory Consistency Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Shared Memory Two types of memory organization in parallel and distributed systems Shared memory (shared address

More information

Enhancing Concurrency in Distributed Transactional Memory through Commutativity

Enhancing Concurrency in Distributed Transactional Memory through Commutativity Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, and Binoy Ravindran ECE Department, Virginia Tech, Blacksburg, VA, 24061 {junwhan, robertop,

More information

arxiv: v2 [cs.dc] 24 May 2012

arxiv: v2 [cs.dc] 24 May 2012 Sharing a Sequential Program: Correctness and Concurrency Analysis Vincent Gramoli 1 Petr Kuznetsov 2 Srivatsan Ravi 2 1 School of Information Technologies, University of Sydney arxiv:1203.4751v2 [cs.dc]

More information

Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation

Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation Making Consistency More Consistent: A Unified Model for Coherence, Consistency and Isolation ABSTRACT Adriana Szekeres University of Washington aaasz@cs.washington.edu Ordering guarantees are often defined

More information

Analyzing Snapshot Isolation

Analyzing Snapshot Isolation Analyzing Snapshot Isolation Andrea Cerone Alexey Gotsman IMDEA Software Institute PODC 2016 presented by Dima Kuznetsov Andrea Cerone, Alexey Gotsman (IMDEA) Analyzing Snapshot Isolation PODC 2016 1 /

More information

CS 5300 module6. Problem #1 (10 Points) a) Consider the three transactions T1, T2, and T3, and the schedules S1 and S2.

CS 5300 module6. Problem #1 (10 Points) a) Consider the three transactions T1, T2, and T3, and the schedules S1 and S2. Name CS 5300 module6 Student ID Problem #1 (10 Points) a) Consider the three transactions T1, T2, and T3, and the schedules S1 and S2. T1: r1(x); r1(z); w1(x); T2: r2(y); r2(z); w2(y); T3: w3(x); r3(y);

More information

Implementing Isolation

Implementing Isolation CMPUT 391 Database Management Systems Implementing Isolation Textbook: 20 & 21.1 (first edition: 23 & 24.1) University of Alberta 1 Isolation Serial execution: Since each transaction is consistent and

More information

6.852: Distributed Algorithms Fall, Class 20

6.852: Distributed Algorithms Fall, Class 20 6.852: Distributed Algorithms Fall, 2009 Class 20 Today s plan z z z Transactional Memory Reading: Herlihy-Shavit, Chapter 18 Guerraoui, Kapalka, Chapters 1-4 Next: z z z Asynchronous networks vs asynchronous

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability

More information

CONCURRENCY CHAPTER (6/E) CHAPTER (5/E)

CONCURRENCY CHAPTER (6/E) CHAPTER (5/E) CONCURRENCY CHAPTER 21-22.1 (6/E) CHAPTER 17-18.1 (5/E) 2 LECTURE OUTLINE Errors in the absence of concurrency control Need to constrain how transactions interleave Serializability Two-phase locking 3

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Database systems. Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users

Database systems. Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users Database systems Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users every database has some correctness constraints defined on it (called consistency assertions or

More information

The Semantics of Progress in Lock-Based Transactional Memory

The Semantics of Progress in Lock-Based Transactional Memory The Semantics of Progress in Lock-Based Transactional Memory Rachid Guerraoui Michał Kapałka EPFL, Switzerland {rachid.guerraoui, michal.kapalka}@epfl.ch Abstract Transactional memory (TM) is a promising

More information

2. Correctness of Transactions: Serialization

2. Correctness of Transactions: Serialization 2. Correctness of Transactions: Serialization 2.1 Formal Model 2.2 Conflict serializability 2.3 Other types of serializability 2.4 Recoverable transactions and more 2.5 Distributed TAs Es gibt nichts Praktischeres

More information

Concurrency. Consider two ATMs running in parallel. We need a concurrency manager. r1[x] x:=x-250 r2[x] x:=x-250 w[x] commit w[x] commit

Concurrency. Consider two ATMs running in parallel. We need a concurrency manager. r1[x] x:=x-250 r2[x] x:=x-250 w[x] commit w[x] commit DBMS ARCHITECTURE Concurrency Consider two ATMs running in parallel T1 T2 r1[x] x:=x-250 r2[x] x:=x-250 w[x] commit w[x] commit We need a concurrency manager Examples of interference T1: r[x=100] w[x:=600]

More information

14.1 Concept: ACID properties. 14 Transactions: models Modeling Transactions. Modeling TAs. The Model. A transaction is. System point of view

14.1 Concept: ACID properties. 14 Transactions: models Modeling Transactions. Modeling TAs. The Model. A transaction is. System point of view 14 : models 14.1 Concepts: ACID properties 14.2 Modeling transactions: histories and schedules 14.2.1 Correctness criteria 14.2.2 Serial execution 14.2.3 History 14.3 14.3.1 Conflict graph 14.3.2 theorem

More information

Model Checking Transactional Memories

Model Checking Transactional Memories Model Checking Transactional Memories Abstract Rachid Guerraoui Thomas A. Henzinger Barbara Jobstmann Vasu Singh Model checking software transactional memories (STMs) is difficult because of the unbounded

More information

Enhancing Concurrency in Distributed Transactional Memory through Commutativity

Enhancing Concurrency in Distributed Transactional Memory through Commutativity Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, Binoy Ravindran Virginia Tech USA Lock-based concurrency control has serious drawbacks Coarse

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

HKBU: Tutorial 9

HKBU: Tutorial 9 COMP7640 @ HKBU: Tutorial 9 Transaction Wei Wang weiw AT cse.unsw.edu.au School of Computer Science & Engineering University of New South Wales November 26, 2014 Wei Wang (UNSW) COMP7640 @ HKBU.tut9 November

More information

Outline. Database Management and Tuning. Isolation Guarantees (SQL Standard) Undesirable Phenomena of Concurrent Transactions. Concurrency Tuning

Outline. Database Management and Tuning. Isolation Guarantees (SQL Standard) Undesirable Phenomena of Concurrent Transactions. Concurrency Tuning Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 9 1 2 Conclusion Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Advanced Databases 2006 Based on slides from Kifer et al., Shasha et al. LOCKING

Advanced Databases 2006 Based on slides from Kifer et al., Shasha et al. LOCKING Advanced Databases 2006 Based on slides from Kifer et al., Shasha et al. LOCKING 1 Agenda Correctness and performance Concurrency control principles Serialization graph 2 Phase locking Lock Implementation

More information

Distributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris

Distributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris Distributed Systems Lec 11: Consistency Models Slide acks: Jinyang Li, Robert Morris (http://pdos.csail.mit.edu/6.824/notes/l06.txt, http://www.news.cs.nyu.edu/~jinyang/fa09/notes/ds-consistency.pdf) 1

More information

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services

Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services PODC 2004 The PODC Steering Committee is pleased to announce that PODC 2004 will be held in St. John's, Newfoundland. This will be the thirteenth PODC to be held in Canada but the first to be held there

More information

Reducing contention in STM

Reducing contention in STM Reducing contention in STM Panagiota Fatourou Department of Computer Science University of Crete & FORTH ICS faturu@csd.uoc.gr Mykhailo Iaremko 1 Institute of Computer Science (ICS) Foundation for Research

More information

Towards Transactional Memory Semantics for C++

Towards Transactional Memory Semantics for C++ Towards Transactional Memory Semantics for C++ Tatiana Shpeisman Intel Corporation Santa Clara, CA tatiana.shpeisman@intel.com Yang Ni Intel Corporation Santa Clara, CA yang.ni@intel.com Ali-Reza Adl-Tabatabai

More information

Chapter 15 : Concurrency Control

Chapter 15 : Concurrency Control Chapter 15 : Concurrency Control What is concurrency? Multiple 'pieces of code' accessing the same data at the same time Key issue in multi-processor systems (i.e. most computers today) Key issue for parallel

More information

Outline. Database Tuning. Undesirable Phenomena of Concurrent Transactions. Isolation Guarantees (SQL Standard) Concurrency Tuning.

Outline. Database Tuning. Undesirable Phenomena of Concurrent Transactions. Isolation Guarantees (SQL Standard) Concurrency Tuning. Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Unit 9 WS 2013/2014 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet. Nikolaus

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability

More information

COMP Parallel Computing. CC-NUMA (2) Memory Consistency

COMP Parallel Computing. CC-NUMA (2) Memory Consistency COMP 633 - Parallel Computing Lecture 11 September 26, 2017 Memory Consistency Reading Patterson & Hennesey, Computer Architecture (2 nd Ed.) secn 8.6 a condensed treatment of consistency models Coherence

More information

Decomposing Opacity. University of California, Los Angeles. Decomposing Opacity Lesani, Palsberg 1 / 15

Decomposing Opacity. University of California, Los Angeles. Decomposing Opacity Lesani, Palsberg 1 / 15 Decomposing Opacity Mohsen Lesani Jens Palsberg University of California, Los Angeles Decomposing Opacity Lesani, Palsberg 1 / 15 Correctness of Transactional Memory Programming Model Correctness Criteria

More information

Scheduling Transactions in Replicated Distributed Software Transactional Memory

Scheduling Transactions in Replicated Distributed Software Transactional Memory Scheduling Transactions in Replicated Distributed Software Transactional Memory Junwhan Kim and Binoy Ravindran ECE Department, Virginia Tech, Blacksburg, VA, 2461 Email: junwhan, binoy@vt.edu Abstract

More information

Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench

Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench Performance Comparison of Various STM Concurrency Control Protocols Using Synchrobench Ajay Singh Dr. Sathya Peri Anila Kumari Monika G. February 24, 2017 STM vs Synchrobench IIT Hyderabad February 24,

More information

Exercises on Concurrency Control (part 2)

Exercises on Concurrency Control (part 2) Exercises on Concurrency Control (part 2) Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2017/2018 http://www.dis.uniroma1.it/~lenzerin/index.html/?q=node/53

More information

On the Correctness of Transactional Memory

On the Correctness of Transactional Memory On the Correctness of Transactional Memory Rachid Guerraoui Michał Kapałka School of Computer and Communication Sciences, EPFL {rachid.guerraoui, michal.kapalka}@epfl.ch Abstract Transactional memory (TM)

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 17-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 17-1 Slide 17-1 Chapter 17 Introduction to Transaction Processing Concepts and Theory Chapter Outline 1 Introduction to Transaction Processing 2 Transaction and System Concepts 3 Desirable Properties of Transactions

More information

Consistency examples. COS 418: Distributed Systems Precept 5. Themis Melissaris

Consistency examples. COS 418: Distributed Systems Precept 5. Themis Melissaris Consistency examples COS 418: Distributed Systems Precept 5 Themis Melissaris Plan Midterm poll Consistency examples 2 Fill out this poll: http://tinyurl.com/zdeq4lr 3 Linearizability 4 Once read returns

More information

Time and Space Lower Bounds for Implementations Using k-cas

Time and Space Lower Bounds for Implementations Using k-cas Time and Space Lower Bounds for Implementations Using k-cas Hagit Attiya Danny Hendler September 12, 2006 Abstract This paper presents lower bounds on the time- and space-complexity of implementations

More information

14 Concurrency control

14 Concurrency control 14 Concurrency control 14.1 Serializability and Concurrency Control 14.2 Locking Lock protocols Two phase locking Strict transactional protocols Lock conflicts and Deadlocks Lock modes Deadlock detection,

More information

Outline. Database Tuning. Undesirable Phenomena of Concurrent Transactions. Isolation Guarantees (SQL Standard) Concurrency Tuning.

Outline. Database Tuning. Undesirable Phenomena of Concurrent Transactions. Isolation Guarantees (SQL Standard) Concurrency Tuning. Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Unit 9 WS 2014/2015 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet. Nikolaus

More information

A Relativistic Enhancement to Software Transactional Memory

A Relativistic Enhancement to Software Transactional Memory A Relativistic Enhancement to Software Transactional Memory Philip W. Howard Portland State University Jonathan Walpole Portland State University Abstract Relativistic Programming is a technique that allows

More information

In the Search for Optimal Concurrency

In the Search for Optimal Concurrency In the Search for Optimal Concurrency Vincent Gramoli 1 Petr Kuznetsov 2 Srivatsan Ravi 3 1 Data61-CSIRO and University of Sydney 2 Télécom ParisTech 3 Purdue University Abstract It is common practice

More information

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1 Computing Parable The Archery Teacher Courtesy: S. Keshav, U. Waterloo Lecture 16, page 1 Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency

More information

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini Large-Scale Key-Value Stores Eventual Consistency Marco Serafini COMPSCI 590S Lecture 13 Goals of Key-Value Stores Export simple API put(key, value) get(key) Simpler and faster than a DBMS Less complexity,

More information

Chapter 20 Introduction to Transaction Processing Concepts and Theory

Chapter 20 Introduction to Transaction Processing Concepts and Theory Chapter 20 Introduction to Transaction Processing Concepts and Theory - Logical units of DB processing - Large database and hundreds of transactions - Ex. Stock market, super market, banking, etc - High

More information

Generating Fast Indulgent Algorithms

Generating Fast Indulgent Algorithms Generating Fast Indulgent Algorithms Dan Alistarh 1, Seth Gilbert 2, Rachid Guerraoui 1, and Corentin Travers 3 1 EPFL, Switzerland 2 National University of Singapore 3 Université de Bordeaux 1, France

More information

Cost of Concurrency in Hybrid Transactional Memory

Cost of Concurrency in Hybrid Transactional Memory Cost of Concurrency in Hybrid Transactional Memory Trevor Brown 1 and Srivatsan Ravi 2 1 Technion, Israel Institute of Technology, Haifa, Israel me@tbrown.pro 2 University of Southern California, Los Angeles,

More information

Safe Privatization in Transactional Memory

Safe Privatization in Transactional Memory Abstract Artem Khyzha IMDEA Software Institute Universidad Politécnica de Madrid Alexey Gotsman IMDEA Software Institute Transactional memory (TM) facilitates the development of concurrent applications

More information

arxiv: v1 [cs.dc] 4 Mar 2016

arxiv: v1 [cs.dc] 4 Mar 2016 In the Search of Optimal Concurrency Vincent Gramoli 3 Petr Kuznetsov 1 Srivatsan Ravi 2 1 Télécom ParisTech 2 Purdue University 3 University of Sydney arxiv:1603.01384v1 [cs.dc] 4 Mar 2016 Abstract Implementing

More information

Proving Isolation Properties for Software Transactional Memory

Proving Isolation Properties for Software Transactional Memory Proving Isolation Properties for Software Transactional Memory Annette Bieniusa and Peter Thiemann University of Freiburg, Germany Abstract. An algorithm for Software Transactional Memory (STM) is correct

More information

Cost of Concurrency in Hybrid Transactional Memory

Cost of Concurrency in Hybrid Transactional Memory Cost of Concurrency in Hybrid Transactional Memory Trevor Brown University of Toronto tabrown@cs.toronto.ca Srivatsan Ravi Purdue University srivatsanravi@purdue.edu Abstract State-of-the-art software

More information

how to implement any concurrent data structure

how to implement any concurrent data structure how to implement any concurrent data structure marcos k. aguilera vmware jointly with irina calciu siddhartha sen mahesh balakrishnan Where to find more information about this work How to Implement Any

More information

12.3 Nonlocking schedulers. Timestamp ordering. TO concurrency control guarantees conflict-serializable schedules

12.3 Nonlocking schedulers. Timestamp ordering. TO concurrency control guarantees conflict-serializable schedules 12.3 Nonlocking schedulers 12.3.1 not discussed in class 12.3.1 Time stamp ordering Basic idea: assign timestamp when transaction starts if ts(t1) < ts(t2) < ts(tn), then scheduler has to produce history

More information

Be General and Don t Give Up Consistency in Geo- Replicated Transactional Systems

Be General and Don t Give Up Consistency in Geo- Replicated Transactional Systems Be General and Don t Give Up Consistency in Geo- Replicated Transactional Systems Alexandru Turcu, Sebastiano Peluso, Roberto Palmieri and Binoy Ravindran Replicated Transactional Systems DATA CONSISTENCY

More information

The Issue. Implementing Isolation. Transaction Schedule. Isolation. Schedule. Schedule

The Issue. Implementing Isolation. Transaction Schedule. Isolation. Schedule. Schedule The Issue Implementing Isolation Chapter 20 Maintaining database correctness when many transactions are accessing the database concurrently Assuming each transaction maintains database correctness when

More information

On Avoiding Spare Aborts in Transactional Memory

On Avoiding Spare Aborts in Transactional Memory On Avoiding Spare Aborts in Transactional Memory Idit Keidar Dmitri Perelman Dept. of Electrical Engineering Technion, Haifa 32000, Israel idish@ee.technion.ac.il, dima39@tx.technion.ac.il Abstract This

More information

Datenbanksysteme II: Implementation of Database Systems Synchronization of Concurrent Transactions

Datenbanksysteme II: Implementation of Database Systems Synchronization of Concurrent Transactions Datenbanksysteme II: Implementation of Database Systems Synchronization of Concurrent Transactions Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Prof.

More information

CS 370 Concurrency worksheet. T1:R(X); T2:W(Y); T3:R(X); T2:R(X); T2:R(Z); T2:Commit; T3:W(X); T3:Commit; T1:W(Y); Commit

CS 370 Concurrency worksheet. T1:R(X); T2:W(Y); T3:R(X); T2:R(X); T2:R(Z); T2:Commit; T3:W(X); T3:Commit; T1:W(Y); Commit CS 370 Concurrency worksheet Name Student ID 1) Apply the appropriate locks and show the resulting schedule for the following sequence of operations using strict 2PL. Assume locks can be upgraded. :R(X);

More information

Transaction. Primary unit of work Well formed: Sequence of operations between begin and end (commit or abort)

Transaction. Primary unit of work Well formed: Sequence of operations between begin and end (commit or abort) Transaction Primary unit of work Well formed: Sequence of operations between begin and end (commit or abort) Concurrency needed in order to start multiple parallel transactions. 1 Serial and serializable

More information

CSE 444: Database Internals. Lectures Transactions

CSE 444: Database Internals. Lectures Transactions CSE 444: Database Internals Lectures 13-14 Transactions CSE 444 - Spring 2014 1 Announcements Lab 2 is due TODAY Lab 3 will be released today, part 1 due next Monday HW4 is due on Wednesday HW3 will be

More information

For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL

For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL In the multi-user system, we all know that multiple transactions run in parallel, thus trying to access the same data and suppose if

More information

Elastic Transactions

Elastic Transactions Elastic Transactions Pascal Felber a, Vincent Gramoli b,1, Rarchid Guerraoui c a University of Neuchâtel, Rue Emile-Argand 11, B-114, CH-2 Neuchâtel, Switzerland. b School of Information Technologies,

More information

Transactional Interference-less Balanced Tree

Transactional Interference-less Balanced Tree Transactional Interference-less Balanced Tree Ahmed Hassan, Roberto Palmieri, Binoy Ravindran To cite this version: Ahmed Hassan, Roberto Palmieri, Binoy Ravindran. Transactional Interference-less Balanced

More information

High-Level Small-Step Operational Semantics for Software Transactions

High-Level Small-Step Operational Semantics for Software Transactions High-Level Small-Step Operational Semantics for Software Transactions Katherine F. Moore Dan Grossman The University of Washington Motivating Our Approach Operational Semantics Model key programming-language

More information

Distributed Systems. Lec 12: Consistency Models Sequential, Causal, and Eventual Consistency. Slide acks: Jinyang Li

Distributed Systems. Lec 12: Consistency Models Sequential, Causal, and Eventual Consistency. Slide acks: Jinyang Li Distributed Systems Lec 12: Consistency Models Sequential, Causal, and Eventual Consistency Slide acks: Jinyang Li (http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-eventual.ppt) 1 Consistency (Reminder)

More information

Transactional Memory. R. Guerraoui, EPFL

Transactional Memory. R. Guerraoui, EPFL Transactional Memory R. Guerraoui, EPFL Locking is history Lock-freedom is difficult Wanted A concurrency control abstraction that is simple, robust and efficient Transactions Historical perspective Eswaran

More information

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence?

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence? CPSC-4/6: Operang Systems Atomic Transactions The Transaction Model / Primitives Serializability Implementation Serialization Graphs 2-Phase Locking Optimistic Concurrency Control Transactional Memory

More information

On the Expressiveness of Polyadicity in Higher-Order Process Calculi

On the Expressiveness of Polyadicity in Higher-Order Process Calculi On the Expressiveness of Polyadicity in Higher-Order Process Calculi Ivan Lanese, Jorge A. Pérez, Davide Sangiorgi (Univ. di Bologna) Alan Schmitt (INRIA Grenoble - Rhône Alpes) ICTCS 09 Cremona, September

More information

Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000

Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000 Brewer s CAP Theorem Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000 Written by Table of Contents Introduction... 2 The CAP-Theorem...

More information

Replications and Consensus

Replications and Consensus CPSC 426/526 Replications and Consensus Ennan Zhai Computer Science Department Yale University Recall: Lec-8 and 9 In the lec-8 and 9, we learned: - Cloud storage and data processing - File system: Google

More information

Section 4 Concurrent Objects Correctness, Progress and Efficiency

Section 4 Concurrent Objects Correctness, Progress and Efficiency Section 4 Concurrent Objects Correctness, Progress and Efficiency CS586 - Panagiota Fatourou 1 Concurrent Objects A concurrent object is a data object shared by concurrently executing processes. Each object

More information

A Quorum-Based Replication Framework for Distributed Software Transactional Memory

A Quorum-Based Replication Framework for Distributed Software Transactional Memory A Quorum-Based Replication Framework for Distributed Software Transactional Memory Bo Zhang ECE Department, Virginia Tech Blacksburg, VA 24061, USA alexzbzb@vt.edu Binoy Ravindran ECE Department, Virginia

More information

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University)

Cost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) Cost of Concurrency in Hybrid Transactional Memory Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) 1 Transactional Memory: a history Hardware TM Software TM Hybrid TM 1993 1995-today

More information

Time-Warp: Lightweight Abort Minimization in Transactional Memory

Time-Warp: Lightweight Abort Minimization in Transactional Memory Time-Warp: Lightweight Abort Minimization in Transactional Memory Nuno Diegues Paolo Romano INESC-ID / Instituto Superior Técnico, University of Lisbon, Portugal ndiegues@gsd.inesc-id.pt romano@inesc-id.pt

More information