CSCE 990: Advanced Distributed Systems

Slides:



Advertisements
Similar presentations
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates By Yihong Zhao, Prasad M. Desphande and Jeffrey F. Naughton Presented by Kia Hall.
Advertisements

Jialin Liu, Bradly Crysler, Yin Lu, Yong Chen Oct. 15. Seminar Data-Intensive Scalable Computing Laboratory (DISCL) Locality-driven High-level.
Overcoming Limitations of Sampling for Agrregation Queries Surajit ChaudhuriMicrosoft Research Gautam DasMicrosoft Research Mayur DatarStanford University.
Allocating Memory.
Computer Organization and Architecture
Alok 1Northwestern University Access Patterns, Metadata, and Performance Alok Choudhary and Wei-Keng Liao Department of ECE,
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
AN EXTENDED OPENMP TARGETING ON THE HYBRID ARCHITECTURE OF SMP-CLUSTER Author : Y. Zhao 、 C. Hu 、 S. Wang 、 S. Zhang Source : Proceedings of the 2nd IASTED.
The X-Tree An Index Structure for High Dimensional Data Stefan Berchtold, Daniel A Keim, Hans Peter Kriegel Institute of Computer Science Munich, Germany.
CCGrid 2014 Improving I/O Throughput of Scientific Applications using Transparent Parallel Compression Tekin Bicer, Jian Yin and Gagan Agrawal Ohio State.
The HDF Group HDF5 Datasets and I/O Dataset storage and its effect on performance May 30-31, 2012HDF5 Workshop at PSI 1.
Lesley Charles November 23, 2009.
Subject: Operating System.
ICPP 2012 Indexing and Parallel Query Processing Support for Visualizing Climate Datasets Yu Su*, Gagan Agrawal*, Jonathan Woodring † *The Ohio State University.
Introduction to dCache Zhenping (Jane) Liu ATLAS Computing Facility, Physics Department Brookhaven National Lab 09/12 – 09/13, 2005 USATLAS Tier-1 & Tier-2.
Computer Science Research and Development Department Computing Sciences Directorate, L B N L 1 Storage Management and Data Mining in High Energy Physics.
Bi-Hadoop: Extending Hadoop To Improve Support For Binary-Input Applications Xiao Yu and Bo Hong School of Electrical and Computer Engineering Georgia.
Database Management COP4540, SCS, FIU Physical Database Design (ch. 16 & ch. 3)
HPDC 2013 Taming Massive Distributed Datasets: Data Sampling Using Bitmap Indices Yu Su*, Gagan Agrawal*, Jonathan Woodring # Kary Myers #, Joanne Wendelberger.
1 HDF5 Life cycle of data Boeing September 19, 2006.
The Volcano Optimizer Generator Extensibility and Efficient Search.
Spatio-temporal Pattern Queries M. Hadjieleftheriou G. Kollios P. Bakalov V. J. Tsotras.
SUPPORTING SQL QUERIES FOR SUBSETTING LARGE- SCALE DATASETS IN PARAVIEW SC’11 UltraVis Workshop, November 13, 2011 Yu Su*, Gagan Agrawal*, Jon Woodring†
CCGrid, 2012 Supporting User Defined Subsetting and Aggregation over Parallel NetCDF Datasets Yu Su and Gagan Agrawal Department of Computer Science and.
1 Chapter 4: Creating Simple Queries 4.1 Introduction to the Query Task 4.2 Selecting Columns and Filtering Rows 4.3 Creating New Columns with an Expression.
INFORMATION MANAGEMENT Module INFORMATION MANAGEMENT Module
The HDF Group HDF5 Chunking and Compression Performance tuning 10/17/15 1 ICALEPCS 2015.
M.Kersten MonetDB, Cracking and recycling Martin Kersten CWI Amsterdam.
PDAC-10 Middleware Solutions for Data- Intensive (Scientific) Computing on Clouds Gagan Agrawal Ohio State University (Joint Work with Tekin Bicer, David.
Ohio State University Department of Computer Science and Engineering Servicing Range Queries on Multidimensional Datasets with Partial Replicas Li Weng,
Bigtable: A Distributed Storage System for Structured Data
Parallel I/O Performance Study and Optimizations with HDF5, A Scientific Data Package Christian Chilan, Kent Yang, Albert Cheng, Quincey Koziol, Leon Arber.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 27 – Media Server (Part 2) Klara Nahrstedt Spring 2009.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Model-driven Data Layout Selection for Improving Read Performance Jialin Liu 1, Bin Dong 2, Surendra Byna 2, Kesheng Wu 2, Yong Chen 1 Texas Tech University.
Copyright © 2010 The HDF Group. All Rights Reserved1 Data Storage and I/O in HDF5.
Presenter: Yue Zhu, Linghan Zhang A Novel Approach to Improving the Efficiency of Storing and Accessing Small Files on Hadoop: a Case Study by PowerPoint.
The HDF Group Introduction to HDF5 Session ? High Performance I/O 1 Copyright © 2010 The HDF Group. All Rights Reserved.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
CS 704 Advanced Computer Architecture
Finite element mesh and load definition
Module 11: File Structure
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Indexing Structures for Files and Physical Database Design
Curator: Self-Managing Storage for Enterprise Clusters
Memory Allocation The main memory must accommodate both:
Physical Database Design
Introduction to HDF5 Session Five Reading & Writing Raw Data Values
Conception of parallel algorithms
Locality-driven High-level I/O Aggregation
Physical Database Design and Performance
In-situ Visualization using VisIt
COMP 430 Intro. to Database Systems
Database Performance Tuning and Query Optimization
Li Weng, Umit Catalyurek, Tahsin Kurc, Gagan Agrawal, Joel Saltz
Spatio-temporal Pattern Queries
Join Processing in Database Systems with Large Main Memories (part 2)
Spatial Online Sampling and Aggregation
Economics, Administration & Information system
Yu Su, Yi Wang, Gagan Agrawal The Ohio State University
Predictive Performance
On Spatial Joins in MapReduce
Physical Database Design
"Developing an Efficient Sparse Matrix Framework Targeting SSI Applications" Diego Rivera and David Kaeli The Center for Subsurface Sensing and Imaging.
Lecture 3: Main Memory.
Chapter 11 Database Performance Tuning and Query Optimization
Automatic and Efficient Data Virtualization System on Scientific Datasets Li Weng.
Chapter 13: Data Storage Structures
Parallel Feature Identification and Elimination from a CFD Dataset
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

CSCE 990: Advanced Distributed Systems Prof. Ying Lu Spring 2017 Usage Pattern-Driven Dynamic Data Layout Reorganization by Sai Suman Department of Computer Science University of Nebraska-Lincoln

What problem is the paper trying to address? Scientific applications work on massive amounts of data Write patterns of data access doesn’t match read patterns This leads to poor performance Example: Scientific simulations write data of all variables in time steps (write layout) Analysis and visualization applications read subset of variables over several time steps (read pattern) Poor performance Mismatch between write layout and read patterns

What problem is the paper trying to address? Solution is to increase contiguous I/O accesses Layout reorganization methods are one way to do that Create multiple full replicas of data (or) Merge multiple non-contiguous data blocks into a single continuous chunk But, need to support multiple read access patterns Dynamically

What problem is the paper trying to address? Dynamic data reorganization framework Support multiple read access patterns Redirection of read accesses to favorable layout Also, Dynamic data access pattern tracing Efficient storage of replicas Partial replicas

Approach Dynamic Pattern Identification Trace read accesses at runtime Identify data usage patterns of the application Flexible multi-layout management with storage budgets Evaluate user specified storage constraints and current usage patterns Support multiple layout reorganization techniques Select the most suitable technique Runtime decision making with partial match and redirection

Supported reorganization layouts Data reorganization techniques that our framework supports. The numbers in each cell are the starting offsets of original data, and the arrow lines are the order of the reorganized offsets: (a) (original) row-major layout, (b) column-major (transposition) layout, (c) blocked (chunking) layout, used as a pre-processing step before applying (d) and (e), (d) z-curve, (e) Hilbertcurve, (f) custom merging of a subset (data at offsets 5, 9, 13, 7, 11, 15).

Approach (contd…) Runtime decision making with partial match and redirection Page-level cost model to estimate data access cost during decision making Automatic read-redirection to the selected layout Allow partial match for read patterns over reorganized replicas By allowing partial matches between read patterns and the reorganized replicas, we extend the usability of existing layouts compared to the exact match strategy from previous work

Design Trace Analyzer Layout Decision Maker Trace I/O read calls and identify data access patterns Layout Decision Maker Analyze the cost of access over available layout for requested data Select layout with best access performance Pattern and Layout Knowledge Base Metadata for available layout and data access pattern history Data Reorganization Manager Reorganizes and replicates the data with optimized layouts When data present in different layouts  directs to layout with best performance

Design

Trace analysis and pattern recognition To understand data usage of applications  trace I/O read calls and identifying patterns Data usage patterns: Variables within dataset being accessed Variables within accessed region Size of the request Identify metadata from read calls (HDF5) issued by the application Store it in an auxiliary data structure Analyze data selection information: Element point Bounding boxes

Trace analysis and pattern recognition Bounding Box Selection: Applications reads data from a variable bounded by spatial locations Example: A sub-plane in 2D array, a sub-cube in 3D array Hyperslab in HDF5 I/O library Users can select multiple bounding boxes using set operations Useful when data of a dataset scattered in a file

Trace analysis and pattern recognition Element selection: Uses a query to find the data Requires the coordinates of scattered data elements But, large number of non-contiguous reads with small request sizes  low I/O throughput Need for optimization

Trace analysis and pattern recognition Generic optimization  optimize without requiring high-level criteria of selection Doesn’t change existing indexing techniques Example: Data of interest = particles of high energy i.e. Energy > some x Small subset of elements would be repeatedly accessed Place those elements in a contiguous data chunk  save access time for future accesses Range query Clustering

Layout decision making Find best matching replica using pattern detection information 3 steps: Step 1: Candidate selection: A) Course grained pruning: Prune layouts that don’t satisfy the request B)Fine grained pruning: Load metadata of remaining layouts and compare with requested regions

