Jiexing Li #*, Rimma Nehme *, Jeff Naughton #* # University of Wisconsin-Madison * Microsoft Jim Gray Systems Lab Toward Progress Indicators on Steroids.

Slides:



Advertisements
Similar presentations
Chapter 13: Query Processing
Advertisements

Analysis of Computer Algorithms
Pricing for Utility-driven Resource Management and Allocation in Clusters Chee Shin Yeo and Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS)
DataGarage: Warehousing Massive Performance Data on Commodity Servers
Towards Automating the Configuration of a Distributed Storage System Lauro B. Costa Matei Ripeanu {lauroc, NetSysLab University of British.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Query optimisation.
1 Term 2, 2004, Lecture 9, Distributed DatabasesMarian Ursu, Department of Computing, Goldsmiths College Distributed databases 3.
Toward Scalable Keyword Search over Relational Data Akanksha Baid, Ian Rae, Jiexing Li, AnHai Doan, and Jeffrey Naughton University of Wisconsin VLDB 2010.
1 Lecture 2: Metrics to Evaluate Performance Topics: Benchmark suites, Performance equation, Summarizing performance with AM, GM, HM Video 1: Using AM.
Shark:SQL and Rich Analytics at Scale
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Sweet Storage SLOs with Frosting Andrew Wang, Shivaram Venkataraman, Sara Alspaugh, Ion Stoica, Randy Katz.
Database Performance Tuning and Query Optimization
Microsoft Office Illustrated Fundamentals Unit K: Working with Data.
Database System Concepts and Architecture
Processes Management.
Unit 1:Parallel Databases
HJ-Hadoop An Optimized MapReduce Runtime for Multi-core Systems Yunming Zhang Advised by: Prof. Alan Cox and Vivek Sarkar Rice University 1.
Addition 1’s to 20.
25 seconds left…...
Week 1.
Choosing an Order for Joins
University of Minnesota Optimizing MapReduce Provisioning in the Cloud Michael Cardosa, Aameek Singh†, Himabindu Pucha†, Abhishek Chandra
A Non-Blocking Join Achieving Higher Early Result Rate with Statistical Guarantees Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh.
Indexing HDFS Data in PDW: Splitting the data from index 1 Vinitha Gankidi #, Nikhil Teletia *, Jignesh M. Patel #, Alan Halverson *, David J. DeWitt *
Pig Optimization and Execution Page 1 Alan F. © Hortonworks Inc
MapReduce.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
Parallel Computing MapReduce Examples Parallel Efficiency Assignment
SkewTune: Mitigating Skew in MapReduce Applications
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Meeting Service Level Objectives of Pig Programs Zhuoyao Zhang, Ludmila Cherkasova, Abhishek Verma, Boon Thau Loo University of Pennsylvania Hewlett-Packard.
Distributed Computations
UC Berkeley Improving MapReduce Performance in Heterogeneous Environments Matei Zaharia, Andy Konwinski, Anthony Joseph, Randy Katz, Ion Stoica University.
Distributed Computations MapReduce
Chapter 5 Parallel Join 5.1Join Operations 5.2Serial Join Algorithms 5.3Parallel Join Algorithms 5.4Cost Models 5.5Parallel Join Optimization 5.6Summary.
7/14/2015EECS 584, Fall MapReduce: Simplied Data Processing on Large Clusters Yunxing Dai, Huan Feng.
UC Berkeley Improving MapReduce Performance in Heterogeneous Environments Matei Zaharia, Andy Konwinski, Anthony Joseph, Randy Katz, Ion Stoica University.
PARALLEL DBMS VS MAP REDUCE “MapReduce and parallel DBMSs: friends or foes?” Stonebraker, Daniel Abadi, David J Dewitt et al.
Hadoop & Cheetah. Key words Cluster  data center – Lots of machines thousands Node  a server in a data center – Commodity device fails very easily Slot.
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
SIDDHARTH MEHTA PURSUING MASTERS IN COMPUTER SCIENCE (FALL 2008) INTERESTS: SYSTEMS, WEB.
Map Reduce for data-intensive computing (Some of the content is adapted from the original authors’ talk at OSDI 04)
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
Physical Database Design & Performance. Optimizing for Query Performance For DBs with high retrieval traffic as compared to maintenance traffic, optimizing.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. LogKV: Exploiting Key-Value.
MapReduce M/R slides adapted from those of Jeff Dean’s.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Indexing HDFS Data in PDW: Splitting the data from the index VLDB2014 WSIC、Microsoft Calvin
GSLPI: a Cost-based Query Progress Indicator
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
MapReduce : Simplified Data Processing on Large Clusters P 謝光昱 P 陳志豪 Operating Systems Design and Implementation 2004 Jeffrey Dean, Sanjay.
Ohio State University Department of Computer Science and Engineering Servicing Range Queries on Multidimensional Datasets with Partial Replicas Li Weng,
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
Only Aggressive Elephants are Fast Elephants Nov 11 th 2013 Database Lab. Wonseok Choi.
BIG DATA/ Hadoop Interview Questions.
Hadoop.
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
MapReduce Simplied Data Processing on Large Clusters
湖南大学-信息科学与工程学院-计算机与科学系
February 26th – Map/Reduce
Cse 344 May 4th – Map/Reduce.
MapReduce: Simplified Data Processing on Large Clusters
Map Reduce, Types, Formats and Features
Presentation transcript:

Jiexing Li #*, Rimma Nehme *, Jeff Naughton #* # University of Wisconsin-Madison * Microsoft Jim Gray Systems Lab Toward Progress Indicators on Steroids for Big Data Systems

Explosive growth in the complexity, diversity, number of deployments, and capabilities of big data processing systems. Explosive growth in big data systems 2 [Ailamaki et al., 2011] PDW Engine PDW Store (SQL Server) Azure Engine Azure Store HDFS Nephele Asterix BTree Amazon S3 MySQL indexes Hadoop Map/Reduce Engine Hyracks runtime/execution engines SQL Map/Reduce Programming Model Cascading Pig HiveJaql PACT AQL Simple DB KVS SimpleDB PM PNuts HBase Algebrix programming models

They are large and complex beasts. To operate them efficiently, we need information about what is going on in the system. Big data systems 3 … Node 1Node 2Node n Thousands of servers Task 1 Task 2Task n Data 1Data 2Data n

Instantaneous snapshot information is important and nice, but not sufficient. We also need to know what it will look like in the future. Need to know the future state 4 Node 1Node 2Node n Data 1Data 2Data n Task 1 … Task 2Task n CPU overload! Bad disk! Lack of memory! …

Predicting the future in these systems is difficult or impossible. Dont require perfect predictions: Instead, anticipate the presence of errors. Detect them and react as time progresses. Progress indicators fit this predict, monitor, revise paradigm really well. Need predict, monitor, revise paradigm 5 One-shot predict and ignore Predict, monitor, and revise Unreliable

A PI provides feedback to users on how much of the task has been completed or when the task will finish. Begins with a prediction of the query progress, and while query executes, modifies the prediction based on the perceived information. But they are currently too weak and limited for big data systems. Progress indicator (PI)

Our goal: to advocate for the creation and research into progress indicators on steroids. Use more practical evaluation metrics to depict quality. Expand the class of computations they can serve. Expand the kinds of information they can provide. Continue to increase the accuracy of their prediction. Progress indicator on steroids 7 What?How?

Change our way of evaluating progress indicator technology. Our vision 8 Helpful for specific tasks Accurate when nothing changes React to changes quickly Accuracy (Current PIs) Progress indicators

Expand the class of computations they can serve. Our vision (cont.) 9 Optimizer Straggler/skew handler Scheduler Resource manager Performance debugger User interface (Current PIs) … Progress indicators

Expand the kinds of information they can provide. Our vision (cont.) 10 Disk fragmentation Straggling tasks Good/bad machines Resource availability Automatic failure diagnosis p% or time (Current PIs) … Progress indicators

A progress score provided by Pig for a MapReduce job: Divide it into 4 phases. For a phase, the score is the percentage of data read/processed. The overall progress for the job is the average of these 4 scores. This is a very rough estimate, which assumes that each phase contributes equally to the overall score. A promising simple example 11 Record Reader Map Combine Copy SortReduce Map task Reduce task

Hadoop uses these progress estimates to select stragglers and schedule backup executions on other machines. Improved execution time by 44%. [Dean et al., OSDI, 2004] Improved execution time further by a factor of 2. [Zaharia et al., OSDI, 2008] A promising simple example (cont.) 12 Straggler: a task that makes much less progress than tasks in its category. Node 1Node 2Node n P1%P2% Pn% … StragglerBackup execution Already deployed! Simple and rough estimates, but really helpful!

One line of research: retargeting even todays simple progress indicators to new systems can be interesting and challenging. Think: complexity and diversity of different data processing systems Example: We attempted to apply a debug run-based PI developed for MapReduce jobs to parallel database systems. Achieving vision requires research 13

For a query plan, estimates the processing speed for each phase/pipeline using information from earlier (debug) runs. The idea of a debug run-based PI 14 Data 1. Original data 2. Sample data 3. Execute the job [Morton et al., SIGMOD, 2010] 4. Calculate the processing speed (e.g., how many bytes can be processed per second) for each phase. 5. Remaining time (RT) = remaining data/speed.

This worked very well for map-reduce jobs. But what happens when we apply this debug-run approach to a parallel database system? We ran a simple experiment to find out. Questions: 15

Implemented the progress indicator in SQL Server PDW. Cluster: 18 nodes (1 control node, 1 data landing node, and 16 compute nodes). Connected with 1Gbit Ethernet switch 2 Intel Xeon L5630 quad-core processors 32 GB memory (at most 24 GB for DBMS) GB hard drivers (8 disks for data) Experimental setup 16

Database: 1TB TPC-H. Each table is either hash partitioned or replicated. When a table is hash partitioned, each compute node contains 8 horizontal data partitions (8*16 in total). Experimental setup (cont.) 17 TablePartition keyTablePartition key Customerc_custkeyPartp_partkey Lineiteml_oderkeyPartsuppps_partkey Nation(replicated)Region(replicated) Orderso_orderkeySuppliers_supplykey

TPC-H Q1: no joins, 7 pipelines, and the speed estimates are accurate. Debug run-based PI can work well 18

TPC-H Q4: Later joins in the debug run have very few tuples to process. Complex queries are more challenging Percentage: 1%, 0.01%, %, 0%, 0%. 1% of the 1TB data

Cost-based optimization may yield different plans for sampled versus entire dataset. Optimizer also presents challenges 20 Original data Table Scan [l] Filter Hash Match Table Scan [o] Shuffle Move Sample Table Scan [l] Filter Nested Loop Table Scan [o] Broadcast Move Only 6 out of 22 TPC-H queries used the same plans.

Even a simple task (porting debug run-based PI from MapReduce to parallel DBMS) is challenging. New ideas needed to make it work. How to build progress indicators for variety of systems for variety of uses is a wide-open problem. Conclusion from experiment. 21

Operators Work and speed estimation Pipeline definition & shape Dynamicity Statistics Parallelism … Some specific technical challenges 22 A promising direction, but still a really long way to go!

Proposed and discussed the desirability of developing progress indicators on steroids. Issues to consider include: Evaluation metrics. Computations to serve. Information to provide. Accuracy. Small case study illustrates that even small steps towardprogress indicators on steroids require effort and careful thought. Conclusions