A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse.

Slides:



Advertisements
Similar presentations
DATABASE RC D DD CMA C M R B PK E I S H S RC H L I V FK.
Advertisements

Distributed DBMS©M. T. Özsu & P. Valduriez Ch.15/1 Outline Introduction Background Distributed Database Design Database Integration Semantic Data Control.
Database Processing: Fundamentals, Design, and Implementation, 9/e by David M. KroenkeAppendix A/1 Copyright © 2004 Please……. No Food Or Drink in the class.
Fundamentals, Design, and Implementation, 9/e Appendix A Data Structures for Database Processing.
Transaction Management Overview. Transactions Concurrent execution of user programs is essential for good DBMS performance. –Because disk accesses are.
Introductory Computer Science Courses Past experiences & thoughts Haakon Ringberg, Thomson Research Paris & Princeton University.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
PowerPoint Demonstration Capabilities of Microsoft PowerPoint.
1 CS 312 – Lecture 28 Continuations –Probably the most confusing thing you’ve seen all semester… Course summary –Life after CS 312.
PowerPoint Demonstration Capabilities of Microsoft PowerPoint 2000.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Powerpoint Demonstration Capabilities of Microsoft Powerpoint.
Progress Report 11/1/01 Matt Bridges. Overview Data collection and analysis tool for web site traffic Lets website administrators know who is on their.
Living in a Digital World Discovering Computers 2010.
PowerPoint Demonstration Capabilities of Microsoft PowerPoint 2003.
General Trees and Variants CPSC 335. General Trees and transformation to binary trees B-tree variants: B*, B+, prefix B+ 2-4, Horizontal-vertical, Red-black.
The Composite Pattern.. Composite Pattern Intent –Compose objects into tree structures to represent part-whole hierarchies. –Composite lets clients treat.
PowerPoint Demonstration Capabilities of Microsoft PowerPoint.
Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.
PaperScope: Visually Exploring the ADS Mark Holliman VOTECH Web Developer University of Edinburgh ADASS XVII, London,
PowerPoint Demonstration Capabilities of Microsoft PowerPoint.
Student Seminar – Fall 2012 A Simple Algorithm for Finding Frequent Elements in Streams and Bags RICHARD M. KARP, SCOTT SHENKER and CHRISTOS H. PAPADIMITRIOU.
Power Point Demonstration Capabilities of Microsoft Power Point 2003.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
Component-based Authoring of Complex, Petri net-based Digital Library Infrastructure Yung Ah Park, Unmil P. Karadkar, and Richard Furuta Department of.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Digital Object: A Virtual Online Storage Solution 598C Course Project Huajing Li.
31 January 2007Craig E. Ward1 Large-Scale Simulation Experimentation and Analysis Database Programming Using Java.
Discovering Computers Fundamentals, 2012 Edition Your Interactive Guide to the Digital World.
1 © Prentice Hall, 2002 Physical Database Design Dr. Bijoy Bordoloi.
Applications Software. Applications software is designed to perform specific tasks. There are three main types of application software: Applications packages.
Objectives Overview Define the term, database, and explain how a database interacts with data and information Define the term, data integrity, and describe.
K E Y : SW Service Use Big Data Information Flow SW Tools and Algorithms Transfer Application Provider Visualization Access Analytics Curation Collection.
Simple Database.
Computer Science Studies and Distance Education Unique Aspects Wingate Seminar London May 2005.
University of North Texas Libraries Building Search Systems for Digital Library Collections Mark E. Phillips Texas Conference on Digital Libraries May.
Java Collections An Introduction to Abstract Data Types, Data Structures, and Algorithms David A Watt and Deryck F Brown © 2001, D.A. Watt and D.F. Brown.
Chapter 6 1 © Prentice Hall, 2002 The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited) Project Identification and Selection Project Initiation.
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
Software. Generic Software  e.g. word processing, spreadsheet and database. – This simply implies that any of the dozens of spreadsheet packages, for.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Objectives Overview Define the term, database, and explain how a database interacts with data and information Describe the qualities of valuable information.
In the name of Allah The Proxy Pattern Elham moazzen.
C/IL 102 Demographic Survey Fall 2005 Summary. Basic Word Processing (Create, store, spell check) Very Poor 0 Poor0 Average7 Good20 Excellent
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
UNIT 1 USER SIDE OF A WEBSITE Cambridge Technicals.
1 Copyright © 2004 Prentice-Hall. All rights reserved. Essentials Word 2003 – Level 1 Project 8: Inserting and Formatting Graphics.
Images Similarity by Relative Dynamic Programming M. Sc. thesis by Ady Ecker Supervisor: prof. Shimon Ullman.
CSE S. Tanimoto Java Introduction 1 Java A Programming Language for Web-based Computing with Graphics.
K E Y : SW Service Use Big Data Information Flow SW Tools and Algorithms Transfer Transformation Provider Visualization Access Analytics Curation Collection.
CS201: Data Structures and Discrete Mathematics I Hash Table.
Competitive algorithms for the dynamic selection of component implementations D M Yellin.
Introduction.  Administration  Simple DBMS  CMPT 454 Topics John Edgar2.
A table is a set of data elements (values) that is organized using a model of vertical columns (which are identified by their name) and horizontal rows.
1 Chapter 9 Database Management. Objectives Overview Define the term, database, and explain how a database interacts with data and information Describe.
Software AS Module Heathcote Ch. 22. Importance of Information  Information technology is fundamental to the success of any business  The information.
Course Introductions.  Introduction to java  Basics of Java  Classes & Objects  Java Collections and APIs  Algorithms and their analysis  Recursion.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
INFORMATION TECHNOLOGY DATABASE MANAGEMENT. A database is a collection of information organized to provide efficient retrieval. The collected information.
Introduction to Algorithm Complexity Bit Sum Problem.
Web Routing Designing an Interface
Håkan Sundell Philippas Tsigas
Chapter Ten Managing a Database.
Query Processing in Databases Dr. M. Gavrilova
Distributed P2P File System
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Concurrent Programming
Rocky K. C. Chang September 11, 2018
Presentation transcript:

A Simple Abstraction for Complex Concurrent Indexes Imperial College London: Pedro da Rocha Pinto, Thomas Dinsdale-Young, Philippa Gardner and Mark Wheelhouse University of Cambridge: Mike Dodds OOPSLA 2011

Motivation Indexes are ubiquitous in computing systems: And have a variety of implementations:

Intuitive Index Specification

Simple Concurrent Example

Disjoint Key Concurrency

Concurrent Index Specification

Simple Concurrent Example

More Example Programs

Real-World Client Programs Database sanitation: remove all patients who have been cured, transferred or released Graphics drawing: clip all objects outside of some horizontal and vertical bounds Garbage collection: parallel marking in the mark/sweep algorithm Web caching (NOSQL): removing a picture whilst others are attaching comments to it

Shared Key Concurrency

Concurrent Index Specification

Concurrent remove remove(h,k)

Parallel Sieve of Eratosthenes

Combining Predicates

Parallel Sieve of Eratosthenes

Implementing a Concurrent Index Our abstract concurrent index specification is sound for a number of different implementations, including:

Concurrent B-tree

Shared state Interference environment Capability tokens

Concurrent B-tree

Proof of remove implementation:

Conclusion Summary: simple abstract spec for concurrent indexes essence of real-world client programs correct implementations linked lists hash tables concurrent B-trees proof structure lends itself to automation Future work: Automation/Proof Assistant (Dinsdale-Young) java.util.concurrent (da Rocha Pinto) File Systems (Ntzik)