@ Carnegie Mellon Databases Data-oriented Transaction Execution VLDB 2010 Ippokratis Pandis Ryan Johnson Nikos Hardavellas Anastasia Ailamaki Carnegie.

Slides:



Advertisements
Similar presentations
Lazy Asynchronous I/O For Event-Driven Servers Khaled Elmeleegy, Anupam Chanda and Alan L. Cox Department of Computer Science Rice University, Houston,
Advertisements

Chapter 13: Query Processing
1 Senn, Information Technology, 3 rd Edition © 2004 Pearson Prentice Hall James A. Senns Information Technology, 3 rd Edition Chapter 7 Enterprise Databases.
Advanced Piloting Cruise Plot.
Greening Backbone Networks Shutting Off Cables in Bundled Links Will Fisher, Martin Suchara, and Jennifer Rexford Princeton University.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2010, Elsevier Inc. All rights Reserved Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
Relational Database and Data Modeling
1 Episode III in our multiprocessing miniseries. Relaxed memory models. What I really wanted here was an elephant with sunglasses relaxing On a beach,
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 5 second questions
Data recovery 1. 2 Recovery - introduction recovery restoring a system, after an error or failure, to a state that was previously known as correct have.
Distributed databases 1. 2 Outline introduction principles / objectives problems.
Concurrency control 1. 2 Introduction concurrency more than one transaction have access to data simultaneously part of transaction processing.
1 Term 2, 2004, Lecture 6, TransactionsMarian Ursu, Department of Computing, Goldsmiths College Transactions 3.
1 Term 2, 2004, Lecture 9, Distributed DatabasesMarian Ursu, Department of Computing, Goldsmiths College Distributed databases 3.
Chapter 1 Introduction Copyright © Operating Systems, by Dhananjay Dhamdhere Copyright © Introduction Abstract Views of an Operating System.
Database Systems: Design, Implementation, and Management
Re-examining Instruction Reuse in Pre-execution Approaches By Sonya R. Wolff Prof. Ronald D. Barnes June 5, 2011.
SE-292 High Performance Computing
Multicore Acceleration of Priority-Based Schedulers for Concurrency Bug Detection Santosh Nagarakatte, Sebastian Burckhardt, Milo Martin, Madan Musuvathi.
From A to E: Analyzing TPCs OLTP Benchmarks Pınar Tözün Ippokratis Pandis* Cansu Kaynak Djordje Jevdjic Anastasia Ailamaki École Polytechnique Fédérale.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Database Performance Tuning and Query Optimization
Critical Sections: Re-emerging Concerns for DBMS Ryan JohnsonIppokratis Pandis Anastasia Ailamaki Carnegie Mellon University École Polytechnique Féderale.
ABC Technology Project
MySQL Access Privilege System
© Paradigm Publishing, Inc Access 2010 Level 1 Unit 1Creating Tables and Queries Chapter 2Creating Relationships between Tables.
Megastore: Providing Scalable, Highly Available Storage for Interactive Services. Presented by: Hanan Hamdan Supervised by: Dr. Amer Badarneh 1.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
© 2010 Ippokratis Pandis Aether: A Scalable Approach to Logging VLDB 2010 Ryan Johnson Ippokratis Pandis Radu Stoica Manos Athanassoulis Anastasia Ailamaki.
VOORBLAD.
Making Time-stepped Applications Tick in the Cloud Tao Zou, Guozhang Wang, Marcos Vaz Salles*, David Bindel, Alan Demers, Johannes Gehrke, Walker White.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Database System Concepts and Architecture
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Executional Architecture
Chapter 5 Test Review Sections 5-1 through 5-4.
KAIST Computer Architecture Lab. The Effect of Multi-core on HPC Applications in Virtualized Systems Jaeung Han¹, Jeongseob Ahn¹, Changdae Kim¹, Youngjin.
Addition 1’s to 20.
25 seconds left…...
Improving OLTP scalability using speculative lock inheritance Ryan Johnson, Ippokratis Pandis, Anastasia Ailamaki.
Week 1.
Systems Analysis and Design in a Changing World, Fifth Edition
SE-292 High Performance Computing
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
©2004 Brooks/Cole FIGURES FOR CHAPTER 12 REGISTERS AND COUNTERS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
SE-292 High Performance Computing Memory Hierarchy R. Govindarajan
Intracellular Compartments and Transport
PSSA Preparation.
VPN AND REMOTE ACCESS Mohammad S. Hasan 1 VPN and Remote Access.
Essential Cell Biology
1 PART 1 ILLUSTRATION OF DOCUMENTS  Brief introduction to the documents contained in the envelope  Detailed clarification of the documents content.
OLTP on Hardware Islands Danica Porobic, Ippokratis Pandis*, Miguel Branco, Pınar Tözün, Anastasia Ailamaki Data-Intensive Application and Systems Lab,
CpSc 3220 Designing a Database
The University of Adelaide, School of Computer Science
To Share or Not to Share? Ryan Johnson Nikos Hardavellas, Ippokratis Pandis, Naju Mancheril, Stavros Harizopoulos**, Kivanc Sabirli, Anastasia Ailamaki,
1 Database Servers on Chip Multiprocessors: Limitations and Opportunities Nikos Hardavellas With Ippokratis Pandis, Ryan Johnson, Naju Mancheril, Anastassia.
Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads Iraklis Psaroudakis (EPFL), Tobias Scheuer (SAP AG), Norman May.
Storage Manager Scalability on CMPs Ippokratis Pandis CIDR Gong Show.
Presentation transcript:

@ Carnegie Mellon Databases Data-oriented Transaction Execution VLDB 2010 Ippokratis Pandis Ryan Johnson Nikos Hardavellas Anastasia Ailamaki Carnegie Mellon University École Polytechnique Fédérale de Lausanne Northwestern University

© 2010 Ippokratis Pandis Scaling OLTP on multicores/sockets Shared Everything –Hard to scale 2 Multicore multisocket machine Core CPU Core CPU

© 2010 Ippokratis Pandis Scaling OLTP on multicores/sockets Shared Everything –Hard to scale Shared Nothing –Multiple processes, physically separated data –Explicit contention control –Perfectly partition-able workload –Memory pressure: redundant data/structures 3 Multicore multisocket machine Core CPU Core CPU Two approaches complementary Focus on scalability of a single (shared everything) instance

© 2010 Ippokratis Pandis Shore-MT Multithreaded version of SHORE State-of-the-art DBMS features Two-phase row-level locking ARIES-style logging/recovery Similar at instruction-level with commercial DBMSs 4 High-performing, scalable conventional engine Available at: Sun Niagara T1 Insert-only mbench

© 2010 Ippokratis Pandis Problems on Even Higher Parallelism 5 Sun Niagara T2 TPC-C Payment Lock manager overhead dominant Contention for acquiring locks in compatible mode Linear

© 2010 Ippokratis Pandis Data-oriented Transaction Execution It is not the transaction which dictates what data the transaction-executing thread will access Break each transaction into smaller actions –Depending on the data they touch Execute actions by data-owning threads Distribute and privatize locking, data accesses across threads New transaction execution model Reduce overhead of locking and data accesses 6

© 2010 Ippokratis Pandis DORA vs. Conventional – At 100% CPU 7 Eliminate contention on the centr. lock manager Significantly reduced work (lightweight locks) Sun Niagara T2 64 HW contexts

© 2010 Ippokratis Pandis 8 Roadmap Introduction Conventional execution Data-oriented execution Evaluation Conclusions

© 2010 Ippokratis Pandis Example CPU-0 I D CPU L1 CPU-1 I D CPU-2 I D L2 MEM I/O WH CUSTORD Transaction: I D u(wh) u(cust) u(ord) I = Instruction D = Data 9

© 2010 Ippokratis Pandis Conventional - Example CPU-0 CPU L1 CPU-1CPU-2 L2 MEM I/O WH CUSTORD Transaction: I D u(wh) u(cust) u(ord) u(wh) u(cust) u(ord) 10

