The Stratosphere Platform for Big Data Analytics

Similar documents
Shark: SQL and Rich Analytics at Scale. Michael Xueyuan Han Ronny Hajoon Ko

Lecture 11 Hadoop & Spark

Shark. Hive on Spark. Cliff Engle, Antonio Lupher, Reynold Xin, Matei Zaharia, Michael Franklin, Ion Stoica, Scott Shenker

One Trillion Edges. Graph processing at Facebook scale

April Copyright 2013 Cloudera Inc. All rights reserved.

CSE 444: Database Internals. Lecture 23 Spark

Resilient Distributed Datasets

Shark: SQL and Rich Analytics at Scale. Reynold Xin UC Berkeley

HDFS: Hadoop Distributed File System. CIS 612 Sunnie Chung

Hadoop 2.x Core: YARN, Tez, and Spark. Hortonworks Inc All Rights Reserved

Data Clustering on the Parallel Hadoop MapReduce Model. Dimitrios Verraros

Shark: SQL and Rich Analytics at Scale. Yash Thakkar ( ) Deeksha Singh ( )

Research challenges in data-intensive computing The Stratosphere Project Apache Flink

Map Reduce Group Meeting

Distributed Computation Models

The Evolution of Big Data Platforms and Data Science

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 10 Parallel Programming Models: Map Reduce and Spark

Apache Flink- A System for Batch and Realtime Stream Processing

Tutorial Outline. Map/Reduce vs. DBMS. MR vs. DBMS [DeWitt and Stonebraker 2008] Acknowledgements. MR is a step backwards in database access

Apache Spark is a fast and general-purpose engine for large-scale data processing Spark aims at achieving the following goals in the Big data context

Massive Online Analysis - Storm,Spark

Warehouse- Scale Computing and the BDAS Stack

CSE 344 MAY 2 ND MAP/REDUCE

Outline. CS-562 Introduction to data analysis using Apache Spark

Databases 2 (VU) ( / )

Webinar Series TMIP VISION

Shark: Hive (SQL) on Spark

Real-time data processing with Apache Flink

MapReduce Spark. Some slides are adapted from those of Jeff Dean and Matei Zaharia

Fast, Interactive, Language-Integrated Cluster Computing

Fault Tolerance in K3. Ben Glickman, Amit Mehta, Josh Wheeler

Graph Analytics using Vertica Relational Database

HiTune. Dataflow-Based Performance Analysis for Big Data Cloud

Hadoop Beyond Batch: Real-time Workloads, SQL-on- Hadoop, and thevirtual EDW Headline Goes Here

Hadoop. Course Duration: 25 days (60 hours duration). Bigdata Fundamentals. Day1: (2hours)

Lecture Notes to Big Data Management and Analytics Winter Term 2017/2018 Apache Flink

Automatic Scaling Iterative Computations. Aug. 7 th, 2012

Big Data Architect.

A Fast and High Throughput SQL Query System for Big Data

Apache Flink Big Data Stream Processing

Shark: Hive (SQL) on Spark

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery

2/26/2017. Originally developed at the University of California - Berkeley's AMPLab

Hive and Shark. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

Big Data Hadoop Developer Course Content. Big Data Hadoop Developer - The Complete Course Course Duration: 45 Hours

Unifying Big Data Workloads in Apache Spark

Towards Automatic Optimization of MapReduce Programs (Position Paper) Shivnath Babu Duke University

Big Data Infrastructures & Technologies

Large-Scale Duplicate Detection

Analytics in Spark. Yanlei Diao Tim Hunter. Slides Courtesy of Ion Stoica, Matei Zaharia and Brooke Wenig

Processing of big data with Apache Spark

Introduction to Data Management CSE 344

Turning NoSQL data into Graph Playing with Apache Giraph and Apache Gora

Shark: Hive on Spark

Introduction to Data Management CSE 344

BSP, Pregel and the need for Graph Processing

Spark. In- Memory Cluster Computing for Iterative and Interactive Applications

Cloud Computing & Visualization

Jure Leskovec Including joint work with Y. Perez, R. Sosič, A. Banarjee, M. Raison, R. Puttagunta, P. Shah

Pregel: A System for Large- Scale Graph Processing. Written by G. Malewicz et al. at SIGMOD 2010 Presented by Chris Bunch Tuesday, October 12, 2010

Topics. Big Data Analytics What is and Why Hadoop? Comparison to other technologies Hadoop architecture Hadoop ecosystem Hadoop usage examples

