Boyang Peng, Le Xu, Indranil Gupta

Slides:



Advertisements
Similar presentations
Analysis of : Operator Scheduling in a Data Stream Manager CS561 – Advanced Database Systems By Eric Bloom.
Advertisements

MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
MapReduce.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
Project presentation by Mário Almeida Implementation of Distributed Systems KTH 1.
R2: An application-level kernel for record and replay Z. Guo, X. Wang, J. Tang, X. Liu, Z. Xu, M. Wu, M. F. Kaashoek, Z. Zhang, (MSR Asia, Tsinghua, MIT),
Give qualifications of instructors: DAP
Locality-Aware Dynamic VM Reconfiguration on MapReduce Clouds Jongse Park, Daewoo Lee, Bokyeong Kim, Jaehyuk Huh, Seungryoul Maeng.
Lecture 18-1 Lecture 17-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Hilfi Alkaff November 5, 2013 Lecture 21 Stream Processing.
Meeting Service Level Objectives of Pig Programs Zhuoyao Zhang, Ludmila Cherkasova, Abhishek Verma, Boon Thau Loo University of Pennsylvania Hewlett-Packard.
1 Large-Scale Machine Learning at Twitter Jimmy Lin and Alek Kolcz Twitter, Inc. Presented by: Yishuang Geng and Kexin Liu.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Cross-Layer Scheduling in Cloud Systems Hilfi Alkaff, Indranil Gupta, Luke Leslie Department of Computer Science University of Illinois at Urbana-Champaign.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 22: Stream Processing, Graph Processing All slides © IG.
Next Generation of Apache Hadoop MapReduce Arun C. Murthy - Hortonworks Founder and Architect Formerly Architect, MapReduce.
Cross-Layer Scheduling in Cloud Computing Systems Authors: Hilfi Alkaff, Indranil Gupta.
Real-Time Stream Processing CMSC 491 Hadoop-Based Distributed Computing Spring 2015 Adam Shook.
Berlin SPARQL Benchmark (BSBM) Presented by: Nikhil Rajguru Christian Bizer and Andreas Schultz.
A Dynamic MapReduce Scheduler for Heterogeneous Workloads Chao Tian, Haojie Zhou, Yongqiang He,Li Zha 簡報人:碩資工一甲 董耀文.
Yongzhi Wang, Jinpeng Wei VIAF: Verification-based Integrity Assurance Framework for MapReduce.
MapReduce – An overview Medha Atre (May 7, 2008) Dept of Computer Science Rensselaer Polytechnic Institute.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Scalable Multi-core Sonar Beamforming with Computational Process Networks Motivation Sonar beamforming requires significant computation and input/output.
Scale up Vs. Scale out in Cloud Storage and Graph Processing Systems
A Testbed for Study of Thermal and Energy Dynamics in Server Clusters Shen Li, Fan Yang, Tarek Abdelzaher University of Illinois at Urbana Champaign.
Next Generation of Apache Hadoop MapReduce Owen
INTRODUCTION TO HADOOP. OUTLINE  What is Hadoop  The core of Hadoop  Structure of Hadoop Distributed File System  Structure of MapReduce Framework.
Part III BigData Analysis Tools (Storm) Yuan Xue
Adaptive Online Scheduling in Storm Paper by Leonardo Aniello, Roberto Baldoni, and Leonardo Querzoni Presentation by Keshav Santhanam.
Only Aggressive Elephants are Fast Elephants Nov 11 th 2013 Database Lab. Wonseok Choi.
Stela: Enabling Stream Processing Systems to Scale-in and Scale-out On- demand Le Xu ∗, Boyang Peng†, Indranil Gupta ∗ ∗ Department of Computer Science,
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
Heron: a stream data processing engine
R-Storm: Resource Aware Scheduling in Storm
HERON.
Lecture 22: Stream Processing, Graph Processing
E-Storm: Replication-based State Management in Distributed Stream Processing Systems Xunyun Liu, Aaron Harwood, Shanika Karunasekera, Benjamin Rubinstein.
S. Sudarshan CS632 Course, Mar 2004 IIT Bombay
CSCI5570 Large Scale Data Processing Systems
Guangxiang Du*, Indranil Gupta
International Conference on Data Engineering (ICDE 2016)
Chapter 10 Data Analytics for IoT
Module 2: DriveScale architecture and components
Original Slides by Nathan Twitter Shyam Nutanix
Real-Time Processing with Apache Flume, Kafka, and Storm Kamlesh Dhawale Ankalytics
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
Modeling Stream Processing Applications for Dependability Evaluation
Abstract Major Cloud computing companies have started to integrate frameworks for parallel data processing in their product portfolio, making it easy for.
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Introduction to HDFS: Hadoop Distributed File System
Chapter 1: An Overview of Computers and Programming Languages
PA an Coordinated Memory Caching for Parallel Jobs
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
Benchmarking Modern Distributed Stream Processing Systems
dQUOB: decision-making over streaming data with SQL queries
Capital One Architecture Team and DataTorrent
MapReduce Simplied Data Processing on Large Clusters
The Basics of Apache Hadoop
湖南大学-信息科学与工程学院-计算机与科学系
CS110: Discussion about Spark
Henge: Intent-Driven Multi-Tenant Stream Processing
HPML Conference, Lyon, Sept 2018
Overview of big data tools
Lecture 22: Stream Processing, Graph Processing
Lecture 16 (Intro to MapReduce and Hadoop)
The 100 TB Sorting Competition - A Quick Review
William Stallings Computer Organization and Architecture
Cluster Computers.
Towards Predictable Datacenter Networks
Presentation transcript:

