Transactional Contention Management as a Non-Clairvoyant Scheduling Problem Hagit Attiya, Alessia Milani Technion, Haifa-LABRI, University of Bordeaux.

Slides:



Advertisements
Similar presentations
Optimistic Methods for Concurrency Control By : H.T. Kung & John T. Robinson Presenters: Munawer Saeed.
Advertisements

Database Systems (資料庫系統)
Concurrency Control WXES 2103 Database. Content Concurrency Problems Concurrency Control Concurrency Control Approaches.
Unit 9 Concurrency Control. 9-2 Wei-Pang Yang, Information Management, NDHU Content  9.1 Introduction  9.2 Locking Technique  9.3 Optimistic Concurrency.
1 Concurrency Control Chapter Conflict Serializable Schedules  Two actions are in conflict if  they operate on the same DB item,  they belong.
Impossibilities for Disjoint-Access Parallel Transactional Memory : Alessia Milani [Guerraoui & Kapalka, SPAA 08] [Attiya, Hillel & Milani, SPAA 09]
Transaction Management: Concurrency Control CS634 Class 17, Apr 7, 2014 Slides based on “Database Management Systems” 3 rd ed, Ramakrishnan and Gehrke.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Concurrency Control Chapter 17 Sections
Concurrency Control II. General Overview Relational model - SQL  Formal & commercial query languages Functional Dependencies Normalization Physical Design.
Scheduling-based TM Contention Management A survey talk 3 rd workshop on the Theory of Transactional Memory, Sep 22-23, 2011, Rome Danny Hendler Ben-Gurion.
Safety Definitions and Inherent Bounds of Transactional Memory Eshcar Hillel.
Inherent limitations on DAP TMs 1 Inherent Limitations on Disjoint-Access Parallel Transactional Memory Hagit Attiya, Eshcar Hillel, Alessia Milani Technion.
Concurrency Control.
Lecture 11 Recoverability. 2 Serializability identifies schedules that maintain database consistency, assuming no transaction fails. Could also examine.
Transactional Contention Management as a Non-Clairvoyant Scheduling Problem Alessia Milani [Attiya et al. PODC 06] [Attiya and Milani OPODIS 09]
A Programming Language View of Transactional Memory Hagit Attiya, Technion Joint work with Sandeep Hans, Alexey Gotsman and Noam Rinetzky Published in.
Concurrency Control Nate Nystrom CS 632 February 6, 2001.
Concurrent Transactions Even when there is no “failure,” several transactions can interact to turn a consistent state into an inconsistent state.
Transactions are back But are they the same? R. Guerraoui, EPFL.
SECTION 18.8 Timestamps. What is Timestamping? Scheduler assign each transaction T a unique number, it’s timestamp TS(T). Timestamps must be issued in.
Idit Keidar and Dmitri Perelman Technion 1 SPAA 2009.
CONCURRENCY CONTROL SECTION 18.7 THE TREE PROTOCOL By : Saloni Tamotia (215)
©Silberschatz, Korth and Sudarshan16.1Database System Concepts 3 rd Edition Chapter 16: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols.
Concurrency Control R&G - Chapter 17 Smile, it is the key that fits the lock of everybody's heart. Anthony J. D'Angelo, The College Blue Book.
CS 582 / CMPE 481 Distributed Systems Concurrency Control.
Transactional contention Management as a Non- Clairvoyant Scheduling Problem Hagit Attiya, Leah Epstein, Hadas Shachnai, Tami Tamir Presented by Anastasia.
Concurrency III (Timestamps). Schedulers A scheduler takes requests from transactions for reads and writes, and decides if it is “OK” to allow them to.
Algorithmics for Software Transactional Memory Hagit Attiya Technion.
Scheduling Memory Transactions Parallel computing day, Ben-Gurion University, October 20, 2009.
Distributed Transactional Memory Presented by Gala Yadgar.
Session - 14 CONCURRENCY CONTROL CONCURRENCY TECHNIQUES Matakuliah: M0184 / Pengolahan Data Distribusi Tahun: 2005 Versi:
Selfishness in Transactional Memory Raphael Eidenbenz, Roger Wattenhofer Distributed Computing Group Game Theory meets Multicore Architecture.
Transaction Processing: Concurrency and Serializability 10/4/05.
Transaction Management
The Cost of Privatization Hagit Attiya Eshcar Hillel Technion & EPFLTechnion.
Database Management Systems I Alex Coman, Winter 2006
1 Scalable Transactional Memory Scheduling Gokarna Sharma (A joint work with Costas Busch) Louisiana State University.
Concurrency Control John Ortiz.
Alternative Concurrency Control Methods R&G - Chapter 17.
© 1997 UW CSE 11/13/97N-1 Concurrency Control Chapter 18.1, 18.2, 18.5, 18.7.
Academic Year 2014 Spring Academic Year 2014 Spring.
TRANSACTIONS AND CONCURRENCY CONTROL Sadhna Kumari.
Ana-Maria Oprescu, Thilo Kielmann (Vrije University) Presented By Gal Cohen Cloud Computing Seminar CS Technion, Spring 2012.
An Introduction to Software Transactional Memory
Window-Based Greedy Contention Management for Transactional Memory Gokarna Sharma (LSU) Brett Estrade (Univ. of Houston) Costas Busch (LSU) 1DISC 2010.
CAR-STM: Scheduling-based Collision Avoidance and Reduction for Software Transactional Memory Shlomi Dolev, Danny Hendler and Adi Suissa PODC 2008.
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
Concurrency Control Lectured by, Jesmin Akhter, Assistant professor, IIT, JU.
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
Chapter 11 Concurrency Control. Lock-Based Protocols  A lock is a mechanism to control concurrent access to a data item  Data items can be locked in.
Concurrency Server accesses data on behalf of client – series of operations is a transaction – transactions are atomic Several clients may invoke transactions.
On the Performance of Window-Based Contention Managers for Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University.
Operating Systems 1 K. Salah Module 2.2: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Transactions and Concurrency Control. Concurrent Accesses to an Object Multiple threads Atomic operations Thread communication Fairness.
Page 1 Concurrency Control Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
1 Concurrency Control Lecture 22 Ramakrishnan - Chapter 19.
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. – Because disk accesses are.
Concurrency Control Introduction Lock-Based Protocols
1 Concurrency control lock-base protocols timestamp-based protocols validation-based protocols Ioan Despi.
Timestamp-based Concurrency Control
Concurrency Control The main reference of this presentation is the textbook and PPT from : Elmasri & Navathe, Fundamental of Database Systems, 4th edition,
Window-Based Greedy Contention Management for Transactional Memory Gokarna Sharma (LSU) Brett Estrade (Univ. of Houston) Costas Busch (LSU) DISC
Outline Introduction Background Distributed DBMS Architecture
Distributed Transactions
Transactions are back But are they the same? R. Guerraoui , EPFL
Gokarna Sharma Costas Busch Louisiana State University, USA
Chapter 15 : Concurrency Control
Presentation transcript:

Transactional Contention Management as a Non-Clairvoyant Scheduling Problem Hagit Attiya, Alessia Milani Technion, Haifa-LABRI, University of Bordeaux

Optimism Transactions (Txs) proceed until a conflict occurs  T 1 conflicts with an on-going T 2 if T 1 tries to write to a data item previously accessed by T 2  one transaction aborts or waits for the other to complete  If no conflict occurs, they run in parallel

T1 Read(X)0 Write((Z)) ABORT T2 Write(X)1Read(Y) COMMIT Conflict Conservative approach A conflict does not imply a violation of serializability T1 and T2 can both commit without violating strict serializability

Contention manager mediates conflicts Decides which transaction aborts  E.g., the Greedy contention manager [Guerraoui et al. PODC 05] Each Tx is assigned a unique timestamp reflecting Txs real-time order If Txs T1 and T2 conflict, the Tx with the smaller timestamp aborts Decides when to restart aborted Txs  E.g., CAR-STM [Dolev et al. PODC 08] the aborted Tx is not executed until the completion of the conflicting Tx  unrelated Txs may be executed serially

Need for a “clever” contention manager Complete the work quickly  makespan : Worst-case total time to complete all transactions Not waste work  do not repeate conflicts What Works and Why?

What Works and Why? In Practice [Scherer and Scott, CSJP 04] Extensive testing  Backoff  Aging  Randomized  Various priority …… None dominates on all benchmarks

What Works and Why? In Theory Contention Management as a Scheduling problem  Evaluate the throughput, measured by the makespan of a finite set of transactions Worst-case total time to complete all transactions  Relative to the makespan guaranteed by an optimal off-line scheduler

Non-Clairvoyant Scheduling A scheduler A does not know Txs characteristics a priori  Txs arrive one by one, and their duration is unknown Evaluated in comparison with an optimal, clairvoyant scheduler  knows the set of Txs, their data set, their release times and duration Competitive ratio :