Progress on Efficient Integration of Lustre* and Hadoop/YARN

Distributed Computing with Spark

Delving Deep into Hadoop Course Contents Introduction to Hadoop and Architecture

Introduction to BigData, Hadoop:-

Improving the MapReduce Big Data Processing Framework

Parallel Programming Principle and Practice. Lecture 10 Big Data Processing with MapReduce

Analysis in the Big Data Era

New Developments in Spark

A BigData Tour HDFS, Ceph and MapReduce

Nowcasting. D B M G Data Base and Data Mining Group of Politecnico di Torino. Big Data: Hype or Hallelujah? Big data hype?

Today s content. Resilient Distributed Datasets(RDDs) Spark and its data model

a Spark in the cloud iterative and interactive cluster computing

Data Informatics. Seon Ho Kim, Ph.D.

Map-Reduce. Marco Mura 2010 March, 31th

6.830 Lecture Spark 11/15/2017

Big Data Syllabus. Understanding big data and Hadoop. Limitations and Solutions of existing Data Analytics Architecture

Experiences Running and Optimizing the Berkeley Data Analytics Stack on Cray Platforms

Pregel. Ali Shah

Evolution From Shark To Spark SQL:

Database Applications (15-415)

HAWQ: A Massively Parallel Processing SQL Engine in Hadoop

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

Embedded Technosolutions

Big Data Analytics using Apache Hadoop and Spark with Scala

Backtesting with Spark

Workload Characterization and Optimization of TPC-H Queries on Apache Spark

MapReduce, Hadoop and Spark. Bompotas Agorakis

GLADE: A Scalable Framework for Efficient Analytics. Florin Rusu (University of California, Merced) Alin Dobra (University of Florida)

Overview. Prerequisites. Course Outline. Course Outline :: Apache Spark Development::

Data Storage Infrastructure at Facebook

Huge market -- essentially all high performance databases work this way

Programming Systems for Big Data

iihadoop: an asynchronous distributed framework for incremental iterative computations

Big Data. Big Data Analyst. Big Data Engineer. Big Data Architect

MapReduce-II. September 2013 Alberto Abelló & Oscar Romero 1

Hadoop An Overview. - Socrates CCDH

HADOOP FRAMEWORK FOR BIG DATA

YCSB++ Benchmarking Tool Performance Debugging Advanced Features of Scalable Table Stores

Where We Are. Review: Parallel DBMS. Parallel DBMS. Introduction to Data Management CSE 344

Transcription:

The Stratosphere Platform for Big Data Analytics Hongyao Ma Franco Solleza April 20, 2015

Stratosphere

Stratosphere

Stratosphere

Big Data Analytics BIG Data Heterogeneous datasets: structured / unstructured / semi-structured Users have different needs for declarativity and expressivity

What we have covered so far Polybase Shark MLBase SharedDB BlinkDB

The Promises Declarative, high-level language In situ data analysis Richer set of primitives than MapReduce Treat UDFs at first-class citizens Automated parallelization and optimization Support for iterative programs Includes external memory query processing algorithms to support arbitrarily long programs

Outline Meteor & Sopremo PACT Nephele Experiment Results Future work & Discussions

Sopremo

Meteor Script Declarative interface High level script

Meteor Translates To Sopremo Output Group Join Compute Revenue Filter Lineitem Supplier

Sopremo Modular and extensible Composable

Sopremo compiled to PACT Output Group Join Compute Revenue Filter Lineitem Supplier

PACT

PACT Programmer makes a pact with system Uses one of 5 functions

PACT Programmer makes a pact with system Uses one of 5 functions Map Reduce Match Cross Co-group

PACT Programmer makes a pact with system Uses one of 5 functions Map Reduce Match Cross Co-group

PACT Programmer makes a pact with system Uses one of 5 functions Map Reduce Match Cross Co-group

PACT Programmer makes a pact with system Uses one of 5 functions Map Reduce Match Cross Co-group

What s a PACT? Data and a function Specifies how data are partitioned across the system An atomic(?) operation on all specified data

Iterative PACT Programs

Iterative PACT Programs Implicitly, iteration mutates state

Iterative PACT Programs Implicitly, iteration mutates state How to do iteration without explicit mutation of state?

Iterative PACT Programs Bulk iteration

Iterative PACT Programs Bulk iteration Starts with a solution set

Iterative PACT Programs Bulk iteration Sends group by label to neighbors

Iterative PACT Programs Bulk iteration Find minimum among those neighbors