Layout decision making consider replicas that partially overlap with the requested data as not eligible because the overlapping regions cannot be estimated accurately without loading the metadata of a replica.

Layout decision making Step 2: Layout ranking via cost model Use a page-level cost model to estimate file read cost Estimated read time for replica r across multiple Object Storage Targets (OSTs) O is the Object Storage Targets (OSTs) The requested region is converted to linear space and Nipg and Nichk are calculated within an OST Select replica with smallest Tr

Layout decision making

Layout decision making Step 3: I/O redirection in HDF5 Automatically redirect the read to selected replica (from the cost model) using the replica’s metadata (file, variable’s name and path etc.) When a replica is not found by the model, default HDF5 read is used

Pattern and Layout Knowledge Base Offline incremental analysis to extract and analyze data usage patterns On a read call, analyze: When and how many processes are issuing read requests together Total size and I/O throughput For each read, a usage pattern is generated and stored in pattern history: {variable name/path, selection type and spatial region, process IDs, start/end time, total size, I/O rate} Merge local patterns to create global patterns and store them in knowledge base Also store replica’s original file and reorganization information Merge is done as a preprocessing step Global patterns help in “hot” data

Data Layout Reorganization 3 separate tasks 1) Replica creation: When and how to create a new layout using knowledge base information 3 scenarios: a) The original dataset can be reorganized and limited additional storage space is allowed b) The original dataset cannot be modified, but unlimited storage space is allowed c) The original dataset can be reorganized but no additional storage is allowed