© 2010 Ippokratis Pandis Typical Lock Manager The higher the HW parallelism Longer Queues of Requests Longer CSs Higher Contention L1EX L2EX T1 Lock Head Lock Hash Table Queue Lock Requests Xcts Lock Requests 11

© 2010 Ippokratis Pandis Time Inside the lock manager Latch contention on the lock manager Sun Niagara T2 TPC-B 12

© 2010 Ippokratis Pandis Thread-to-transaction – Access Pattern 13 Unpredictable access pattern Source of contention

© 2010 Ippokratis Pandis 14 Roadmap Introduction Conventional execution Data-oriented execution Evaluation Conclusions

© 2010 Ippokratis Pandis Thread-to-data – Access Pattern 15 Predictable access patterns Optimizations possible (e.g. no centralized locks)

© 2010 Ippokratis Pandis Transaction Flow Graph Each transaction input is a graph of Actions & RVPs Actions –Table/Index it is accessing –Subset of routing fields Rendezvous Points –Decision points (commit/abort) –Separate different phases –Counter of the # of actions to report –Last to report initiates next phase –Enqueue the actions of the next phase 16 TPC-C Payment Upd(WH)Upd(DI)Upd(CU) Ins(HI) Phase 1 Phase 2

© 2010 Ippokratis Pandis Partitions & Executors Routing table at each table –{Routing fields executor} Executor thread –Local lock table {RoutingFields + partof(PK), LockMode} List of blocked actions –Input queue New actions –Completed queue On xct commit/abort Remove from local lock table –Loop completed/input queue –Execute requests in serial order Completed Input Local Lock Table Pref LM Own Wait AAB A {1,0}EX A {1,3}EX B A 17 Routing fields: {WH_ID, D_ID} RangeExecutor {0,0}-{5,2}1 {5,2}-{6,1}2

© 2010 Ippokratis Pandis DORA - Example CPU-0 CPU L1 CPU-1CPU-2 L2 MEM I/O WH CUSTORD u(wh) u(cust) u(ord) Transaction: I D u(wh) u(cust) u(ord) 18 Centralized lock free Improved data reuse

© 2010 Ippokratis Pandis Non-partition aligned accesses Secondary index probes without part of the primary key in their definition Each entry stores the part of the primary key needed to decide routing, along with the RID Do the probe with the RVP-executing thread Enqueue a new action to the corresponding thread Do the record retrieve with the RID 19

© 2010 Ippokratis Pandis 20 Roadmap Introduction Conventional execution Data-oriented execution Evaluation Conclusions

© 2010 Ippokratis Pandis 21 Sun Niagara T2 TM1 BASELINE DORA Baseline DORA Eliminates contention on the lock manager Linear scalability to 64 HW ctxs Immune to oversaturation Eliminating contention on the lock mgr

© 2010 Ippokratis Pandis Response time for single client 22 better Exploits intra-xct parallelism Lower response times on low loads

© 2010 Ippokratis Pandis Peak Performance 23 better

© 2010 Ippokratis Pandis Peak Performance 24 better Higher peak performance Always close to 100% CPU utilization

© 2010 Ippokratis Pandis 25 Roadmap Introduction Conventional execution Data-oriented execution Evaluation Conclusions

© 2010 Ippokratis Pandis DORA vs. Conventional 26 Avoid expensive (centralized) lock manager operations 20% Immune to centr. lock manager 40+% Intra-xaction parallelism on light loads 2x Higher performance in the entire load spectrum

© 2010 Ippokratis Pandis 27 Reducing overheads of locking Rdb/VMS –Distributed DBMS –Lock carry-over reduces network traffic DB2 keep table lock setting –Connection holds all table locks until close –Leads to poor concurrency H-Store –Single-threaded, non-interleaved execution model –No locking or latching at all

© 2010 Ippokratis Pandis Summary 28 Large number of active threads stress scalability of database system Data-oriented transaction execution (DORA) Decentralize locking & data accesses Benefits of shared-nothing w/o physical data partitioning Small modifications on a conventional engine Higher performance on the entire load spectrum