Portable Parallel Programming on Cloud and HPC: Scientific Applications of Twister4Azure Thilina Gunarathne Bingjing Zhang, Tak-Lon.

Slides:



Advertisements
Similar presentations
MAP REDUCE PROGRAMMING Dr G Sudha Sadasivam. Map - reduce sort/merge based distributed processing Best for batch- oriented processing Sort/merge is primitive.
Advertisements

MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
SALSA HPC Group School of Informatics and Computing Indiana University.
Twister4Azure Iterative MapReduce for Windows Azure Cloud Thilina Gunarathne Indiana University Iterative MapReduce for Azure Cloud.
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.
Hybrid MapReduce Workflow Yang Ruan, Zhenhua Guo, Yuduo Zhou, Judy Qiu, Geoffrey Fox Indiana University, US.
Piccolo – Paper Discussion Big Data Reading Group 9/20/2010.
SALSASALSASALSASALSA Chemistry in the Digital Age Workshop, Penn State University, June 11, 2009 Geoffrey Fox
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.
Parallel Data Analysis from Multicore to Cloudy Grids Indiana University Geoffrey Fox, Xiaohong Qiu, Scott Beason, Seung-Hee.
MapReduce in the Clouds for Science CloudCom 2010 Nov 30 – Dec 3, 2010 Thilina Gunarathne, Tak-Lon Wu, Judy Qiu, Geoffrey Fox {tgunarat, taklwu,
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Scalable Parallel Computing on Clouds (Dissertation Proposal)
Scalable Parallel Computing on Clouds Thilina Gunarathne Advisor : Prof.Geoffrey Fox Committee : Prof.Judy Qiu,
Dimension Reduction and Visualization of Large High-Dimensional Data via Interpolation Seung-Hee Bae, Jong Youl Choi, Judy Qiu, and Geoffrey Fox School.
HPC-ABDS: The Case for an Integrating Apache Big Data Stack with HPC
Iterative computation is a kernel function to many data mining and data analysis algorithms. Missing in current MapReduce frameworks is collective communication,
Panel Session The Challenges at the Interface of Life Sciences and Cyberinfrastructure and how should we tackle them? Chris Johnson, Geoffrey Fox, Shantenu.
Applying Twister to Scientific Applications CloudCom 2010 Indianapolis, Indiana, USA Nov 30 – Dec 3, 2010.
By: Jeffrey Dean & Sanjay Ghemawat Presented by: Warunika Ranaweera Supervised by: Dr. Nalin Ranasinghe.
School of Informatics and Computing Indiana University
Science in Clouds SALSA Team salsaweb/salsa Community Grids Laboratory, Digital Science Center Pervasive Technology Institute Indiana University.
SALSASALSA Twister: A Runtime for Iterative MapReduce Jaliya Ekanayake Community Grids Laboratory, Digital Science Center Pervasive Technology Institute.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
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.
Scalable Parallel Computing on Clouds : Efficient and scalable architectures to perform pleasingly parallel, MapReduce and iterative data intensive computations.
MapReduce Kristof Bamps Wouter Deroey. Outline Problem overview MapReduce o overview o implementation o refinements o conclusion.
Community Grids Lab. Indiana University, Bloomington Seung-Hee Bae.
Computing Scientometrics in Large-Scale Academic Search Engines with MapReduce Leonidas Akritidis Panayiotis Bozanis Department of Computer & Communication.
SALSASALSASALSASALSA Clouds Ball Aerospace March Geoffrey Fox
X-Informatics MapReduce February Geoffrey Fox Associate Dean for Research.
SALSA HPC Group School of Informatics and Computing Indiana University.
Towards a Collective Layer in the Big Data Stack Thilina Gunarathne Judy Qiu
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Looking at Use Case 19, 20 Genomics 1st JTC 1 SGBD Meeting SDSC San Diego March Judy Qiu Shantenu Jha (Rutgers) Geoffrey Fox
MapReduce Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
Security: systems, clouds, models, and privacy challenges iDASH Symposium San Diego CA October Geoffrey.
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.
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.
HPC in the Cloud – Clearing the Mist or Lost in the Fog Panel at SC11 Seattle November Geoffrey Fox
Memcached Integration with Twister Saliya Ekanayake - Jerome Mitchell - Yiming Sun -
SALSASALSASALSASALSA Data Intensive Biomedical Computing Systems Statewide IT Conference October 1, 2009, Indianapolis Judy Qiu
SALSASALSA Dynamic Virtual Cluster provisioning via XCAT on iDataPlex Supports both stateful and stateless OS images iDataplex Bare-metal Nodes Linux Bare-
SALSASALSA Harp: Collective Communication on Hadoop Judy Qiu, Indiana University.
PARALLEL AND DISTRIBUTED PROGRAMMING MODELS U. Jhashuva 1 Asst. Prof Dept. of CSE om.
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
SALSA HPC Group School of Informatics and Computing Indiana University Workshop on Petascale Data Analytics: Challenges, and.
Item Based Recommender System SUPERVISED BY: DR. MANISH KUMAR BAJPAI TARUN BHATIA ( ) VAIBHAV JAISWAL( )
Implementation of Classifier Tool in Twister Magesh khanna Vadivelu Shivaraman Janakiraman.
Thilina Gunarathne, Bimalee Salpitkorala, Arun Chauhan, Geoffrey Fox
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
MapReduce and Data Intensive Applications XSEDE’12 BOF Session
Our Objectives Explore the applicability of Microsoft technologies to real world scientific domains with a focus on data intensive applications Expect.
I590 Data Science Curriculum August
Applying Twister to Scientific Applications
Data Science Curriculum March
Biology MDS and Clustering Results
Scientific Data Analytics on Cloud and HPC Platforms
Twister4Azure : Iterative MapReduce for Azure Cloud
Clouds from FutureGrid’s Perspective
MapReduce: Simplified Data Processing on Large Clusters
Presentation transcript:

Portable Parallel Programming on Cloud and HPC: Scientific Applications of Twister4Azure Thilina Gunarathne Bingjing Zhang, Tak-Lon Wu, Judy Qiu School of Informatics and Computing Indiana University, Bloomington.

Clouds for scientific computations No upfront cost Zero maintenance Horizontal scalability Compute, storage and other services Loose service guarantees Not trivial to utilize effectively 

Scalable Parallel Computing on Clouds Programming Models Scalability Performance Fault Tolerance Monitoring

Pleasingly Parallel Frameworks Map() Redu ce Results Optional Reduce Phase HDFS Input Data Set Data File Executable Classic Cloud Frameworks Map Reduce Cap3 Sequence Assembly

Map Reduce Programming Model Moving Computation to Data Scalable Fault Tolerance – Simple programming model – Excellent fault tolerance – Moving computations to data – Works very well for data intensive pleasingly parallel applications Ideal for data intensive applications

MRRoles4Azure First MapReduce framework for Azure Cloud Use highly-available and scalable Azure cloud services Hides the complexity of cloud & cloud services Co-exist with eventual consistency & high latency of cloud services Decentralized control – avoids single point of failure Azure Cloud Services Highly-available and scalable Utilize eventually-consistent, high-latency cloud services effectively Minimal maintenance and management overhead Decentralized Avoids Single Point of Failure Global queue based dynamic scheduling Dynamically scale up/down MapReduce First pure MapReduce for Azure Typical MapReduce fault tolerance

MRRoles4Azure Azure Queues for scheduling, Tables to store meta-data and monitoring data, Blobs for input/output/intermediate data storage.

MRRoles4Azure

SWG Sequence Alignment Smith-Waterman-GOTOH to calculate all-pairs dissimilarity Costs less than EMR Performance comparable to Hadoop, EMR

Data Intensive Iterative Applications Growing class of applications – Clustering, data mining, machine learning & dimension reduction applications – Driven by data deluge & emerging computation fields – Lots of scientific applications k ← 0; MAX ← maximum iterations δ [0] ← initial delta value while ( k< MAX_ITER || f(δ [k], δ [k-1] ) ) foreach datum in data β[datum] ← process (datum, δ [k] ) end foreach δ [k+1] ← combine(β[]) k ← k+1 end while k ← 0; MAX ← maximum iterations δ [0] ← initial delta value while ( k< MAX_ITER || f(δ [k], δ [k-1] ) ) foreach datum in data β[datum] ← process (datum, δ [k] ) end foreach δ [k+1] ← combine(β[]) k ← k+1 end while

Data Intensive Iterative Applications Compute CommunicationReduce/ barrier New Iteration Larger Loop- Invariant Data Smaller Loop- Variant Data Broadcast

Challenges Decentralized architecture Task granularity Huge number of tasks Cloud services Fault tolerance

Twister4Azure – Iterative MapReduce Overview Decentralized iterative MR architecture for clouds Extends the MR programming model Multi-level data caching – Cache aware hybrid scheduling Multiple MR applications per job Collective communications *new* Outperforms Hadoop in local cluster by 2 to 4 times Sustain features of MRRoles4Azure – Cloud services, dynamic scheduling, load balancing, fault tolerance, monitoring, local testing/debugging

Twister4Azure – Performance Preview KMeans Clustering BLAST sequence search Multi-Dimensional Scaling

Iterative MapReduce for Azure Cloud

Iterative MapReduce for Azure Cloud Merge step Extension to the MapReduce programming model – Map -> Combine -> Shuffle -> Sort -> Reduce -> Merge Receives Reduce outputs and the broadcast data Extension to the MapReduce programming model – Map -> Combine -> Shuffle -> Sort -> Reduce -> Merge Receives Reduce outputs and the broadcast data

Iterative MapReduce for Azure Cloud Merge step Loop variant data – Comparatively smaller Map(Key, Value, List of KeyValue-Pairs(broadcast data),…) Can be specified even for non-iterative MR jobs Loop variant data – Comparatively smaller Map(Key, Value, List of KeyValue-Pairs(broadcast data),…) Can be specified even for non-iterative MR jobs Extensions to support broadcast data

Iterative MapReduce for Azure Cloud Merge step Loop invariant data (static data) – traditional MR key-value pair – Cached between iterations Avoids the data download, loading and parsing cost Loop invariant data (static data) – traditional MR key-value pair – Cached between iterations Avoids the data download, loading and parsing cost Extensions to support broadcast data In-Memory/Disk caching of static data

Iterative MapReduce for Azure Cloud Merge step Tasks are finer grained and the intermediate data are relatively smaller than traditional map reduce computations Table or Blob storage based transport based on data size Tasks are finer grained and the intermediate data are relatively smaller than traditional map reduce computations Table or Blob storage based transport based on data size Extensions to support broadcast data In-Memory/Disk caching of static data Hybrid intermediate data transfer

Cache Aware Scheduling Map tasks need to be scheduled with cache awareness – Map task which process data ‘X’ needs to be scheduled to the worker with ‘X’ in the Cache Nobody has global view of the data products cached in workers – Decentralized architecture – Impossible to do cache aware assigning of tasks to workers Solution: workers pick tasks based on the data they have in the cache – Job Bulletin Board : advertise the new iterations

Hybrid Task Scheduling First iteration through queues New iteration in Job Bulleting Board Data in cache + Task meta data history Left over tasks

Multiple Applications per Deployment Ability to deploy multiple Map Reduce applications in a single deployment Capability to chain different MR applications in a single job, within a single iteration. – Ability to pipeline Support for many application invocations in a workflow without redeployment

KMeans Clustering Partition a given data set into disjoint clusters Each iteration – Cluster assignment step – Centroid update step

Performance with/without data caching Speedup gained using data cache Scaling speedup Increasing number of iterations Number of Executing Map Task Histogram Strong Scaling with 128M Data Points Weak Scaling Task Execution Time Histogram First iteration performs the initial data fetch Overhead between iterations Scales better than Hadoop on bare metal

Applications Bioinformatics pipeline Gene Sequences Pairwise Alignment & Distance Calculation Distance Matrix Clustering Multi- Dimensional Scaling Visualization Cluster Indices Coordinates 3D Plot O(NxN)

Metagenomics Result

X: Calculate invV (BX) Map Reduce Merge Multi-Dimensional-Scaling Many iterations Memory & Data intensive 3 Map Reduce jobs per iteration X k = invV * B(X (k-1) ) * X (k-1) 2 matrix vector multiplications termed BC and X BC: Calculate BX Map Reduce Merge Calculate Stress Map Reduce Merge New Iteration

Performance with/without data caching Speedup gained using data cache Scaling speedup Increasing number of iterations Azure Instance Type StudyNumber of Executing Map Task Histogram Weak Scaling Data Size Scaling Task Execution Time Histogram First iteration performs the initial data fetch Performance adjusted for sequential performance difference

BLAST Sequence Search BLAST Scales better than Hadoop & EC2- Classic Cloud

Current Research Collective communication primitives – All-Gather-Reduce – Sum-Reduce (aca MPI Allreduce) Exploring additional data communication and broadcasting mechanisms – Fault tolerance Twister4Cloud – Twister4Azure architecture implementations for other cloud infrastructures

Collective Communications Map 1 Map 2 Map N Map 1 Map 2 Map N Map1 δ Map2 δ ….. Map N δ App X App Y

Pipelining

Conclusions Twister4Azure – Address the challenges of scalability and fault tolerance unique to utilizing the cloud interfaces – Support multi-level caching of loop-invariant data across iterations as well as caching of any reused data – Novel hybrid cache-aware scheduling mechanism One of the first large-scale study of Azure performance for non-trivial scientific applications. Twister4Azure in VM’s outperforms Apache Hadoop in local cluster by a factor of 2 to 4 Twister4Azure exhibits performance comparable to Java HPC Twister running on a local cluster.

Acknowledgements Prof. Geoffrey C Fox for his many insights and feedbacks Present and past members of SALSA group – Indiana University. Seung-Hee Bae for many discussions on MDS National Institutes of Health grant 5 RC2 HG Microsoft Azure Grant

Questions? Thank You!