Data Layout Reorganization 2) Replica Eviction Replicas ranked according according to a combination of: Recent usage Size effectiveness (performance improvement timeold/timenew) Evict older and less effective replicas More details needed from the paper but not provided

Data Layout Reorganization 3) OST-Aware Replica Placement BAD: (a) Each process access data from all OSTs. (b) Each process access data from a subset of OSTs. IDEAL: (a) The number of processes equals to that of OSTs. (b) The number of processes is larger than that of OSTs.

Data Layout Reorganization 3) OST-Aware Replica Placement Stripe count = number of OSTs to access Stripe size = size of data to write to an OST When multiple processes reading contiguous data with size ~ (Stripe count) * (Stipe size) Each OST accessed by several processes  contention To avoid OST contention, each OST should be contacted by as few processes as possible No details are provided on how this is done (?) OST  storage devices

Experimental comparisons Plasma physics particle data : subset of a trillion particle dataset with Energy > 1.1. Queries selected using Energy > some X 1.3 to 90 times speedup overall

Experimental comparisons Electrocortocigraphy (ECoG) Data: records the electrical activity from the cerebral cortex when the patient is reading different words at different times. 2 to 6 times speedup overall Here, concatenation techniques is used for layout reorganization Read time comparison over different query selections

Experimental comparisons Adaptive Mesh Refinement (AMR) Data: allows user to specify a multi-dimensional region, and read the corresponding data of all levels 1.8 to 4 times speedup overall

Conclusion and future work Data usage patterns to select the most suitable layout Storage efficient optimizations Improves read performance of several scientific applications involving data analysis Future work: Data compression techniques for reducing size of data accesses

Questions?