Hybrid MapReduce Workflow Yang Ruan, Zhenhua Guo, Yuduo Zhou, Judy Qiu, Geoffrey Fox Indiana University, US.

Slides:



Advertisements
Similar presentations
Lecture 12: MapReduce: Simplified Data Processing on Large Clusters Xiaowei Yang (Duke University)
Advertisements

MAP REDUCE PROGRAMMING Dr G Sudha Sadasivam. Map - reduce sort/merge based distributed processing Best for batch- oriented processing Sort/merge is primitive.
MapReduce.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
Mapreduce and Hadoop Introduce Mapreduce and Hadoop
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
MapReduce Online Veli Hasanov Fatih University.
Parallel Computing MapReduce Examples Parallel Efficiency Assignment
SALSA HPC Group School of Informatics and Computing Indiana University.
Spark: Cluster Computing with Working Sets
SCALABLE PARALLEL COMPUTING ON CLOUDS : EFFICIENT AND SCALABLE ARCHITECTURES TO PERFORM PLEASINGLY PARALLEL, MAPREDUCE AND ITERATIVE DATA INTENSIVE COMPUTATIONS.
Optimus: A Dynamic Rewriting Framework for Data-Parallel Execution Plans Qifa Ke, Michael Isard, Yuan Yu Microsoft Research Silicon Valley EuroSys 2013.
Piccolo – Paper Discussion Big Data Reading Group 9/20/2010.
Authors: Thilina Gunarathne, Tak-Lon Wu, Judy Qiu, Geoffrey Fox Publish: HPDC'10, June 20–25, 2010, Chicago, Illinois, USA ACM Speaker: Jia Bao Lin.
Distributed Computations
Parallel K-Means Clustering Based on MapReduce The Key Laboratory of Intelligent Information Processing, Chinese Academy of Sciences Weizhong Zhao, Huifang.
L22: SC Report, Map Reduce November 23, Map Reduce What is MapReduce? Example computing environment How it works Fault Tolerance Debugging Performance.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Dimension Reduction and Visualization of Large High-Dimensional Data via Interpolation Seung-Hee Bae, Jong Youl Choi, Judy Qiu, and Geoffrey Fox School.
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Iterative computation is a kernel function to many data mining and data analysis algorithms. Missing in current MapReduce frameworks is collective communication,
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
Pregel: A System for Large-Scale Graph Processing
Applying Twister to Scientific Applications CloudCom 2010 Indianapolis, Indiana, USA Nov 30 – Dec 3, 2010.
MapReduce.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
By: Jeffrey Dean & Sanjay Ghemawat Presented by: Warunika Ranaweera Supervised by: Dr. Nalin Ranasinghe.
Google MapReduce Simplified Data Processing on Large Clusters Jeff Dean, Sanjay Ghemawat Google, Inc. Presented by Conroy Whitney 4 th year CS – Web Development.
CS525: Special Topics in DBs Large-Scale Data Management Hadoop/MapReduce Computing Paradigm Spring 2013 WPI, Mohamed Eltabakh 1.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
MapReduce and Hadoop 1 Wu-Jun Li Department of Computer Science and Engineering Shanghai Jiao Tong University Lecture 2: MapReduce and Hadoop Mining Massive.
1 The Map-Reduce Framework Compiled by Mark Silberstein, using slides from Dan Weld’s class at U. Washington, Yaniv Carmeli and some other.
Storage in Big Data Systems
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
Optimizing Cloud MapReduce for Processing Stream Data using Pipelining 作者 :Rutvik Karve , Devendra Dahiphale , Amit Chhajer 報告 : 饒展榕.
Presenter: Yang Ruan Indiana University Bloomington
MapReduce How to painlessly process terabytes of data.
MapReduce M/R slides adapted from those of Jeff Dean’s.
SALSASALSASALSASALSA Design Pattern for Scientific Applications in DryadLINQ CTP DataCloud-SC11 Hui Li Yang Ruan, Yuduo Zhou Judy Qiu, Geoffrey Fox.
Harp: Collective Communication on Hadoop Bingjing Zhang, Yang Ruan, Judy Qiu.
Parallel Applications And Tools For Cloud Computing Environments Azure MapReduce Large-scale PageRank with Twister Twister BLAST Thilina Gunarathne, Stephen.
SALSA HPC Group School of Informatics and Computing Indiana University.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
SALSASALSASALSASALSA Clouds Ball Aerospace March Geoffrey Fox
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Data Engineering How MapReduce Works
Looking at Use Case 19, 20 Genomics 1st JTC 1 SGBD Meeting SDSC San Diego March Judy Qiu Shantenu Jha (Rutgers) Geoffrey Fox
Cloud Computing Paradigms for Pleasingly Parallel Biomedical Applications Thilina Gunarathne, Tak-Lon Wu Judy Qiu, Geoffrey Fox School of Informatics,
SALSA Group Research Activities April 27, Research Overview  MapReduce Runtime  Twister  Azure MapReduce  Dryad and Parallel Applications 
MATRIX MULTIPLY WITH DRYAD B649 Course Project Introduction.
C-Store: MapReduce Jianlin Feng School of Software SUN YAT-SEN UNIVERSITY May. 22, 2009.
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
Parallel Applications And Tools For Cloud Computing Environments CloudCom 2010 Indianapolis, Indiana, USA Nov 30 – Dec 3, 2010.
Hadoop/MapReduce Computing Paradigm 1 CS525: Special Topics in DBs Large-Scale Data Management Presented By Kelly Technologies
MapReduce Basics Chapter 2 Lin and Dyer & /tutorial/
Yang Ruan PhD Candidate Salsahpc Group Community Grid Lab Indiana University.
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
Implementation of Classifier Tool in Twister Magesh khanna Vadivelu Shivaraman Janakiraman.
PREGEL Data Management in the Cloud
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
Applying Twister to Scientific Applications
湖南大学-信息科学与工程学院-计算机与科学系
Cse 344 May 4th – Map/Reduce.
CS110: Discussion about Spark
Group 15 Swathi Gurram Prajakta Purohit
CS 345A Data Mining MapReduce This presentation has been altered.
5/7/2019 Map Reduce Map reduce.
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

