Thesis Committee: Craig W. Thompson Dale R. Thompson Amy Apon GRINDEX: Framework and Prototype for a Grid-based Index Jonathan Schisler June 30 th, 2005.

Slides:



Advertisements
Similar presentations
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Advertisements

Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Allocation Methods - Contiguous
June 22-23, 2005 Technology Infusion Team Committee1 High Performance Parallel Lucene search (for an OAI federation) K. Maly, and M. Zubair Department.
Technical Architectures
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
File System Implementation
Distributed Database Management Systems
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (4) File Management & Input/Out Systems 10/14/2008 Yang Song (Prepared.
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
DISTRIBUTED COMPUTING
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing Kai Hwang, Hai Jin, and Roy Ho.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
Objectives Learn what a file system does
Computer System Architectures Computer System Software
Loris Giovannini, Mauro Giacchini Epics Collaboration Meeting
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
Introduction to Hadoop and HDFS
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Towards a Grid-based DBMS Craig Thompson University of Arkansas In certain high-end data-centric applications, practitioners are discovering that traditional.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
Intelligent Database Systems Lab 1 Advisor : Dr. Hsu Graduate : Jian-Lin Kuo Author : Silvia Nittel Kelvin T.Leung Amy Braverman 國立雲林科技大學 National Yunlin.
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
Querying Large Databases Rukmini Kaushik. Purpose Research for efficient algorithms and software architectures of query engines.
(C) 2008 Clusterpoint(C) 2008 ClusterPoint Ltd. Empowering You to Manage and Drive Down Database Costs April 17, 2009 Gints Ernestsons, CEO © 2009 Clusterpoint.
Amy Apon, Pawel Wolinski, Dennis Reed Greg Amerson, Prathima Gorjala University of Arkansas Commercial Applications of High Performance Computing Massive.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Achieving Scalability, Performance and Availability on Linux with Oracle 9iR2-RAC Grant McAlister Senior Database Engineer Amazon.com Paper
N. GSU Slide 1 Chapter 05 Clustered Systems for Massive Parallelism N. Xiong Georgia State University.
MIDORI The Post Windows Operating System Microsoft Research’s.
Grid Computing at Yahoo! Sameer Paranjpye Mahadev Konar Yahoo!
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Computer Science and Engineering Predicting Performance for Grid-Based P. 1 IPDPS’07 A Performance Prediction Framework.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
Kjell Orsborn UU - DIS - UDBL DATABASE SYSTEMS - 10p Course No. 2AD235 Spring 2002 A second course on development of database systems Kjell.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 11: File System Implementation.
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Ohio State University Department of Computer Science and Engineering Servicing Range Queries on Multidimensional Datasets with Partial Replicas Li Weng,
Lec 5 part2 Disk Storage, Basic File Structures, and Hashing.
CS 540 Database Management Systems
Chapter 1 Database Access from Client Applications.
Latest Improvements in the PROOF system Bleeding Edge Physics with Bleeding Edge Computing Fons Rademakers, Gerri Ganis, Jan Iwaszkiewicz CERN.
Chapter 5 Record Storage and Primary File Organizations
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
Load Rebalancing for Distributed File Systems in Clouds.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
Background Computer System Architectures Computer System Software.
Next Generation of Apache Hadoop MapReduce Owen
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Chapter 11: File System Implementation
Open Source distributed document DB for an enterprise
Maximum Availability Architecture Enterprise Technology Centre.
Li Weng, Umit Catalyurek, Tahsin Kurc, Gagan Agrawal, Joel Saltz
Chapter 17: Database System Architectures
Chapter 2: System Structures
Outline Midterm results summary Distributed file systems – continued
Support for ”interactive batch”
CLUSTER COMPUTING.
Introduction to Teradata
Indexing and Hashing B.Ramamurthy Chapter 11 2/5/2019 B.Ramamurthy.
Database System Architectures
Presentation transcript:

Thesis Committee: Craig W. Thompson Dale R. Thompson Amy Apon GRINDEX: Framework and Prototype for a Grid-based Index Jonathan Schisler June 30 th, 2005 A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Engineering

Outline Motivation and Objectives Alternative Approaches –Grid Databases –In-Memory Databases GRINDEX Architecture Prototype Tests and Results Future Work

Motivation -Began with a clustering algorithm that operated serially on top of a relational dbms -Wanted to execute on a grid to take advantage of parallelism to improve scalability and increase speed -Needed read/write capabilities so that the data structures could grow dynamically -Handle different request types – batch and interactive insertion modes -Noticed the need for an indexing layer

GRINDEX Objectives Provide an architecture for a main memory grid- based DBMS Maintain traditional database functionality Explore, research, and recommend methods for distributing data across a grid environment where application data will be dynamically re- partitioned while the application maintains very high throughput. Maintain and provide load-balancing during the dynamic re-partitioning process.

Objectives (cont) Give applications complete read/write capability. Hide the details of the underlying storage from the high-level user and any calling applications. Hide the details of re-partitioning and splitting from calling applications. Provide a low cost alternative to large scale databases

Objectives (cont) Allow for the addition of other index structures and other storage configurations by viewing disk and main memory as different storage level implementations that are independent of the application layer and could accommodate change through the use of encapsulation. Provide an architectural design that will allow for failover. This includes researching and providing a way to handle failover in the dynamic grid environment and exploring what abilities can be provided in the environment with little or no cost to performance.

Objectives (cont) Provide a prototype implementation that proves the feasibility and usefulness of the GRINDEX framework and provides a setup for testing with synthetic data. Suggest further optimizations of the prototype based on performance measurements and analysis. Recommend future work relating to the system

Alternative Approaches –Proprietary system Advantages –Performance Disadvantages –Not reusable –Development costs –Maintenance –Spend the Money Advantages –Technical Support –Generic solution – reusable –Performance Disadvantages –Cost –Limited Scalability

Relational DBMS Architecture

Alternative Approaches Grid-based Solution –Potential Advantages Dynamic allocation and access Reusability and flexibility High throughput Low cost Batch and interactive query response Scalability Low maintenance –Disadvantages Initial development Additional network communications

Grid Databases mySQL Cluster –Commodity hardware (inexpensive) –“Shared-nothing” architecture –No single point of failure –Heterogeneous machines –Must be re-configured, re-indexed and re- started to allow for growth

Grid Databases NCR’s Teradata –Central “enterprise-wide” database –“Shared-nothing” architecture –Unconditional parallelism –Scales linearly –Proprietary BYNET (expensive) –Supports up to Petabytes (PB) using a 512 node setup –Uses only hash indexes –Orders records via the BYNET

Grid Databases Oracle 10g –Clustered storage –Utilizes high-speed interconnects such as Infiniband (low latency, high bandwidth) –Scheduler –Resource manager –Supports up to 8 exabytes of data in a single database –Depends on disk

Alternative Approaches In-Memory Databases –Non-traditional –Use main memory for storage –Example use - embedded systems –Fast response time –Volatile (must provide means of reliability and recovery)

In-Memory Databases Single User Relational Database Management System Language Facility (SURLY) –Small, powerful RDBMS –Designed for a single PC –Language neutral –Provides a command syntax –Complete relational algebra –Memory management techniques

GRINDEX Architecture –Extension of traditional RDBMS –Adds capability of operating over a grid –Adds capability of operating in-memory –Provides high-level application interface –Encapsulates the index layer

Commands (API) createTable insertRecord inputRecords printTableInfo printTable SQL Query runFile printNumRecords exit (quit)

Hashes Static Hash –Based on a fixed number of Buckets –Must halt and re-partition to accommodate growth Dynamic Hash –Hash function modified dynamically to accommodate growth/shrinking –For unknown amount of growth

Dynamic Hash Functions Linear –Complex address calculations –Performance varies cyclically Spiral –Uniform performance –Intentionally distributes records unevenly Extensible (or extendable) –Split and merge buckets as data set size changes –Small performance overhead –Space efficiency is maintained

Extensible Hashing Choose a uniform and random hash function Generates a n-bit binary integer 2^n is the maximum number of buckets used A number of bits from the hash value is used as a pointer to a specific bucket In order to add more buckets, more bits of the hash are used

Prototype Developed in Java using the NetBeans 3.6 IDE Uses Extensible Hash Supports Batch Transfers Consists of 10 Class Files Supports 9 Commands Approx LOC

Testing Used a synthetic data set (2 million records) generated from the American Dataset Program (ADP) Recorded the following factors for each execution during testing: –Use of Batch mode (Batch size if used) –Number of physical machines being used –Number of Bucket Process the execution use initially –How many splits occurred –Maximum number of records per Bucket Process

Hardware Configurations –MACHINE 1: HP Pavilion XL766 Pentium III - 733MHz 640MB RAM OS: WINDOWS XP IDE: NetBeans IDE 3.6 Java 1.4.2_07 –MACHINES 4, 5, 6, 7* (from Hawk): Dual-processor 64-bit Opterons – 1.6GHz 2GB RAM Rocks Linux Kernel *Equipment provided by the National Science Foundation through grant #DUE –MACHINE 2: Dell Optiplex GX1p Pentium III - 450MHz 128MB RAM OS: WINDOWS XP IDE: NetBeans IDE 3.6 Java 1.4.2_07 –MACHINE 3: Dell Optiplex GX1 Pentium III - 550MHz 128MB RAM OS: WINDOWS XP IDE: NetBeans IDE 3.6 Java 1.4.2_07

Results from Hawk records/s for 100,000 records records/s for 500,000 records records/s for 1,000,000 records records/s for 10,000,000 records Indicates that the system scales well 8.26 million records/hr

Results (cont) Batch size greatly affected performance Example) Inserting 1000 records using machines 1,2,3 –Batch mode OFF: 694s –Batch mode ON: 30s

Results (cont) Optimal maximum batch size: –Approx. maximum batch size = 1,500 records –Average record size = 55 Bytes –Optimal maximum batch size: 1,500 records x 55B/record = 82,500B Always better to initialize the table with as many buckets as it needs because it is costly to split Average utilization –Predicted: 69% –Measured: 67.6%

Future Work Splitting Optimizations Batching optimizations Adding other Dynamic Plug-in Indices Predicting initial number of buckets Index and bucket replication for performance and reliability Grid SURLY Extended SQL support

Questions/Discussion