Evaluating Database-Oriented Replication Schemes in Software Transacional Memory Systems Roberto Palmieri Francesco Quaglia (La Sapienza, University of.

Slides:



Advertisements
Similar presentations
TRAMP Workshop Some Challenges Facing Transactional Memory Craig Zilles and Lee Baugh University of Illinois at Urbana-Champaign.
Advertisements

Technology from seed Cloud-TM: A distributed transactional memory platform for the Cloud Paolo Romano INESC ID Lisbon, Portugal 1st Plenary EuroTM Meeting,
Multiprocessors— Large vs. Small Scale Multiprocessors— Large vs. Small Scale.
Principles of Transaction Management. Outline Transaction concepts & protocols Performance impact of concurrency control Performance tuning.
5.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 5: CPU Scheduling.
Accurately Approximating Superscalar Processor Performance from Traces Kiyeon Lee, Shayne Evans, and Sangyeun Cho Dept. of Computer Science University.
Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 5204 – Operating Systems 1 Scheduler Activations.
Data and Database Administration Chapter 12. Outline What is Concurrency Control? Background Serializability  Locking mechanisms.
Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.
Lock-free Cache-friendly Software Queue for Decoupled Software Pipelining Student: Chen Wen-Ren Advisor: Wuu Yang 學生 : 陳韋任 指導教授 : 楊武 Abstract Multicore.
TOWARDS A SOFTWARE TRANSACTIONAL MEMORY FOR GRAPHICS PROCESSORS Daniel Cederman, Philippas Tsigas and Muhammad Tayyab Chaudhry.
1 Minggu 12, Pertemuan 23 Introduction to Distributed DBMS (Chapter , 22.6, 3rd ed.) Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
1 Johannes Schneider Transactional Memory: How to Perform Load Adaption in a Simple And Distributed Manner Johannes Schneider David Hasenfratz Roger Wattenhofer.
Multiprocessors ELEC 6200: Computer Architecture and Design Instructor : Agrawal Name: Nam.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Transaction. A transaction is an event which occurs on the database. Generally a transaction reads a value from the database or writes a value to the.
Why The Grass May Not Be Greener On The Other Side: A Comparison of Locking vs. Transactional Memory Written by: Paul E. McKenney Jonathan Walpole Maged.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Academic Year 2014 Spring Academic Year 2014 Spring.
OSE 2013 – synchronization (lec3) 1 Operating Systems Engineering Locking & Synchronization [chapter #4] By Dan Tsafrir,
1 The Google File System Reporter: You-Wei Zhang.
Synchronization (Barriers) Parallel Processing (CS453)
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Performance Evaluation of Parallel Processing. Why Performance?
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
© Pearson Education Limited, Chapter 16 Physical Database Design – Step 7 (Monitor and Tune the Operational System) Transparencies.
Roberto Palmieri – Workshop on Distributed Transactional Memory (WDTM 2012) - 22/02/2012 Lisbon Boosting STM Replication via Speculation Roberto Palmieri,
HPDCS Research Group Research Focus STM Systems Dependability of STM Performance Modelling of STM EURO-TM | 1 st Plenary.
Presenter: Zong Ze-Huang Fast and Accurate Resource Conflict Simulation for Performance Analysis of Multi- Core Systems Stattelmann, S. ; Bringmann, O.
Evaluating FERMI features for Data Mining Applications Masters Thesis Presentation Sinduja Muralidharan Advised by: Dr. Gagan Agrawal.
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
Distributed Database Systems Overview
Lecture 12 Recoverability and failure. 2 Optimistic Techniques Based on assumption that conflict is rare and more efficient to let transactions proceed.
Predicting Coherence Communication by Tracking Synchronization Points at Run Time Socrates Demetriades and Sangyeun Cho 45 th International Symposium in.
LogP and BSP models. LogP model Common MPP organization: complete machine connected by a network. LogP attempts to capture the characteristics of such.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
This project and the research leading to these results has received funding from the European Community's Seventh Framework Programme [FP7/ ] under.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Distributed Shared Memory Based on Reference paper: Distributed Shared Memory, Concepts and Systems.
S-Paxos: Eliminating the Leader Bottleneck
Adaptive Multi-Threading for Dynamic Workloads in Embedded Multiprocessors 林鼎原 Department of Electrical Engineering National Cheng Kung University Tainan,
On the Performance of Window-Based Contention Managers for Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University.
Optimistic Methods for Concurrency Control By: H.T. Kung and John Robinson Presented by: Frederick Ramirez.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Technology from seed Exploiting Off-the-Shelf Virtual Memory Mechanisms to Boost Software Transactional Memory Amin Mohtasham, Paulo Ferreira and João.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Page 1 Concurrency Control Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Multidatabase Transaction Management COP5711. Multidatabase Transaction Management Outline Review - Transaction Processing Multidatabase Transaction Management.
Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
Next Generation of Apache Hadoop MapReduce Owen
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
1  2004 Morgan Kaufmann Publishers Fallacies and Pitfalls Fallacy: the rated mean time to failure of disks is 1,200,000 hours, so disks practically never.
These slides are based on the book:
Alternative system models
Concurrent Data Structures for Near-Memory Computing
A New Coherence Method Using A Multicast Address Network
CMSC 611: Advanced Computer Architecture
HyperLoop: Group-Based NIC Offloading to Accelerate Replicated Transactions in Multi-tenant Storage Systems Daehyeok Kim Amirsaman Memaripour, Anirudh.
CS510 - Portland State University
Request Behavior Variations
Presentation transcript:

Evaluating Database-Oriented Replication Schemes in Software Transacional Memory Systems Roberto Palmieri Francesco Quaglia (La Sapienza, University of Rome, Italy) Paolo Romano Nuno Carvalho (INESC-ID, Lisbon, Portugal)

STM Software Transactional Memory  A Software Transactional Memory is a mechanism for controlling concurrent accesses to a shared memory  STM systems represent an emerging attractive programming model for multi-core systems  They mask concurrency management to the overlying applications  They spare the programmers from the pitfalls of conventional manual lock-based synchronization, significantly simplifying the development of parallel and concurrent applications  They are typically distributed via libraries to be included in the development of application programs

Dependability of STM  Replication is a typical mean for achieving transactional systems dependability  Active Replication (AR) is a common replication scheme  In AR each replica keeps the entire shared data-set and executes the same transactions in the same order  AR is based on two phases:  agreement on common execution order -> consensus/atomic broadcast  deterministic execution on each replica -> filtering out sources of non-determinism

Atomic Broadcast  Atomic Broadcast (AB) is a service that ensures an agreement on a common Global Serialization Order of transactions among replicas  AB is a paradigm used as a building block to run transactions in the same order on all replicas  It is a particular instance of a Consensus protocol  The coordination phase run by the AB protocol determines a latency that can heavily influence performance

Optimistic Atomic Broadcast  Optimistic Atomic Broadcast (OAB) is an improvement of the Atomic Broadcast service  OAB enriches AB with a new event called optimistic delivery  Participants acquire information about the existence of a message before any common order for message treatment gets defined  The transactional system may early start processing activities, provided that these activities are effectively carried out on the basis of the guessed order  OAB is particularly useful where the guess about message order is reliable (e.g. in local area network)

Work’s targets  Evaluate replication solutions, originally tailored for database systems, in the context of STM systems  The system model is based on Active Replication implemented using an Optimistic Atomic Broadcast service  It is also based on realistic STM settings  In case of possible efficiency lacks, provide (qualitatively and quantitatively) ideas for filing these lacks  Propose innovative approaches for addressing performance improvements in replicated STM systems

DBMS & STMS Workload characterization  The workload of applications in STM environments is different from DBMS applications  Transaction execution time in STM is typically several orders of magnitude smaller than in conventional database environments  Transactions in STMs entail main memory read/write operations, without interactions with stable storage  In replicated STM systems, the small transaction execution time leads to an amplification of the impact of the cost of the coordination phase among replicas  Longer stall periods in processing activities lead to a possible underutilization of hardware resources

DBMS & STMS Data Layout  The layout of data-sets in STM Systems is completely different from its counterpart in DBMS applications  The number of shared objects in STM Systems is typically very low compared to DBMSs  In STM systems it’s hard to group shared objects, unlike in DBMSs (e.g. tables or views)  Due to different data layouts, partial locking over the whole data set in STM systems is complex, unlike in DBMSs where locks can operate at the granularity of single tables  Implementation of concurrency control schemes based on knowledge (or safe estimation) of data sets accessed by transactions can lead in STM systems to locking all the objects within the shared memory

Simulation study  We compared two common active replication protocols:  State Machine Approach:  Based on Atomic Broadcast  The idea of this protocol is that each transaction waits until the atomic broadcast service notifies the transaction order, after the transaction is activated.  Optimistic Approach:  Based on Optimistic Atomic Broadcast  It requires a priori knowledge of read/write set of transactions  This protocol, exploiting optimistic delivery, early starts processing transactions that don’t conflict with each other. Conflicting transactions wait until the OAB notifies the final correct serialization order.

Simulation study  Three benchmarks for STM Systems:  RB-Tree(Mean Transaction Execution Time: 77 microsec)  SkipList(Mean Transaction Execution Time: 281 microsec)  List(Mean Transaction Execution Time: 324 microsec)  Benchmarks are applications that perform repeated insertion, removal, and search of a randomly chosen integer in a set of pre-configurable integer values

Simulation study  Trace-based simulation with realistic data access patterns  (Optimistic) Atomic Broadcast service entails the possibility of batching messages to improve performance  Atomic Broadcast delays:  Optimistic delivery: 500microsec  Final (total ordered) delivery: 2millisec  LAN environment with no mismatch between optimistic and final deliveries

RB-Tree results  RB-Tree benchmark with medium data contention  State Machine Vs Optimistic  realistic data access pattern of transactions (fine)  overestimation of lock granularity (coarse)

SkipList Results  SkipList benchmark with high data contention  State Machine Vs Optimistic  realistic data access pattern of transactions (fine)  overestimation of lock granularity (coarse)

List Results  List benchmark with very high data contention  State Machine Vs Optimistic  realistic data access pattern of transactions (fine)  overestimation of lock granularity (coarse)

CPU  Each replica is composed by:  8 cores per replica  Processor: 2.53Ghz  RAM:4Gb  At the saturation point, CPU utilization is < 20%

Considerations  STM workloads manifest, on average, high data contention respect to DBMS workloads  In such a case, the optimistic protocol blocks most of the transactions and this is reflected in :  minimization of the overlap between coordination and processing  underutilization of resources  scalability problems

Possible approaches  Increase the optimism while processing transactions that are not yet final delivered  Maximize the overlap between replicas coordination and local process of transactions  Avoid protocols that need knowledge about read/write set of transactions  Avoid coarse approaches that can boil down to locking all the shared objects

Boosting the optimistic approach  Capture the event of complete transaction  When a transaction performs all its operations and waits for the notification of the final order (completes), releases all its locks  With the early released of locks, a conflict transaction can be started according to the optimistic delivery order  Especially useful when the guess on the optimistic delivery order is reliable

RB-Tree results  RB-Tree benchmark  Atomic Broadcast service batched (1,2,4,8)  We show the gain from the Boosting protocol (called AGGRO) Vs standard Optimistic approach

SkipList Results  SkipList benchmark  Atomic Broadcast service batched (1,2,4,8)  We show the gain from the Boosting protocol (called AGGRO) Vs standard Optimistic approach

List Results  List benchmark  Atomic Broadcast service batched (1,2,4,8)  We show the gain from the Boosting protocol (called AGGRO) Vs standard Optimistic approach

Thank you for your attention