Leveraging Lock Contention to Improve Transaction Applications. University of Washington
|
|
- Shawn Phelps
- 5 years ago
- Views:
Transcription
1 Leveraging Lock Contention to Improve Transaction Applications Cong Yan Alvin Cheung University of Washington
2 Background Pessimistic locking-based CC protocols Poor performance under high data contention long lock waiting time and high abort rate Time breakdown for YCSB transaction under high data contention Main-memory DBMS, 2PL ( Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores, VLDB15) 2
3 Two-phase Locking Example transaction: online shopping Alice and Cong buying Echo at the same time void transaction(){ v = ; ; b = ; ; } select(c, Cong) void transaction(){ v = ; ; b = select(c, Cong); update(c, Cong); } update(c, Cong) P = Product table C = Customer table 3
4 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- T Product Echo T Customer Alice Cong :shared lock :exclusive lock 4
5 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- T Product Echo T Customer Alice Cong :shared lock :exclusive lock 5
6 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong :shared lock :exclusive lock 6
7 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong :shared lock :exclusive lock 7
8 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong :shared lock :exclusive lock 8
9 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong :shared lock :exclusive lock 9
10 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong :shared lock :exclusive lock 10
11 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong select(c, Cong) :shared lock :exclusive lock 11
12 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong select(c, Cong) update(c, Cong) :shared lock :exclusive lock 12
13 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) :shared lock :exclusive lock 13
14 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) select(c, Cong) update(c, Cong) :shared lock :exclusive lock 14
15 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) select(c, Cong) update(c, Cong) :shared lock :exclusive lock 15
16 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) select(c, Cong) update(c, Cong) :shared lock :exclusive lock 16
17 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) select(c, Cong) update(c, Cong) :shared lock :exclusive lock 17
18 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) update(c, Cong) :shared lock :exclusive lock 18
19 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) update(c, Cong) :shared lock :exclusive lock 19
20 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) update(c, Cong) :shared lock :exclusive lock 20
21 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) (Waiting for lock) update(c, Cong) :shared lock :exclusive lock 21
22 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) T Product Echo T Customer Alice Cong Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) (Waiting for lock) update(c, Cong) :shared lock :exclusive lock 22
23 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) (Waiting for lock) Reduced time update(c, Cong) 23
24 Shortening Lock Waiting Original txn Reordered txn Execution time T1 T2 T3 T4 T5 T6 T1 T2 T3 T4 T5 T6 Reduced time Greater performance improvement when running with more concurrent txns 24
25 Two-phase Locking Execution time --(T1)-- Original txn --(T2)-- (Waiting for lock) select(c, Cong) QURO Reordered txn --(T1)-- --(T2)-- select(c, Cong) update(c, Cong) (Waiting for lock) update(c, Cong) 25
26 Overview QURO: compiler for query reordering Architecture Optimizations Evaluation QURO Implementation & benchmarks Compare the throughput of QURO-generated txn with: Original impl. / stored procedure / other concurrency control schemes 26
27 Overview QURO: compiler for query reordering Architecture Optimizations Evaluation QURO Implementation & benchmarks Compare the throughput of QURO-generated txn with: Original impl. / stored procedure / other concurrency control schemes 27
28 QURO Architecture Input: C++ transaction code with embedded SQL queries void transaction(){ v = ; ; b = ; ; } 28
29 QURO Architecture Input: C++ transaction code with embedded SQL queries void transaction(){ v = ; ; b = ; ; } Profile the application Analyze application code Reorder queries 29
30 QURO Architecture Input: C++ transaction code with embedded SQL queries void transaction(){ v = ; ; b = ; ; } Profile the application Analyze application code Reorder queries Output: C++ code with reordered SQL queries 30 void transaction(){ b = ; ; v = ; ; }
31 Preserving Semantics Analyze the relationship among queries Data dependency among program variables (RAW, WAR, WAW) 1. v1 = select(table1); 2. v2 = select(table2, v1); 3. update(table1, v3); Statement 1 should appear before statement 2 Database constraints (R/W on the same table, view, foreign key...) 1. v1 = select(table1); 2. v2 = select(table2, v1); 3. update(table1, v3); Statement 1 should appear before statement 3 31
32 ILP Formulation position of statement i contention level of query i Constraint: data dependencies & database constraints p i, (1 p i n) c i, (const. Larger c i, higher contention) 1. v1 = select(table1); 2. v2 = select(table2, v1); 3. update(table1, v3); p 1 < p 2, variable v1 p 1 < p 3, table1 Goal: contentious query appear as late as possible maximize n i=1 p i *c i Result: query order values of p 1, p 2,..., p n 32
33 ILP Formulation Goal: contentious queries appear as late as possible in transactions maximize n i=1 p i *c i void transaction(){ v = ; b = ; ; } 33
34 ILP Formulation Goal: contentious queries appear as late as possible in transactions maximize n i=1 p i *c i (Contention index) c 1 = 100 c 2 = 110 c 3 = 1 c 4 = 10 void transaction(){ v = ; b = ; ; } 34
35 ILP Formulation Goal: contentious queries appear as late as possible in transactions maximize n i=1 p i *c i (Contention index) (Order constraints) c 1 = 100 c 2 = 110 c 3 = 1 c 4 = 10 void transaction(){ v = ; b = ; ; } p 1 < p 2 p 3 < p 4 35
36 ILP Formulation Goal: contentious queries appear as late as possible in transactions maximize n i=1 p i *c i (Contention index) (Order constraints) c 1 = 100 c 2 = 110 c 3 = 1 c 4 = 10 void transaction(){ v = ; b = ; ; } p 1 < p 2 p 3 < p 4 ILP solver p 3 = 1 p 4 = 2 p 1 = 3 p 2 = 4 36
37 ILP Formulation Goal: contentious queries appear as late as possible in transactions maximize n i=1 p i *c i (Contention index) (Order constraints) c 1 = 100 c 2 = 110 c 3 = 1 c 4 = 10 void transaction(){ v = ; b = ; ; } p 1 < p 2 p 3 < p 4 ILP solver p 3 = 1 p 4 = 2 p 1 = 3 p 2 = 4 void transaction(){ b = ; ; v = ; ; } 37
38 How to get contention index? Profiling the application Clients repetitively issue transactions Calculate the standard deviation of query running time Larger the deviation, more likely to access contentious data Same machine settings, same workload (given by user) 38
39 Overview QURO: compiler for query reordering Architecture Optimizations Evaluation QURO Implementation & benchmarks Compare the throughput of QURO-generated txn with: Original impl. / stored procedure / other concurrency control schemes 39
40 Improving reorder results Allow more flexible reordering Loop fission for (i=1;i<n;i++){ update(table1, v1); update(table2, v2); } original : query on contentious data for (i=1;i<n;i++) update(table1, v1); for (i=1;i<n;i++) update(table2, v2); after loop fission for (i=1;i<n;i++) update(table2, v2); for (i=1;i<n;i++) update(table1, v1); after reordering Breaking conditional block 40
41 Reduce ILP solving time Using transitive closure to reduce # variables # constraints 41
42 Overview QURO: compiler for query reordering Architecture Optimizations Evaluation QURO Implementation & benchmarks Compare the throughput of QURO-generated txn with: Original impl. / stored procedure / other concurrency control schemes 42
43 Implementation QURO implementation: Build with Clang tools Use external ILP solver (gurobi) Experiment overview: System throughput (txns/sec), latency Increasing data contention Smaller database More clients 43
44 Benchmarks: TPC-C 5 types of transactions TPC-E trade-related of transaction (update/order/result/status) Bidding Evaluation Compare with: Original implementation Stored procedure implementation Other concurrency control protocols Experimental settings: MySQL GHz processors, 1056G memory 44
45 Overview QURO: compiler for query reordering Architecture Optimizations Evaluation QURO Implementation & benchmarks Compare the throughput of QURO-generated txn with: Original impl. / stored procedure / other concurrency control schemes 45
46 QURO vs. Original Benchmark: TPC-C payment transaction most contentious changing data size scaling to more threads most contentious latency: decreases up to 83% latency: decreases up to 70% 46 threads
47 QURO vs. Original Benchmark: TPC-C payment transaction most contentious changing data size scaling to more threads most contentious latency: decreases up to 83% latency: decreases up to 70% 47 threads
48 QURO vs. Original Benchmark: TPC-E trade update transaction most contentious changing data size scaling to more threads most contentious latency: decreases up to 75% 48 threads latency: decreases up to 66%
49 QURO vs. Original Mix of different transactions TPC-C standard mix: 5 types of transactions most contentious 49 threads
50 QURO vs. Stored-procedure TPC-C payment transaction most contentious 50
51 QURO vs. Other CC Schemes TPC-C a mix of payment and new order transactions Technical report: 51
52 Conclusion The order of queries has large impact on transaction performance. QURO leverages information about query contention, and automatically reorders the queries. Reordered code generated by QURO can improve throughput up to 6.53x, and can be applied to a wide range of applications. QURO also outperforms stored-proc and other concurrency control schemes under high data contention. Project website: 52
53 QURO vs. Worst-case Order Comparing with worst-case ordering most contentious most contentious TPCC payment transaction TPCC standard mix 53
54 QURO: Smaller Bufferpool Smaller bufferpool increase buffer management time TPC-C new order transaction smaller bufferpool 54
55 backup1 Analysis Trade-off Loop breaking most contentious : query time increase (after reorder) : query time decrease
56 backup 2 Comparing with other concurrency control schemes -(T1)- Execution -(T1)- -(T2)- -(T1)- -(T2)- -(T1)- -(T2)- time -(T2)- 2PL reordered MVCC OCC 2PL original :A transaction :Write operation on contentious data : Read operation on contentious data : OCC Validation phase : Abort window Execution of transactions T1 and T2 under different concurrency control schemes. Both T1 and T2 read and write the same tuple. 56
Leveraging Lock Contention to Improve Transaction Applications. University of Washington
Leveraging Lock Contention to Improve Transaction Applications Cong Yan Alvin Cheung University of Washington 1 Background Database transactions Airline ticket reservation, banking, online shopping...
More informationAn Evaluation of Distributed Concurrency Control. Harding, Aken, Pavlo and Stonebraker Presented by: Thamir Qadah For CS590-BDS
An Evaluation of Distributed Concurrency Control Harding, Aken, Pavlo and Stonebraker Presented by: Thamir Qadah For CS590-BDS 1 Outline Motivation System Architecture Implemented Distributed CC protocols
More informationRethinking Serializable Multi-version Concurrency Control. Jose Faleiro and Daniel Abadi Yale University
Rethinking Serializable Multi-version Concurrency Control Jose Faleiro and Daniel Abadi Yale University Theory: Single- vs Multi-version Systems Single-version system T r Read X X 0 T w Write X Multi-version
More informationBig and Fast. Anti-Caching in OLTP Systems. Justin DeBrabant
Big and Fast Anti-Caching in OLTP Systems Justin DeBrabant Online Transaction Processing transaction-oriented small footprint write-intensive 2 A bit of history 3 OLTP Through the Years relational model
More informationLast Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications
Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#23: Concurrency Control Part 3 (R&G ch. 17) Lock Granularities Locking in B+Trees The
More informationTIME TRAVELING HARDWARE AND SOFTWARE SYSTEMS. Xiangyao Yu, Srini Devadas CSAIL, MIT
TIME TRAVELING HARDWARE AND SOFTWARE SYSTEMS Xiangyao Yu, Srini Devadas CSAIL, MIT FOR FIFTY YEARS, WE HAVE RIDDEN MOORE S LAW Moore s Law and the scaling of clock frequency = printing press for the currency
More informationarxiv: v1 [cs.db] 8 Mar 2017
Scaling Distributed Transaction Processing and Recovery based on Dependency Logging Chang Yao, Meihui Zhang, Qian Lin, Beng Chin Ooi, Jiatao Xu National University of Singapore, Singapore University of
More informationCSE 190D Database System Implementation
CSE 190D Database System Implementation Arun Kumar Topic 6: Transaction Management Chapter 16 of Cow Book Slide ACKs: Jignesh Patel 1 Transaction Management Motivation and Basics The ACID Properties Transaction
More informationBuilding Consistent Transactions with Inconsistent Replication
DB Reading Group Fall 2015 slides by Dana Van Aken Building Consistent Transactions with Inconsistent Replication Irene Zhang, Naveen Kr. Sharma, Adriana Szekeres, Arvind Krishnamurthy, Dan R. K. Ports
More informationStephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, Samuel Madden Presenter : Akshada Kulkarni Acknowledgement : Author s slides are used with
Stephen Tu, Wenting Zheng, Eddie Kohler, Barbara Liskov, Samuel Madden Presenter : Akshada Kulkarni Acknowledgement : Author s slides are used with some additions/ modifications 1 Introduction Design Evaluation
More informationLow Overhead Concurrency Control for Partitioned Main Memory Databases. Evan P. C. Jones Daniel J. Abadi Samuel Madden"
Low Overhead Concurrency Control for Partitioned Main Memory Databases Evan P. C. Jones Daniel J. Abadi Samuel Madden" Banks" Payment Processing" Airline Reservations" E-Commerce" Web 2.0" Problem:" Millions
More informationSandor Heman, Niels Nes, Peter Boncz. Dynamic Bandwidth Sharing. Cooperative Scans: Marcin Zukowski. CWI, Amsterdam VLDB 2007.
Cooperative Scans: Dynamic Bandwidth Sharing in a DBMS Marcin Zukowski Sandor Heman, Niels Nes, Peter Boncz CWI, Amsterdam VLDB 2007 Outline Scans in a DBMS Cooperative Scans Benchmarks DSM version VLDB,
More informationHigh-Performance ACID via Modular Concurrency Control
FALL 2015 High-Performance ACID via Modular Concurrency Control Chao Xie 1, Chunzhi Su 1, Cody Littley 1, Lorenzo Alvisi 1, Manos Kapritsos 2, Yang Wang 3 (slides by Mrigesh) TODAY S READING Background
More informationSquall: Fine-Grained Live Reconfiguration for Partitioned Main Memory Databases
Squall: Fine-Grained Live Reconfiguration for Partitioned Main Memory Databases AARON J. ELMORE, VAIBHAV ARORA, REBECCA TAFT, ANDY PAVLO, DIVY AGRAWAL, AMR EL ABBADI Higher OLTP Throughput Demand for High-throughput
More informationCMPT 354: Database System I. Lecture 11. Transaction Management
CMPT 354: Database System I Lecture 11. Transaction Management 1 Why this lecture DB application developer What if crash occurs, power goes out, etc? Single user à Multiple users 2 Outline Transaction
More informationTransactions. 1. Transactions. Goals for this lecture. Today s Lecture
Goals for this lecture Transactions Transactions are a programming abstraction that enables the DBMS to handle recovery and concurrency for users. Application: Transactions are critical for users Even
More informationTicToc: Time Traveling Optimistic Concurrency Control
TicToc: Time Traveling Optimistic Concurrency Control Authors: Xiangyao Yu, Andrew Pavlo, Daniel Sanchez, Srinivas Devadas Presented By: Shreejit Nair 1 Background: Optimistic Concurrency Control ØRead
More informationAccelerating Analytical Workloads
Accelerating Analytical Workloads Thomas Neumann Technische Universität München April 15, 2014 Scale Out in Big Data Analytics Big Data usually means data is distributed Scale out to process very large
More informationL i (A) = transaction T i acquires lock for element A. U i (A) = transaction T i releases lock for element A
Lock-Based Scheduler Introduction to Data Management CSE 344 Lecture 20: Transactions Simple idea: Each element has a unique lock Each transaction must first acquire the lock before reading/writing that
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Lecture 22: More Transaction Implementations 1 Review: Schedules, schedules, schedules The DBMS scheduler determines the order of operations from txns are executed
More informationA Scalable Lock Manager for Multicores
A Scalable Lock Manager for Multicores Hyungsoo Jung Hyuck Han Alan Fekete NICTA Samsung Electronics University of Sydney Gernot Heiser NICTA Heon Y. Yeom Seoul National University @University of Sydney
More informationHeckaton. SQL Server's Memory Optimized OLTP Engine
Heckaton SQL Server's Memory Optimized OLTP Engine Agenda Introduction to Hekaton Design Consideration High Level Architecture Storage and Indexing Query Processing Transaction Management Transaction Durability
More informationCSC 261/461 Database Systems Lecture 20. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101
CSC 261/461 Database Systems Lecture 20 Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101 Announcements Project 1 Milestone 3: Due tonight Project 2 Part 2 (Optional): Due on: 04/08 Project 3
More informationLecture 21. Lecture 21: Concurrency & Locking
Lecture 21 Lecture 21: Concurrency & Locking Lecture 21 Today s Lecture 1. Concurrency, scheduling & anomalies 2. Locking: 2PL, conflict serializability, deadlock detection 2 Lecture 21 > Section 1 1.
More informationChapter 06: Instruction Pipelining and Parallel Processing
Chapter 06: Instruction Pipelining and Parallel Processing Lesson 09: Superscalar Processors and Parallel Computer Systems Objective To understand parallel pipelines and multiple execution units Instruction
More informationExploiting Hardware Transactional Memory for Efficient In-Memory Transaction Processing. Hao Qian, Zhaoguo Wang, Haibing Guan, Binyu Zang, Haibo Chen
Exploiting Hardware Transactional Memory for Efficient In-Memory Transaction Processing Hao Qian, Zhaoguo Wang, Haibing Guan, Binyu Zang, Haibo Chen Shanghai Key Laboratory of Scalable Computing and Systems
More informationarxiv: v1 [cs.db] 12 Nov 2018
The Impact of Timestamp Granularity in Optimistic Concurrency Control Yihe Huang Hao Bai Eddie Kohler Harvard University Barbara Liskov MIT Liuba Shrira Brandeis University arxiv:1811.04967v1 [cs.db] 12
More informationAutomated Data Partitioning for Highly Scalable and Strongly Consistent Transactions
Automated Data Partitioning for Highly Scalable and Strongly Consistent Transactions Alexandru Turcu, Roberto Palmieri, Binoy Ravindran Virginia Tech SYSTOR 2014 Desirable properties in distribute transactional
More informationTRANSACTION MANAGEMENT
TRANSACTION MANAGEMENT CS 564- Spring 2018 ACKs: Jeff Naughton, Jignesh Patel, AnHai Doan WHAT IS THIS LECTURE ABOUT? Transaction (TXN) management ACID properties atomicity consistency isolation durability
More informationLectures 8 & 9. Lectures 7 & 8: Transactions
Lectures 8 & 9 Lectures 7 & 8: Transactions Lectures 7 & 8 Goals for this pair of lectures Transactions are a programming abstraction that enables the DBMS to handle recoveryand concurrency for users.
More informationLast Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications
Last Class Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB Applications C. Faloutsos A. Pavlo Lecture#23: Concurrency Control Part 2 (R&G ch. 17) Serializability Two-Phase Locking Deadlocks
More informationCSE 344 MARCH 25 TH ISOLATION
CSE 344 MARCH 25 TH ISOLATION ADMINISTRIVIA HW8 Due Friday, June 1 OQ7 Due Wednesday, May 30 Course Evaluations Out tomorrow TRANSACTIONS We use database transactions everyday Bank $$$ transfers Online
More informationCSE 444: Database Internals. Lectures 13 Transaction Schedules
CSE 444: Database Internals Lectures 13 Transaction Schedules CSE 444 - Winter 2018 1 About Lab 3 In lab 3, we implement transactions Focus on concurrency control Want to run many transactions at the same
More informationMulti-threaded Queries. Intra-Query Parallelism in LLVM
Multi-threaded Queries Intra-Query Parallelism in LLVM Multithreaded Queries Intra-Query Parallelism in LLVM Yang Liu Tianqi Wu Hao Li Interpreted vs Compiled (LLVM) Interpreted vs Compiled (LLVM) Interpreted
More informationCut Me Some Slack : Latency-Aware Live Migration for Databases. Sean Barker, Yun Chi, Hyun Jin Moon, Hakan Hacigumus, and Prashant Shenoy
Cut Me Some Slack : Latency-Aware Live Migration for s Sean Barker, Yun Chi, Hyun Jin Moon, Hakan Hacigumus, and Prashant Shenoy University of Massachusetts Amherst NEC Laboratories America Department
More informationLow Overhead Concurrency Control for Partitioned Main Memory Databases
Low Overhead Concurrency Control for Partitioned Main Memory Databases Evan Jones, Daniel Abadi, Samuel Madden, June 2010, SIGMOD CS 848 May, 2016 Michael Abebe Background Motivations Database partitioning
More information(Extended) Entity Relationship
03 - Database Design, UML and (Extended) Entity Relationship Modeling CS530 Database Architecture Models and Design Prof. Ian HORROCKS Dr. Robert STEVENS In this Section Topics Covered Database Design
More informationIncrementally Parallelizing. Twofold Speedup on a Quad-Core. Thread-Level Speculation. A Case Study with BerkeleyDB. What Am I Working on Now?
Incrementally Parallelizing Database Transactions with Thread-Level Speculation Todd C. Mowry Carnegie Mellon University (in collaboration with Chris Colohan, J. Gregory Steffan, and Anastasia Ailamaki)
More informationTransactions & Update Correctness. April 11, 2018
Transactions & Update Correctness April 11, 2018 Correctness Correctness Data Correctness (Constraints) Query Correctness (Plan Rewrites) Correctness Data Correctness (Constraints) Query Correctness (Plan
More informationTransaction Management & Concurrency Control. CS 377: Database Systems
Transaction Management & Concurrency Control CS 377: Database Systems Review: Database Properties Scalability Concurrency Data storage, indexing & query optimization Today & next class Persistency Security
More informationHardware-Accelerated Memory Operations on Large-Scale NUMA Systems
Hardware-Accelerated Memory Operations on Large-Scale NUMA Systems Markus Dreseler, Timo Djürken, Matthias Uflacker, Hasso Plattner Thomas Kissinger, Eric Lübke, Dirk Habich, Wolfgang Lehner Scaling beyond
More informationSTEPS Towards Cache-Resident Transaction Processing
STEPS Towards Cache-Resident Transaction Processing Stavros Harizopoulos joint work with Anastassia Ailamaki VLDB 2004 Carnegie ellon CPI OLTP workloads on modern CPUs 6 4 2 L2-I stalls L2-D stalls L1-I
More informationAnti-Caching: A New Approach to Database Management System Architecture. Guide: Helly Patel ( ) Dr. Sunnie Chung Kush Patel ( )
Anti-Caching: A New Approach to Database Management System Architecture Guide: Helly Patel (2655077) Dr. Sunnie Chung Kush Patel (2641883) Abstract Earlier DBMS blocks stored on disk, with a main memory
More informationBottleneck Identification and Scheduling in Multithreaded Applications. José A. Joao M. Aater Suleman Onur Mutlu Yale N. Patt
Bottleneck Identification and Scheduling in Multithreaded Applications José A. Joao M. Aater Suleman Onur Mutlu Yale N. Patt Executive Summary Problem: Performance and scalability of multithreaded applications
More informationCSE 344 MARCH 5 TH TRANSACTIONS
CSE 344 MARCH 5 TH TRANSACTIONS ADMINISTRIVIA OQ6 Out 6 questions Due next Wednesday, 11:00pm HW7 Shortened Parts 1 and 2 -- other material candidates for short answer, go over in section Course evaluations
More informationAccelerate Applications Using EqualLogic Arrays with directcache
Accelerate Applications Using EqualLogic Arrays with directcache Abstract This paper demonstrates how combining Fusion iomemory products with directcache software in host servers significantly improves
More informationOracle Database 10g The Self-Managing Database
Oracle Database 10g The Self-Managing Database Benoit Dageville Oracle Corporation benoit.dageville@oracle.com Page 1 1 Agenda Oracle10g: Oracle s first generation of self-managing database Oracle s Approach
More informationOverview of Transaction Management
Overview of Transaction Management Chapter 16 Comp 521 Files and Databases Fall 2010 1 Database Transactions A transaction is the DBMS s abstract view of a user program: a sequence of database commands;
More informationEfficient Runahead Threads Tanausú Ramírez Alex Pajuelo Oliverio J. Santana Onur Mutlu Mateo Valero
Efficient Runahead Threads Tanausú Ramírez Alex Pajuelo Oliverio J. Santana Onur Mutlu Mateo Valero The Nineteenth International Conference on Parallel Architectures and Compilation Techniques (PACT) 11-15
More informationCIS 601 Graduate Seminar. Dr. Sunnie S. Chung Dhruv Patel ( ) Kalpesh Sharma ( )
Guide: CIS 601 Graduate Seminar Presented By: Dr. Sunnie S. Chung Dhruv Patel (2652790) Kalpesh Sharma (2660576) Introduction Background Parallel Data Warehouse (PDW) Hive MongoDB Client-side Shared SQL
More informationPROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)
Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 10 Database Programming PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL) AGENDA 14. Advanced Topics 14.1 Optimistic/Pessimistic
More informationAccelerating OLTP performance with NVMe SSDs Veronica Lagrange Changho Choi Vijay Balakrishnan
Accelerating OLTP performance with NVMe SSDs Veronica Lagrange Changho Choi Vijay Balakrishnan Agenda OLTP status quo Goal System environments Tuning and optimization MySQL Server results Percona Server
More informationReal Time: Understanding the Trade-offs Between Determinism and Throughput
Real Time: Understanding the Trade-offs Between Determinism and Throughput Roland Westrelin, Java Real-Time Engineering, Brian Doherty, Java Performance Engineering, Sun Microsystems, Inc TS-5609 Learn
More informationSTORAGE LATENCY x. RAMAC 350 (600 ms) NAND SSD (60 us)
1 STORAGE LATENCY 2 RAMAC 350 (600 ms) 1956 10 5 x NAND SSD (60 us) 2016 COMPUTE LATENCY 3 RAMAC 305 (100 Hz) 1956 10 8 x 1000x CORE I7 (1 GHZ) 2016 NON-VOLATILE MEMORY 1000x faster than NAND 3D XPOINT
More informationIntro to Transactions
Reading Material CompSci 516 Database Systems Lecture 14 Intro to Transactions [RG] Chapter 16.1-16.3, 16.4.1 17.1-17.4 17.5.1, 17.5.3 Instructor: Sudeepa Roy Acknowledgement: The following slides have
More informationDatabase Systems CSE 414
Database Systems CSE 414 Lecture 27: Transaction Implementations 1 Announcements Final exam will be on Dec. 14 (next Thursday) 14:30-16:20 in class Note the time difference, the exam will last ~2 hours
More informationCS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111
CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111 Instructor: Boris Glavic, Stuart Building 226 C, Phone: 312 567 5205, Email: bglavic@iit.edu Office
More informationData Transformation and Migration in Polystores
Data Transformation and Migration in Polystores Adam Dziedzic, Aaron Elmore & Michael Stonebraker September 15th, 2016 Agenda Data Migration for Polystores: What & Why? How? Acceleration of physical data
More informationSICV Snapshot Isolation with Co-Located Versions
SICV Snapshot Isolation with Co-Located Versions Robert Gottstein, Ilia Petrov, Alejandro Buchmann {lastname}@dvs.tu-darmstadt.de Databases and Distributed Systems Robert Gottstein, Ilia Petrov, Alejandro
More informationMotivating Example. Motivating Example. Transaction ROLLBACK. Transactions. CSE 444: Database Internals
CSE 444: Database Internals Client 1: SET money=money-100 WHERE pid = 1 Motivating Example Client 2: SELECT sum(money) FROM Budget Lectures 13 Transaction Schedules 1 SET money=money+60 WHERE pid = 2 SET
More informationDATABASE MANAGEMENT SYSTEMS
www..com Code No: N0321/R07 Set No. 1 1. a) What is a Superkey? With an example, describe the difference between a candidate key and the primary key for a given relation? b) With an example, briefly describe
More informationIntro to Transaction Management
Intro to Transaction Management CMPSCI 645 May 3, 2006 Gerome Miklau Slide content adapted from Ramakrishnan & Gehrke, Zack Ives 1 Concurrency Control Concurrent execution of user programs is essential
More informationSoftware-Controlled Multithreading Using Informing Memory Operations
Software-Controlled Multithreading Using Informing Memory Operations Todd C. Mowry Computer Science Department University Sherwyn R. Ramkissoon Department of Electrical & Computer Engineering University
More informationTaurus: A Parallel Transaction Recovery Method Based on Fine-Granularity Dependency Tracking
Taurus: A Parallel Transaction Recovery Method Based on Fine-Granularity Dependency Tracking Xiangyao Yu Siye Zhu Justin Kaashoek CSAIL MIT Phillips Academy Lexington High School yxy@csail.mit.edu szhu@andover.edu
More informationA7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS
A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered
More informationTransaction Management Overview. Transactions. Concurrency in a DBMS. Chapter 16
Transaction Management Overview Chapter 16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because
More informationBuilding Consistent Transactions with Inconsistent Replication
Building Consistent Transactions with Inconsistent Replication Irene Zhang, Naveen Kr. Sharma, Adriana Szekeres, Arvind Krishnamurthy, Dan R. K. Ports University of Washington Distributed storage systems
More informationPanu Silvasti Page 1
Multicore support in databases Panu Silvasti Page 1 Outline Building blocks of a storage manager How do existing storage managers scale? Optimizing Shore database for multicore processors Page 2 Building
More informationDatabase Tuning and Physical Design: Execution of Transactions
Database Tuning and Physical Design: Execution of Transactions Spring 2018 School of Computer Science University of Waterloo Databases CS348 (University of Waterloo) Transaction Execution 1 / 20 Basics
More informationTransaction Management Overview
Transaction Management Overview Chapter 16 CSE 4411: Database Management Systems 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because disk accesses are frequent,
More informationOutline. Database Tuning. Ideal Transaction. Concurrency Tuning Goals. Concurrency Tuning. Nikolaus Augsten. Lock Tuning. Unit 8 WS 2013/2014
Outline Database Tuning Nikolaus Augsten University of Salzburg Department of Computer Science Database Group 1 Unit 8 WS 2013/2014 Adapted from Database Tuning by Dennis Shasha and Philippe Bonnet. Nikolaus
More informationSTAR: Scaling Transactions through Asymmetric Replication
STAR: Scaling Transactions through Asymmetric Replication arxiv:1811.259v2 [cs.db] 2 Feb 219 ABSTRACT Yi Lu MIT CSAIL yilu@csail.mit.edu In this paper, we present STAR, a new distributed in-memory database
More informationElastic Scaling of Stateful Network Functions
NSDI 2018 Elastic Scaling of Stateful Network Functions Shinae Woo *+, Justine Sherry *, Sangjin Han *, Sue Moon +, Sylvia Ratnasamy *, Scott Shenker * + KAIST, * UC Berkeley Elastic Scaling of NFs NFV
More informationA Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture
A Comparison of Memory Usage and CPU Utilization in Column-Based Database Architecture vs. Row-Based Database Architecture By Gaurav Sheoran 9-Dec-08 Abstract Most of the current enterprise data-warehouses
More informationTransaction Management and Concurrency Control. Chapter 16, 17
Transaction Management and Concurrency Control Chapter 16, 17 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh
More informationIntroduction to Data Management CSE 414
Introduction to Data Management CSE 414 Lecture 23: Transactions CSE 414 - Winter 2014 1 Announcements Webquiz due Monday night, 11 pm Homework 7 due Wednesday night, 11 pm CSE 414 - Winter 2014 2 Where
More informationWhitepaper / Benchmark
Whitepaper / Benchmark Web applications on LAMP run up to 8X faster with Dolphin Express DOLPHIN DELIVERS UNPRECEDENTED PERFORMANCE TO THE LAMP-STACK MARKET Marianne Ronström Open Source Consultant iclaustron
More informationLecture #14 ADVANCED DATABASE SYSTEMS. // // Spring 2018
Lecture #14 ADVANCED DATABASE SYSTEMS Networking @Andy_Pavlo // 15-721 // Spring 2018 2 COURSE ANNOUNCEMENTS Mid-Term: Wednesday March 7 th @ 3:00pm Project #2: Monday March 12 th @ 11:59pm Project #3
More informationDatabase Management and Tuning
Database Management and Tuning Concurrency Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 8 May 10, 2012 Acknowledgements: The slides are provided by Nikolaus
More informationDatabase Systems CSE 414
Database Systems CSE 414 Lecture 22: Transaction Implementations CSE 414 - Spring 2017 1 Announcements WQ7 (last!) due on Sunday HW7: due on Wed, May 24 using JDBC to execute SQL from Java using SQL Server
More informationSparrow. Distributed Low-Latency Spark Scheduling. Kay Ousterhout, Patrick Wendell, Matei Zaharia, Ion Stoica
Sparrow Distributed Low-Latency Spark Scheduling Kay Ousterhout, Patrick Wendell, Matei Zaharia, Ion Stoica Outline The Spark scheduling bottleneck Sparrow s fully distributed, fault-tolerant technique
More informationIntroduction to Data Management CSE 344
Introduction to Data Management CSE 344 Unit 7: Transactions Schedules Implementation Two-phase Locking (3 lectures) 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit
More informationPerformance of Commercial Database Benchmarks on a CC-NUMA Computer System
STiNG Revisited: Performance of Commercial Database Benchmarks on a CC-NUMA Computer System Russell M. Clapp IBM NUMA-Q rclapp@us.ibm.com January 21st, 2001 1 Background STiNG was the code name of an engineering
More informationFairRide: Near-Optimal Fair Cache Sharing
UC BERKELEY FairRide: Near-Optimal Fair Cache Sharing Qifan Pu, Haoyuan Li, Matei Zaharia, Ali Ghodsi, Ion Stoica 1 Caches are crucial 2 Caches are crucial 2 Caches are crucial 2 Caches are crucial 2 Cache
More informationA Scalable Ordering Primitive for Multicore Machines. Sanidhya Kashyap Changwoo Min Kangnyeon Kim Taesoo Kim
A Scalable Ordering Primitive for Multicore Machines Sanidhya Kashyap Changwoo Min Kangnyeon Kim Taesoo Kim Era of multicore machines 2 Scope of multicore machines Huge hardware thread parallelism How
More informationRelaxed Memory Consistency
Relaxed Memory Consistency Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu SSE3054: Multicore Systems, Spring 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationCSE 544 Principles of Database Management Systems
CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 5 - DBMS Architecture and Indexing 1 Announcements HW1 is due next Thursday How is it going? Projects: Proposals are due
More informationOverview: Memory Consistency
Overview: Memory Consistency the ordering of memory operations basic definitions; sequential consistency comparison with cache coherency relaxing memory consistency write buffers the total store ordering
More informationLecture 12. Lecture 12: The IO Model & External Sorting
Lecture 12 Lecture 12: The IO Model & External Sorting Announcements Announcements 1. Thank you for the great feedback (post coming soon)! 2. Educational goals: 1. Tech changes, principles change more
More informationName Class Account UNIVERISTY OF CALIFORNIA, BERKELEY College of Engineering Department of EECS, Computer Science Division J.
Do not write in this space CS186 Spring 2001 Name Class Account UNIVERISTY OF CALIFORNIA, BERKELEY College of Engineering Department of EECS, Computer Science Division J. Hellerstein Final Exam Final Exam:
More informationAdapting Mixed Workloads to Meet SLOs in Autonomic DBMSs
Adapting Mixed Workloads to Meet SLOs in Autonomic DBMSs Baoning Niu, Patrick Martin, Wendy Powley School of Computing, Queen s University Kingston, Ontario, Canada, K7L 3N6 {niu martin wendy}@cs.queensu.ca
More informationEECS 452 Lecture 9 TLP Thread-Level Parallelism
EECS 452 Lecture 9 TLP Thread-Level Parallelism Instructor: Gokhan Memik EECS Dept., Northwestern University The lecture is adapted from slides by Iris Bahar (Brown), James Hoe (CMU), and John Shen (CMU
More informationAnnouncements. Transaction. Motivating Example. Motivating Example. Transactions. CSE 444: Database Internals
Announcements CSE 444: Database Internals Lab 2 is due TODAY Lab 3 will be released tomorrow, part 1 due next Monday Lectures 13 Transaction Schedules CSE 444 - Spring 2015 1 HW4 is due on Wednesday HW3
More informationCourse Outline. Performance Tuning and Optimizing SQL Databases Course 10987B: 4 days Instructor Led
Performance Tuning and Optimizing SQL Databases Course 10987B: 4 days Instructor Led About this course This four-day instructor-led course provides students who manage and maintain SQL Server databases
More informationAnastasia Ailamaki. Performance and energy analysis using transactional workloads
Performance and energy analysis using transactional workloads Anastasia Ailamaki EPFL and RAW Labs SA students: Danica Porobic, Utku Sirin, and Pinar Tozun Online Transaction Processing $2B+ industry Characteristics:
More informationAdaptive Parallel Compressed Event Matching
Adaptive Parallel Compressed Event Matching Mohammad Sadoghi 1,2 Hans-Arno Jacobsen 2 1 IBM T.J. Watson Research Center 2 Middleware Systems Research Group, University of Toronto April 2014 Mohammad Sadoghi
More informationHyPer-sonic Combined Transaction AND Query Processing
HyPer-sonic Combined Transaction AND Query Processing Thomas Neumann Technische Universität München December 2, 2011 Motivation There are different scenarios for database usage: OLTP: Online Transaction
More informationCMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS
Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB s C. Faloutsos A. Pavlo Lecture#23: Distributed Database Systems (R&G ch. 22) Administrivia Final Exam Who: You What: R&G Chapters 15-22
More informationAnnouncements. Motivating Example. Transaction ROLLBACK. Motivating Example. CSE 444: Database Internals. Lab 2 extended until Monday
Announcements CSE 444: Database Internals Lab 2 extended until Monday Lab 2 quiz moved to Wednesday Lectures 13 Transaction Schedules HW5 extended to Friday 544M: Paper 3 due next Friday as well CSE 444
More informationWHITEPAPER. Improve PostgreSQL Performance with Memblaze PBlaze SSD
Improve PostgreSQL Performance with Memblaze PBlaze SSD Executive Summary For most companies, cutting down the IT costs and improving the infrastructure s efficiency are the first areas in a Chief Information
More information