Stela: Enabling Stream Processing Systems to Scale-in and Scale-out On-demand Boyang Peng, Le Xu, Indranil Gupta University of Illinois at Urbana Champaign Distributed Protocol Research Group (DPRG)

Contributions First work to describe and implement on-demand elasticity within Storm Development of novel metric ETP Evaluation of our system on micro-benchmark applications as well as on applications used in production by Yahoo!

Data Processing Model Acyclic DAG of operators operators are stateless An instance (of an operator) is an instantiation of the operator’s processing logic and the physical entity that executes the operator’s logic

Expected Throughput Percentage the impact (percentage) that each operator has towards the application throughput Component 1 has ETP=0 Component 3 has ETP of 1000/4500=2/9 (note that component 6 is congested)

Find ETP for each operator if o.child = null then return ProcessingRateMap.get(o) //o is a sink end if SubtreeSum ← 0; for each descendant child ∈ o do if child.congested = true then continue; // if the child is congested, give up the subtree rooted at that child else SubtreeSum+ = FINDETP(child); end if end for return SubtreeSum

Stela Scale-out compute N: # of instances being added on new machines N = # of new machines * current instance count / current machine count For each instance slot: Pick component C with highest ETP Update C’s execution rate assuming new instance assigned: update all components’ ETPs

Stela Scale-in Find ETPSum for all machines Remove machine with lowest ETP Sum Round Robin schedule instances on removed machine starting with machine with lowest ETPSum

Overview of Storm Nimbus node (master node, similar to the Hadoop JobTracker): Uploads computations for execution Distributes code across the cluster Launches workers across the cluster Monitors computation and reallocates workers as needed ZooKeeper nodes – coordinates the Storm cluster Supervisor nodes – communicates with Nimbus through Zookeeper, starts and stops workers according to signals from Nimbus

Overview of Storm Five key abstractions help to understand how Storm processes data: Tuples– an ordered list of elements. For example, a “4-tuple” might be (7, 1, 3, 7) Streams – an unbounded sequence of tuples. Spouts –sources of streams in a computation (e.g. a Twitter API) Bolts – process input streams and produce output streams. They can: run functions; filter, aggregate, or join data; or talk to databases. Topologies – the overall calculation, represented visually as a network of spouts and bolts (as in the following diagram)

Implementation

Evaluation Experimental Setup (Emulab) Ubuntu 12.04 100 Mbps VLAN connecting all machines PC 3000 3 GHZ dual core processor 2 GB of memory 10,000 RPM 146 GB SCSI disks D710 2.4 GHz 64-bit Quad Core 12 GB of memory 750 GB SATA disks

Micro-benchmark Experiments

Micro-benchmark Experiments

Micro-benchmark Experiments Stela 65% better Stela 65% better Stela 45% better Stela 120% better

Yahoo Topologies

Yahoo Topologies

Convergence Time

Stela achieves 87.5% and 75% less down time Scale-in Experiments Stela achieves 87.5% and 75% less down time

Scale-in Experiments Yahoo PageLoad Topology

Summary scale-out, Stela achieves throughput that is 45-120% higher than Storm’s reduces interruption to 12.5% For scale-in, Stela performs 40-500% better

Questions?