Iterative PACT Programs Bulk iteration Outputs an incremental solution set

Iterative PACT Programs Bulk iteration Incremental solution set becomes input to next iteration

Iterative PACT Programs Bulk iteration

Iterative PACT Programs Incremental iteration

Iterative PACT Programs Incremental iteration Starts with a work set, and a solution set

Iterative PACT Programs Incremental iteration Calculates the min for a group

Iterative PACT Programs Incremental iteration Merges work set with solution set and checks if label changed

Iterative PACT Programs Incremental iteration If the label is new, it becomes part of the delta set..

Iterative PACT Programs Incremental iteration Which gets sent back to the next iteration

Iterative PACT Programs Incremental iteration If changed, also gets matched to the neighbors...

Iterative PACT Programs Incremental iteration And those matches become the new workset

Iterative PACT Programs Incremental iteration

PACT Optimization

PACT Optimization

PACT Optimization

PACT Optimization

PACT Optimization

PACT Optimization

PACT Optimization

Nephele

Nephele Execution

Nephele Execution Tasks, channels, scheduling

Nephele Execution Tasks, channels, scheduling Tasks with all local pipelines associated with that task are pushed by to slaves

Nephele Execution Tasks, channels, scheduling Tasks can request to send data over network (only when necessary or ready)

Nephele Execution Fault tolerance

Nephele Execution Fault tolerance Conceptually, follows the same concept as lineage (RDDs) but...

Nephele Execution Fault tolerance Intermediate Blocking operator model

Nephele Execution Fault tolerance Intermediate Non- Blocking operator model

Nephele Execution Runtime operators

Does it deliver?

Does it deliver? Maybe - what do the experiments say? What s old? A lot of things What s new? second-order functions that abstract parallelization optimization in a UDF-heavy environment Integrate iterative processing an extensible query language and underlying operator model

Experimental Evaluation

Experimental Setup Setup: 1 master + 25 slave machines 16 cores @ 2.0Hz with 32GB of RAM (29GB of operating memory) 80TB HDFS in plain ASCII, 4 SATA drives at 500MB/s read/write per node 8 parallel tasks per slave, total DOP 40-200 Comparison with Hadoop Vanilla MapReduce engine Apache Hive Apache Giraph

Summary of Results Stratosphere achieves linear speedup and similar performance to Hadoop for simple tasks (TeraSort, Word Count) Stratosphere beats Hive and Hadoop by 5 times for complicated tasks like TPC-H and triangle enumeration, though no gain from increasing DOP Stratosphere performed worse on Connected Components than Giraph due to the better tuned implementation of the latter Checkpointing adds little overhead and saves much time when failure occurs

TeraSort --- Stratosphere v.s. Hadoop Stratosphere achieves similar performance as Hadoop and Linear Speedup

Word Count --- Stratosphere v.s. Hadoop Stratosphere is 20% faster than Hadoop and achieves linear speedup

Triangle Enumeration: Reducer 1

Triangle Enumeration: Reducer 2

Triangle Enumeration: PACT

Triangle Enumeration Stratosphere is 5x faster than Hadoop, though parallelism does not help

TPC-H Query

TPC-H --- Stratosphere v.s. Hive Parallelism does not seem to help, however, Stratosphere is 5x faster

Connected Components Giraph is faster, due to better tuned implementation

CC --- Execution time per superstep

Fault Tolerance Checkpointing adds little overhead and saves much time when failure occurs

What Else Do We Want to See? For presented experiments: Breakdown of execution time to distinguish bottlenecks What happens with even smaller DOP? What happens with more/less tasks on each core? Further: What happens with even larger data? Current size does fit into RAM Comparison with MPP, or split query processing systems like Polybase, or Shark given the size of the tested data

The Promises? Declarative, high-level language In situ data analysis Richer set of primitives than MapReduce Treat UDFs at first-class citizens Automated parallelization and optimization Support for iterative programs Includes external memory query processing algorithms to support arbitrarily long programs

Ongoing and Future Work One-pass optimizer unifying PACT and sopremo layers Strengthening fault-tolerant capabilities Improving scalability and efficiency of Nephele Design, compilation and optimization of higher-level languages Scalable, efficient, and adaptive algorithms and architecture Stateful systems for fast ingestion and low-latency data analysis

Discussions and Questions Declarativity - expressiveness tradeoff More declarative -> less expressive, but easier to optimize Run-time optimization is the way to go? Skewed data distribution may become a bottleneck for such systems Detecting performance bottleneck on the fly

QED THANKS!