NOVA University of Lisbon

Slides:



Advertisements
Similar presentations
MapReduce Online Tyson Condie UC Berkeley Slides by Kaixiang MO
Advertisements

U of Houston – Clear Lake
Efficient Event-based Resource Discovery Wei Yan*, Songlin Hu*, Vinod Muthusamy +, Hans-Arno Jacobsen +, Li Zha* * Chinese Academy of Sciences, Beijing.
MapReduce.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
EHarmony in Cloud Subtitle Brian Ko. eHarmony Online subscription-based matchmaking service Available in United States, Canada, Australia and United Kingdom.
Di Yang, Elke A. Rundensteiner and Matthew O. Ward Worcester Polytechnic Institute VLDB 2009, Lyon, France 1 A Shared Execution Strategy for Multiple Pattern.
Algorithms + L. Grewe.
Data-Intensive Computing with MapReduce/Pig Pramod Bhatotia MPI-SWS Distributed Systems – Winter Semester 2014.
Discretized Streams Fault-Tolerant Streaming Computation at Scale Matei Zaharia, Tathagata Das (TD), Haoyuan (HY) Li, Timothy Hunter, Scott Shenker, Ion.
1 Failure Recovery for Priority Progress Multicast Jung-Rung Han Supervisor: Charles Krasic.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Advanced Topics NP-complete reports. Continue on NP, parallelism.
NOVA: CONTINUOUS PIG/HADOOP WORKFLOWS. storage & processing scalable file system e.g. HDFS distributed sorting & hashing e.g. Map-Reduce dataflow programming.
Ex-MATE: Data-Intensive Computing with Large Reduction Objects and Its Application to Graph Mining Wei Jiang and Gagan Agrawal.
Introduction to Hadoop and HDFS
Integrating Scale Out and Fault Tolerance in Stream Processing using Operator State Management Author: Raul Castro Fernandez, Matteo Migliavacca, et al.
1 Efficient Trie Braiding in Scalable Virtual Routers Author: Haoyu Song, Murali Kodialam, Fang Hao, T.V. Lakshman Publisher: IEEE/ACM TRANSACTIONS ON.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
Resilient Distributed Datasets: A Fault- Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Page 1 A Platform for Scalable One-pass Analytics using MapReduce Boduo Li, E. Mazur, Y. Diao, A. McGregor, P. Shenoy SIGMOD 2011 IDS Fall Seminar 2011.
Load Rebalancing for Distributed File Systems in Clouds.
Next Generation of Apache Hadoop MapReduce Owen
Spark System Background Matei Zaharia  [June HotCloud ]  Spark: Cluster Computing with Working Sets  [April NSDI.
Beyond Hadoop The leading open source system for processing big data continues to evolve, but new approaches with added features are on the rise. Ibrahim.
IThreads A Threading Library for Parallel Incremental Computation Pramod Bhatotia Pedro Fonseca, Björn Brandenburg (MPI-SWS) Umut Acar (CMU) Rodrigo Rodrigues.
Online Parameter Optimization for Elastic Data Stream Processing Thomas Heinze, Lars Roediger, Yuanzhen Ji, Zbigniew Jerzak (SAP SE) Andreas Meister (University.
IncApprox The marriage of incremental and approximate computing Pramod Bhatotia Dhanya Krishnan, Do Le Quoc, Christof Fetzer, Rodrigo Rodrigues* (TU Dresden.
Resilient Distributed Datasets A Fault-Tolerant Abstraction for In-Memory Cluster Computing Matei Zaharia, Mosharaf Chowdhury, Tathagata Das, Ankur Dave,
Incremental Parallel and Distributed Systems Pramod Bhatotia MPI-SWS & Saarland University April 2015.
Slider Incremental Sliding Window Analytics Pramod Bhatotia MPI-SWS Umut Acar CMU Flavio Junqueira MSR Cambridge Rodrigo Rodrigues NOVA University of Lisbon.
MapReduce MapReduce is one of the most popular distributed programming models Model has two phases: Map Phase: Distributed processing based on key, value.
Computer Architecture: Parallel Task Assignment
Data Management with Google File System Pramod Bhatotia wp. mpi-sws
Record Storage, File Organization, and Indexes
Distributed Programming in “Big Data” Systems Pramod Bhatotia wp
Curator: Self-Managing Storage for Enterprise Clusters
A Study of Group-Tree Matching in Large Scale Group Communications
Dynamic Graph Partitioning Algorithm
Map Reduce.
Extra: B+ Trees CS1: Java Programming Colorado State University
Apache Spark Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing Aditya Waghaye October 3, 2016 CS848 – University.
Liang Chen Advisor: Gagan Agrawal Computer Science & Engineering
Counter propagation network (CPN) (§ 5.3)
StreamApprox Approximate Stream Analytics in Apache Flink
Phillipa Gill University of Toronto
StreamApprox Approximate Stream Analytics in Apache Spark
StreamApprox Approximate Computing for Stream Analytics
TimeTrader: Exploiting Latency Tail to Save Datacenter Energy for Online Search Balajee Vamanan, Hamza Bin Sohail, Jahangir Hasan, and T. N. Vijaykumar.
Ananth I. Sundararaj Ashish Gupta Peter A. Dinda Prescience Lab
Efficient Document Analytics on Compressed Data: Method, Challenges, Algorithms, Insights Feng Zhang †⋄, Jidong Zhai ⋄, Xipeng Shen #, Onur Mutlu ⋆, Wenguang.
Parallel Analytic Systems
What's New in eCognition 9
Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing Zaharia, et al (2012)
Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs
Peng Jiang, Linchuan Chen, and Gagan Agrawal
Pramod Bhatotia, Ruichuan Chen, Myungjin Lee
Chi: A Scalable & Programmable Control Plane for Distributed Stream Processing Luo Mai, Kai Zeng, Rahul Potharaju, Le Xu, Steve Suh, Shivaram Venkataraman,
Resource Allocation in a Middleware for Streaming Data
DryadInc: Reusing work in large-scale computations
Indexing, Access and Database System Architecture
What's New in eCognition 9
MapReduce: Simplified Data Processing on Large Clusters
Modeling IDS using hybrid intelligent systems
What's New in eCognition 9
EdgeWise: A Better Stream Processing Engine for the Edge
Supporting Online Analytics with User-Defined Estimation and Early Termination in a MapReduce-Like Framework Yi Wang, Linchuan Chen, Gagan Agrawal The.
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

NOVA University of Lisbon Slider Incremental Sliding Window Analytics Pramod Bhatotia bhatotia@mpi-sws.org MPI-SWS Umut Acar CMU Flavio Junqueira MSR Cambridge Rodrigo Rodrigues NOVA University of Lisbon Hadoop Summit 2015

Data analytics systems Spark Naiad Storm S4 Hadoop Raw data Data analytics system Information E.g. Web-crawl E.g. computing PageRank E.g. search

Incremental sliding window analytics for data stream System goals Streaming data Incremental updates Recent trends Sliding window + Incremental sliding window analytics for data stream

State-of-the-art: Stream processing Batch# n Batch# 1 Batch# 2 …….. mutable state node 1 node 3 input records node 2 Classification based on programming model M R Output Input Single batch Trigger-based systems Batch-based systems E.g. Storm, S4, Naiad E.g. D-Streams

Trade-offs for incremental updates Trigger-based systems Batch-based systems (require dynamic algorithms) (re-compute from scratch) (+) efficient (-) hard to design (-) inefficient (+) easy to design Slider

Goals Retain the advantages/simplicity of batch-based approach Achieve the efficiency of incremental processing for sliding window analytics

Outline Motivation Basic design Slider design Evaluation

Our approach Take an unmodified data-parallel application written assuming unchanging data Automatically adapt it for incremental sliding window analytics

Behind the scenes We follow this high-level approach for Step#1 divide Step#2 build Step #3 perform computation sub-computations dependence graph change propagation We follow this high-level approach for batch-based stream processing

Batch-based sliding window analytics Stream .….. M Step#1: Divide the computation Map & Reduce tasks Step#2: Build the dependence graph Data-flow graph of MapReduce R

Step#3: Change propagation B5 added removed window B4 B3 B2 B1 … Stream M5 M1 M1 M2 M3 M4 M5 Replace Reduce tasks with contraction trees Contraction tree # 3 tree # 1 tree # 2 R1 R2 R3

Outline Motivation Basic design Slider design Evaluation Contraction tree Self-adjusting contraction tree Split processing Evaluation

Contraction tree What: Breaks down the work done by a Reduce task to allow fine-grained change propagation How: Leverages Combiners at the Reducer site

“Zoom IN” with a single Reducer removed added window B1 B2 B3 B4 B5 Stream M1 M2 M3 M4 M1 M5 Contraction tree Replace R

Example of contraction tree Reduce task Tree of combiners Map outputs

“Zoom IN” with a single Reducer removed added window B1 B2 B3 B4 B5 Stream M1 M2 M3 M4 M1 M5 Contraction tree Replace R

Basic design w/ contraction tree removed window added B1 B2 B3 B4 B5 Stream M1 M2 M3 M4 M1 M5 Path affected by M1 Path affected by M5 Pramod Bhatotia

Limitation of the contraction tree Naïve grouping of Combiner tasks may lead to sub-optimal reuse of the memoized result Self-adjusting contraction tree

Outline Motivation Basic design Slider design Evaluation Contraction tree Self-adjusting contraction tree Split processing Evaluation

Self-adjusting contraction tree The tree should have low depth (implies short path length for re-computation) Key ingredients: Balanced tree: sublinear updates w.r.t. window size Self-adjusting capability after change propagation

Self-adjusting contraction tree(s) Different modes of operation General case Fixed-width Fixed-width Append-only

Fixed-width window slides

Rotating contraction tree

Rotating contraction tree B4 Memoized results are reused Update path for bucket 4

Outline Motivation Basic design Slider design Evaluation Contraction tree Self-adjusting contraction tree Split processing Evaluation

Split processing Background pre-processing Foreground processing Change propagation

Change propagation for bucket#4 Memoized results are reused Update path for bucket 4

Split processing for bucket#4 Background pre-processing Foreground processing

Outline Motivation Basic design Slider design Evaluation

Evaluating Slider Goal: Determine how Slider works in practice What are the performance benefits? How effective is split processing? What is the overhead for the initial run? Case studies @ MPI-SWS more results in the paper

Question 1: Performance gains Speedup up to 3.8X w.r.t. basic contraction tree

Question 2: Split processing Foreground processing is faster by 30% on avg.

Question 3: Performance overheads Overheads 2% to 38% for the initial run

Case studies Online Social Networks [IMC’11] Information propagation in Twitter Networked Systems [NSDI’10] Glasnost: Detecting traffic shaping Hybrid CDNs [NSDI’12] Reliable client accounting Details in the paper of …

Information propagation in Twitter Speedup > 13X for ~5% window change

Summary Slider enables incremental sliding window analytics Transparently & efficiently Slider design includes Self-adjusting contractions trees for sub-linear updates Split processing for background pre-processing Multi-level trees for general data-flow programs (didn’t cover in the talk!)

Thanks! Incremental Sliding Window Analytics Transparent + Efficient More details in the paper published at ACM/USENIX Middleware 2014 bhatotia@mpi-sws.org