A lower bound for CM Theorem 1. The competitive ratio of any work conserving CM is Ω(s), where s is # of data items It always lets a maximal set of non-conflicting transactions run [Attiya et al. PODC 06]

Read-Dominated Workloads Existing results hold for write-dominated workloads  Transactions need exclusive access for most of their duration (early-write transactions) [Guerraoui et al. PODC 05, Attiya et al. PODC 06] What about read-dominated workloads?  Read-only transactions  Late-write transactions k+1 134k … [Attiya & Milani. OPODIS 09]

It holds also for CM that has a more careful approach than being conservative Transactions :  have the same duration, are available at time 0  But may have a different data set if executed at different times or restarted Extending the lower bound to read- dominated workload Theorem 3. There is a read-dominated workload, s.t. the competitive ratio of any deterministic CM is Ω(s)

Lower Bound : Workload 12 … q=s/2 1 R 1 …R q R q+1 W q+1 … 2 R 1 … R q R q+2 W q+2 … … i R 1 …R q R q+i W q+i … … q R 1 …R q R 2q W 2q … 1 R 1 R 2 … R q-1 R q … 2 … … m-q R 1 R 2 … R q-1 R q … … … … … … …… ……

Makespan of Non-Clairvoyant Scheduler 12 … q 1 R 1 R q R q+1 W q+1 … 2 R 1 R q R q+2 W q+2 … … i R 1 R q R q+i W q+i … … q R 1 R q R 2q W 2q … q+1 R 1 R 2 … R q-1 R q … q+ 2 R 1 R 2 … R q-1 R q … … m … … … … … … …… …… Work conserving CM must select an independent set of m Txs e.g., 1 row plus m-q read-only Txs

Makespan of Non-Clairvoyant Scheduler 12 … q 1 R 1 R q R q+1 W q+1 … 2 R 1 R q R q+2 W q+2 … … i R 1 R q R q+i W q+i … … q R 1 R q R 2q W 2q … q+1 R 1 R 2 … R q-1 R q … q+ 2 R 1 R 2 … R q-1 R q … … m … … … … … … …… …… Only one Tx in a given row can commit Restarted Txs all request the same data item

Makespan of Non-Clairvoyant Scheduler 12 … q 1 R 1 …R q R 1 W 1 … 2 … … i … … q … q+1 … q+ 2 … … m … … … … …… …… At time q, still  q 2 late- write Txs to be executed We have to execute them serially q=s/2  Makespan To remove the work-conserving assumption : A Tx that starts after time q is [R 1 …R q R 1 W 1 ] s 2 /4

Makespan of the Clairvoyant Scheduler 12 … q 1 R 1 R q R q+1 W q+1 … 2 R 1 R q R q+2 W q+2 … … i R 1 R q R q+i W q+i … … q R 1 R q R 2q W 2q … q+1 R 1 R 2 … R q-1 R q … q+ 2 R 1 R 2 … R q-1 R q … … m … … … … … … …… …… Each column is an independent set of Txs At time q, all Txs are committed q=s/2  Makespan s Competitive ratio s/2

Theorem 4. There is a late-write workload,such that the competitive ratio of any deterministic conservative scheduler is Ω(m) A lower bound for conservative CM

On Bimodal Workloads If a transaction writes, it writes from the very beginning Recent contention managers try to avoid repeated conflicts by serializing conflicting Txs  CAR-STM, Steal On Abort, ATS  They are conservative Ω(m) competitive ratio for read-dominated workloads (by Theorem 4)  also Ω(m) competitive ratio for bimodal workloads

CAR-STM scheduler T1 T2 Conflict T3 T2 Txs in execution Enqueued Txs T3 T1 is a writing Tx T2 and T3 and T5 are read-only Txs T5 T4 T6 T5T6 T5 T4 Serialize the execution of read-only Txs

Bimodal scheduler T1 T2 Conflict T3 T2 Txs in execution Enqueued Txs T3 Read-only queue T1 is a writing Tx T2 and T3 and T5 are read-only Txs T5 T4 T6 T5T6 T5 T2 T3 T5

 (s) [Attiya et al.]  (s)  (m) CAR-STM, ATS, SoA  (m) O(s) Bimodal  (s) derived from [Attiya et al.] O(m) trivial “Conservative” schedulerAny schedulerWORKLOADS WRITE- DOMINATED Early write BIMODAL : Early write + read-only READ- DOMINATED : Late write + read-only Summary &  “Conservative” schedulers decrease performance w/ read-dominated WL Can a “smarter” scheduler do better? At what cost? 3 & &  123 late-write Txs are more difficult to handle than read-only Txs