Retrospective computation makes past states available inline with current state in a live system What is the language for retrospective computation? What.

Slides:



Advertisements
Similar presentations
Yukon – What is New Rajesh Gala. Yukon – What is new.NET Framework Programming Data Types Exception Handling Batches Databases Database Engine Administration.
Advertisements

Remus: High Availability via Asynchronous Virtual Machine Replication
Paper by: Yu Li, Jianliang Xu, Byron Choi, and Haibo Hu Department of Computer Science Hong Kong Baptist University Slides and Presentation By: Justin.
Exploiting Distributed Version Concurrency in a Transactional Memory Cluster Kaloian Manassiev, Madalin Mihailescu and Cristiana Amza University of Toronto,
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Split Snapshots and Skippy Indexing: Long Live the Past! Ross Shaull Liuba Shrira Brandeis University.
Ross Shaull Liuba Shrira Hao Xu Lab for Experimental Software Systems Brandeis University.
IBM Software Group ® Recommending Materialized Views and Indexes with the IBM DB2 Design Advisor (Automating Physical Database Design) Jarek Gryz.
Topic Denormalisation S McKeever Advanced Databases 1.
Time Travel Databases for the Web Programmer curr = filter(status__equals=form['s']) mid = filter(status__equals=form['s']).as_of(one week ago) old= filter(status__equals=form['s']).as_of(two.
Boost Write Performance for DBMS on Solid State Drive Yu LI.
A chicken in every pot: a persistent snapshot memory scaled in time Liuba Shrira and Hao Xu Brandeis University.
Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 11: Storage and.
Distributed and Streaming Evaluation of Batch Queries for Data-Intensive Computational Turbulence Kalin Kanov Department of Computer Science Johns Hopkins.
Computer Organization and Architecture
Slide 1 ISTORE: System Support for Introspective Storage Appliances Aaron Brown, David Oppenheimer, and David Patterson Computer Science Division University.
Chapter 14 The Second Component: The Database.
Chapter 1 An Overview of Database Management. 1-2 Topics in this Chapter What is a Database System? What is a Database? Why Database? Data Independence.
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
NiagaraCQ A Scalable Continuous Query System for Internet Databases Jianjun Chen, David J DeWitt, Feng Tian, Yuan Wang University of Wisconsin – Madison.
NiagaraCQ : A Scalable Continuous Query System for Internet Databases (modified slides available on course webpage) Jianjun Chen et al Computer Sciences.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
XML as a Boxwood Data Structure Feng Zhou, John MacCormick, Lidong Zhou, Nick Murphy, Chandu Thekkath 8/20/04.
Introduction to Hadoop and HDFS
On-Demand View Materialization and Indexing for Network Forensic Analysis Roxana Geambasu 1, Tanya Bragin 1 Jaeyeon Jung 2, Magdalena Balazinska 1 1 University.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Improving Efficiency of I/O Bound Systems More Memory, Better Caching Newer and Faster Disk Drives Set Object Access (SETOBJACC) Reorganize (RGZPFM) w/
Data warehousing and online analytical processing- Ref Chap 4) By Asst Prof. Muhammad Amir Alam.
Large-scale Incremental Processing Using Distributed Transactions and Notifications Daniel Peng and Frank Dabek Google, Inc. OSDI Feb 2012 Presentation.
Retro: Modular and efficient retrospection in a database Ross Shaull Liuba Shrira Brandeis University.
C-Store: How Different are Column-Stores and Row-Stores? Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 8, 2009.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
Skippy: Enabling Long-Lived Snapshots of the Long-Lived Past Ross Shaull Liuba Shrira Hao Xu
Database Management COP4540, SCS, FIU Physical Database Design (ch. 16 & ch. 3)
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
Distributed Database. Introduction A major motivation behind the development of database systems is the desire to integrate the operational data of an.
Virtual Memory. Background Virtual memory is a technique that allows execution of processes that may not be completely in the physical memory. Virtual.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
View 1. Lu Chaojun, SJTU 2 View Three-level vision of DB users Virtual DB views DB Designer Logical DB relations DBA DBA Physical DB stored info.
Building a Distributed Full-Text Index for the Web by Sergey Melnik, Sriram Raghavan, Beverly Yang and Hector Garcia-Molina from Stanford University Presented.
Enabling BITE: High-Performance Snapshots in a High-Level Cache Ross Shaull Liuba Shrira Brandeis University Presented SOSP WiP session 2007.
INTRODUCTION TO ORACLE DATABASE ADMINISTRATION Lynnwood Brown President System Managers LLC Introduction – Lecture 1 Copyright System Managers LLC 2003.
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
David Adams ATLAS DIAL: Distributed Interactive Analysis of Large datasets David Adams BNL August 5, 2002 BNL OMEGA talk.
CS307 Operating Systems Virtual Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2012.
Full-Text Support in a Database Semantic File System Kristen LeFevre & Kevin Roundy Computer Sciences 736.
1  2004 Morgan Kaufmann Publishers Chapter Seven Memory Hierarchy-3 by Patterson.
ApproxHadoop Bringing Approximations to MapReduce Frameworks
IMS 4212: Database Implementation 1 Dr. Lawrence West, Management Dept., University of Central Florida Physical Database Implementation—Topics.
Chapter 9: Web Services and Databases Title: NiagaraCQ: A Scalable Continuous Query System for Internet Databases Authors: Jianjun Chen, David J. DeWitt,
NiagaraCQ : A Scalable Continuous Query System for Internet Databases Jianjun Chen et al Computer Sciences Dept. University of Wisconsin-Madison SIGMOD.
1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples (not covered.
REX: RECURSIVE, DELTA-BASED DATA-CENTRIC COMPUTATION Yavuz MESTER Svilen R. Mihaylov, Zachary G. Ives, Sudipto Guha University of Pennsylvania.
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
Retele de senzori Curs 2 - 1st edition UNIVERSITATEA „ TRANSILVANIA ” DIN BRAŞOV FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Module 11: File Structure
Database Management:.
Computational Models Database Lab Minji Jo.
HashKV: Enabling Efficient Updates in KV Storage via Hashing
Building a Database on S3
Dr. Awad Khalil Computer Science Department AUC
Dr. Awad Khalil Computer Science Department AUC
Chapter 8 Views and Indexes
Database management systems
Presentation transcript:

Retrospective computation makes past states available inline with current state in a live system What is the language for retrospective computation? What can be expressed? What is the performance of retrospection in a live system? Our approach provides retrospection within split snapshots model Application declares transactionally-consistent snapshots at any time with any frequency All applications and access methods run unmodified on persistent, on-line snapshots Explore this model through representative examples and preliminary results Performs random updates in a set of 1000 objects Throttle updates by pausing between transactions Example trigger detects all change events in a subset of the objects The trigger must keep up with updates We arbitrarily limit trigger to run for 5s or less, restarting it every 5s Measure the average number of objects which can be monitored during each invocation of the trigger The Retrospection Abstraction in Storage Systems (teaching your pet database to retrospect) Ross Shaull Liuba Shrira Laboratory for Experimental Software Systems Brandeis University Motivation: applications need access to past states Example 2: Background triggers (monitoring the recent past) Known technique using background thread to batch event detection Conventionally, this can be achieved by programming custom history tables Instead, we envision using language of retrospection to use any query as an event detector over recent past by periodically running it with ATE Performance evaluation Background: how do split snapshots work? In a standard storage system model (left), a page table relates page names (e.g., “P1”) to physical page addresses using a page table Split snapshots (right) modify this indirection layer to provide snapshot page tables which point either into the current state or into the snapshot store where old versions of pages are located Layers above the cache (e.g., an application) are unaware of this translation, they just request to run on a particular snapshot P1P1 P1P1 P2P2 P1P1 P2P2 P3P3 Snapshot Page Table for S2 Page tables are constructed on-demand from a low-cost log-structured store of page pointers Our previous work has examined how to optimize this search operation without sacrificing high- performance snapshot creation (the read/write optimized Skippy index) Model and Language Paper trail Shaull, R., Shrira, L., and Xu, H. Skippy: a New Snapshot Indexing Method for Time Travel in the Storage Manager. SIGMOD Shrira, L., van Ingen, C., and Shaull, R. Time Travel in the Virtualized Past. SYSTOR Shrira, L. and Xu, H. Thresher: An Efficient Storage Manager for Copy-on-write Snapshots. USENIX Shrira, L. and Xu, H. Snap: Efficient Snapshots for Back-In-Time Execution. ICDE The writer in the current state is minimally impacted by the background trigger For relatively light update workloads, 100% (1000) of objects can be monitored, but if BDB makes updates as quickly as possible, the trigger can only monitor 1% (10) of objects Triggers using retrospection are convenient, and provide powerful semantics beyond change detection Example 1: Forensic retrospection (exploring the distant past) An important ability enabled by retrospection is forensic querying in a live production system Often you do not know what will be of interest in the future, so forensics requires ad-hoc retrospection Leverage BITE and ATE for convenient interface to “total recall” of the past Performance evaluation Simulate forensic query that scans portions of three medium-sized tables (> 100MB) (db_perf [Sullivan. PhD Thesis. 2003]) Perform query over old windows of time to simulate search for anomalies Forensic query does not significantly impact performance of update workload ATE scales with number of snapshots Snapshots are on separate disk, so joint xput is close to sum of each Example BDB code for retrospection with ATE: for(txn->as_of = first_snap; txn->as_of <= last_snap; ++txn->as_of) { db->get(db, txn, &key, &val, 0); if(! strcmp(val.data, V)) { react(); } Integrated retrospective computations run inside the storage system containing current state and snapshots Existing interface (e.g., query language) can be used Simple iteration constructs used to search time windows with back-in-time execution (BITE) and across-time execution (ATE) Current state, recent past, and distant past can be accessed together, allowing associations between objects and their history Snapshots are retained incrementally using copy-on-write (COW), without reorganizing database Achieve good performance in same manner as the database: leverage db recovery to defer snapshot writes Test platform implemented as modification to Berkeley DB (BDB) Vertical axis scaled by number of snapshots analyzed