Hybrid MapReduce Workflow Yang Ruan, Zhenhua Guo, Yuduo Zhou, Judy Qiu, Geoffrey Fox Indiana University, US

Outline Introduction and Background – MapReduce – Iterative MapReduce – Distributed Workflow Management Systems Hybrid MapReduce (HyMR) – Architecture – Implementation – Use case Experiments – Performance – Scaleup – Fault tolerance Conclusions

MapReduce Worker fork Master assign map assign reduce read local write remote read, sort Output File 0 Output File 1 write Split 0 Split 1 Split 2 Input Data Map Reduce Mapper: read input data, emit key/value pairs Reducer: accept a key and all the values belongs to that key, emits final output User Program Introduced by Google Hadoop is an open source MapReduce framework

Iterative MapReduce(Twister) Iterative applications: K-means, EM An extension to MapReduce Long-running mappers and reducers. Use data streaming instead of file I/O Keep static data in memory Use broadcast to send out updated data to all mappers Use a pub/sub messaging infrastructure Naturally support parallel iterative applications efficiently

Workflow Systems Traditional Workflow Systems – Focused on dynamic resource allocation – Pegasus, Kepler, Taverna MapReduce Workflow Systems – Oozie Apache Project Use XML to describe workflows – MRGIS Focus on GIS applications – CloudWF Optimized for usage in Cloud – All based on Hadoop

Why Hybrid? MapReduce – Lack of the support of parallel iterative applications – High overhead on iterative application execution – Strong fault tolerance support – File system support Iterative MapReduce – No file system support, the data are saved in local disk or NFS – Weak fault tolerance support – Efficient iterative application execution

HyMR Architecture Concrete model – Use PBS/TORQUE for resource allocation – Focused on efficient workflow execution after resource is allocated User Interface – WF definition in Script/XML Instance Controller – WF model: DAG – Manage workflow execution – Job status checker – Status updates in XML

Job and Runtime Controller Job Controller – Manage job execution – Single Node Job: File Distributor, File Partitioner – Multi-Node Job: MapReduce Job, Iterative MapReduce Job – Twister Fault Checker: Detect faults and notify Instance Controller Runtime Controller – Runtime Configuration: save the user from complicate Hadoop and Twister configuration and start the runtime automatically – Persistent Runtime: reduce time cost of restarting runtimes once a job is finished – Support Hadoop and Twister

File System Support in Twister Add HDFS support for Twister – Before: explicit data staging phase – After: implicit data staging as same as Hadoop

A Bioinfo Data Visualization Pipeline Input: FASTA File Output: A coordinates file contains the mapping result from dimension reduction 3 main components: – Pairwise Sequence alignment: reads FASTA file, generates dissimilarity matrix – Multidimensional Scaling(MDS): reads dissimilarity matrix, generates coordinates file – Interpolation: reads FASTA file and coordinates file, generates final result … >SRR CTGGCACGT… >SRR CTGGCACGT… >SRR CTGGCACGG… …

Twister-Pipeline Hadoop does not directly support MDS (iterative application). Incur high overhead All of the data staging are explicitly considered as a job

Hybrid-Pipeline In HyMR pipeline, distributed data are stored in HDFS. No explicit data staging is needed as partitioned data are write into and read from HDFS directly.

Pairwise Sequence Alignment Input Sample Fasta Partition 1 Input Sample FastaPartition 2 … Input Sample Fasta Partition n M M M R R Map Reduce Dissimilarity Matrix Partition 1 Dissimilarity Matrix Partition 2 … Dissimilarity Matrix Partition n … … Block (0,0) Block (0,1) Block (0,n-1) Block (1,0) Block (1,1) Block (n-1, 0) Block (n-1, 1) Block (n-1,n-1) Block (2,0) Block (2,2) Block (1,2) Block (2,1) Block (0,2) Block (1,n-1) Block (2,n-1) Block (0,0) Block (0,1) Block (n,0) … Block (n-1,n-1) Used for generating all-pair dissimilarity matrix Use Smith-Waterman as alignment algorithm Improve task granularity to reduce scheduling overhead Sample Data File I/O Network Communication …

Multidimensional Scaling (MDS) Input Dissimilarity Matrix Partition 1 Input Dissimilarity Matrix Partition 2 … Input Dissimilarity Matrix Partition n M M M R C Map Reduce Sample Data File I/OSample Label File I/O Network Communication M M M R Map Reduce C Sample Coordinates … … Parallelized SMACOF Algorithm Stress Calculation Scaling by Majorizing a Complicated Function (SMACOF) Two MapReduce Job in one iteration

MDS Interpolation Input Sample Fasta Input Out-Sample Fasta Partition 1 Input Out-Sample Fasta Partition 2 … Input Out-Sample Fasta Partition n M M M Input Sample Coordinates R R C Map Reduce Final Output Sample Data File I/O Out-Sample Data File I/O Network Communication … … SMACOF use O(N 2 ) memory, which limits its applicability on large collection of data Interpolate out-sample sequences into target dimension space by giving k nearest neighbor sample sequences’ mapping result

Experiment Setup PolarGrid cluster in Indiana University (8 cores per machine) 16S rRNA data from the NCBI database. Num. of sequences: from 6144 to Sample set and out-sample set: 50 – 50 Node/Core number from 32/256 to 128/1024

Performance Comparison Tested on 96 nodes, 768 cores Differences increases when data size is larger Write/read files to/from HDFS directly Runtime starts take longer time Execution includes read/write I/O, which is higher than local disk

Detail Time Analysis Twister-pipeline – Data Staging time is longer when data size increases – Less runtime start/stop time Hybrid-pipeline – Data Staging time is fixed due to map task number is fixed – Longer execution time

Scale-up Test Hybrid-pipeline performs better when # of node increases – Data distribution overhead from Twister increases – Scheduling overhead for Hadoop increases, but not much For pure computation time: Twister-pipeline performs slightly better since all the files are in local disk when jobs are run

Fault Tolerance Test Fault tolerance, kill 1/10 nodes manually at different time during execution 10% and 25% are at PSA; 40% is at MDS; 55%, 70% and 85% are at Interpolation If the node is killed when using Hadoop runtime, the tasks will be rescheduled immediately; Otherwise HyMR will restart the job

Conclusions First hybrid workflow system based on MapReduce and iterative MapReduce runtimes Support iterative parallel application efficiently Fault tolerance and HDFS support added for Twister

Questions?

Supplement

Other iterative MapReduce runtimes HaloopSparkPregel Extension based on HadoopIterative MapReduce by keeping long running mappers and reducers Large scale iterative graphic processing framework Task Scheduler keeps data locality for mappers and reducers Input and output are cached on local disks to reduce I/O cost between iterations Build on Nexus, a cluster manger keep long running executor on each node. Static data are cached in memory between iterations. Use long living workers to keep the updated vertices between Super Steps. Vertices update their status during each Super Step. Use aggregator for global coordinates. Fault tolerance same as Hadoop. Reconstruct cache to the worker assigned with failed worker’s partition. Use Resilient Distributed Dataset to ensure the fault tolerance Keep check point through each Super Step. If one worker fail, all the other work will need to reverse.

Different Runtimes Comparison NameIterativeFault Tolerance File System SchedulingHigher level language CachingWorker Unit Environment GoogleNoStrongGFSDynamicSawzall--ProcessC++ HadoopNoStrongHDFSDynamicPig--ProcessJava TwisterYesWeak--Static--MemoryThreadJava HaloopYesStrongHDFSDynamic--DiskProcessJava SparkYesWeakHDFSStaticScalaMemoryThreadJava PregelYesWeakGFSStatic--MemoryProcessC++