HERON.

Slides:



Advertisements
Similar presentations
How We Manage SaaS Infrastructure Knowledge Track
Advertisements

Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
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.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
The Google File System. Why? Google has lots of data –Cannot fit in traditional file system –Spans hundreds (thousands) of servers connected to (tens.
Software Testing and Quality Assurance
Threads - Definition - Advantages using Threads - User and Kernel Threads - Multithreading Models - Java and Solaris Threads - Examples - Definition -
Threads CSCI 444/544 Operating Systems Fall 2008.
CprE 458/558: Real-Time Systems
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Database System Architectures  Client-server Database System  Parallel Database System  Distributed Database System Wei Jiang.
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services by, Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
MapReduce. Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture emerging: – Cluster of.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Company LOGO An Introduction of JStorm
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
 Apache Airavata Architecture Overview Shameera Rathnayaka Graduate Assistant Science Gateways Group Indiana University 07/27/2015.
Operating System Principles And Multitasking
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
Very Large Scale Stream Processing inside Alibaba Alibaba.
Oracle Architecture - Structure. Oracle Architecture - Structure The Oracle Server architecture 1. Structures are well-defined objects that store the.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
FTOP: A library for fault tolerance in a cluster R. Badrinath Rakesh Gupta Nisheeth Shrivastava.
강호영 Contents Storm introduction – Storm Architecture – Concepts of Storm – Operation Modes : Local Mode vs. Remote(Cluster) Mode.
ZOOKEEPER. CONTENTS ZooKeeper Overview ZooKeeper Basics ZooKeeper Architecture Getting Started with ZooKeeper.
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.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
BIG DATA/ Hadoop Interview Questions.
Heron: a stream data processing engine
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
E-Storm: Replication-based State Management in Distributed Stream Processing Systems Xunyun Liu, Aaron Harwood, Shanika Karunasekera, Benjamin Rubinstein.
Presented by: Daniel Taylor
Introduction to Distributed Platforms
Operating Systems : Overview
Original Slides by Nathan Twitter Shyam Nutanix
Operating systems - Processes
Apache Hadoop YARN: Yet Another Resource Manager
Real-time Software Design
The Scheduling Strategy and Experience of IHEP HTCondor Cluster
Replication Middleware for Cloud Based Storage Service
Boyang Peng, Le Xu, Indranil Gupta
湖南大学-信息科学与工程学院-计算机与科学系
Commit Protocols CS60002: Distributed Systems
CS703 - Advanced Operating Systems
Operating systems - Processes
Operating Systems : Overview
Software models - Software Architecture Design Patterns
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Multithreaded Programming
From Rivulets to Rivers: Elastic Stream Processing in Heron
Prof. Leonardo Mostarda University of Camerino
Operating System Introduction.
THE GOOGLE FILE SYSTEM.
by Mikael Bjerga & Arne Lange
Foundations and Definitions
Presentation transcript:

HERON

Motivation Real time stream processing Storm has drawbacks: Scalability Debug-ability Performance Easy to manage Compatible with Storm’s current API

1.1 Strom worker architechture: limitations Multi-level scheduling -> Uncertainty of which tasks are being scheduled. Impossible to isolate resource usage -> Difficult to reason the behavior and performance. Multiple tasks’ logs are written into the same file -> Difficult to identify errors and exceptions. -> 1 unhandled exception in a task takes down the entire worker -> low performance

1.1 Strom worker architechture: limitations Storm assumes workers are homogeneous i.e. Over-provisionning -> Low utilization of resources. -> High allocation -> heap dump becomes awkward -> miss sending heartbeat signals Prevent heap dump -> debugging becomes difficult. Uses several threads to move data between tasks and workers Totally 4 threads for each tuple to go through -> overhead and queue contention.

1.2 Nimbus: (schedule, monitor, distribute jars) overloaded Workers belong to different topologies run on the same machine Interfere with each other Dedicate entire machines to 1 topology ? Utilization Uses Zookeeper extensively to manage heartbeats Zookeeper becomes the bottleneck. Another daemon to manage heartbeats? More burden. Nimbus fails: not able to submit topologies nor kill Topologies undergo failures cannot be detected.

1.3 Storm: Lack of backpressure Fail-fast-> unpredictable behaviors. 1.4 Storm: Lack of efficiency in production Replay entire tuple tree Long garbage collection cycles Queue contention

2. Design alternatives Storm is fundamentally ill-implemented. Other systems are not compatible with the Storm API.

3.1 Heron data model and API Topologies At most once / at least once semantics.

3.2 Heron Architecture Aurora as the scheduler.

3.2 Heron Architecture Aurora as the scheduler. Allocate and schedule containers HI (spout/bolt) 1 JVM/ Heron Instance Each topology is run as an Aurora job consisting of several containers, as shown in Figure 4. The first container runs a process called the Topology Master. The remaining containers each run a Stream Manager, a Metrics Manager, and a number of HI

Topology Master is responsible for managing the topology. Gateway for topology metrics Not involved in data processing, no bottleneck

Stream manager Manage the routing of tuples Send/ receive tuples from local HIs Local HIs are short circuited

3.2 Spout Backpressure SM realizes HIs are slowing down -> identifies its local spouts and stops reading data from them -> spout’s send get filled up -> eventually block. The affected SM sends a special start backpressure message to other SMs. Other SMs oblige by not reading tuples from their local spouts. Once the slow HI catches up, the local SM sends stop backpressure messages to other SMs and start consuming data from their local spouts again.

3.2 Spout Backpressure Implementation Buffer with high-low water mark.

3.3 Heron Instance 2-threaded approach data-in queue exceeds bound -> backpressure mechanism at the local SM. data-out queue exceed the bound -> task Execution thread should not emit or execute any more tuples. A Task thread also collects metrics and sends to Gateway. Avoid big GC issues: periodically check data queue capacities and reduce capacity or grow.

Metrics manager Collects metrics from Stream Manager and HI Send metrics to TM and Monitoring System

3.4 Start up sequence and failure scenarios Aurora allocates resources and schedule topology containers. TM comes up first Stream managers consults ZK to discover TM. Assign components to containers. (Physical plan) Meanwhile HI comes up and discover their SM. TM write physical plan to ZK

3.4 Start up sequence and failure scenarios TM dies, recover from ZK. SM rediscover TM. SM dies, restarted on the same container and rediscover TM. Other SMs get a new copy of physical plan and connect HI dies Restart and gets a copy of physical plan from SM. Container rescheduled / relocated New SM discovers the TM and follows steps above.

3.4 Architecture SUmmary Provisioning of resources is cleanly abstracted from cluster manager. HI makes it easy to debug Transparent monitoring on a topology Avoid over provisioning TMs make topologies independent of another Back pressure leads to a consistent rate of delivering results. No single point of failure.

Heron Tracker Heron UI Heron Viz Connects to ZK and discover TM to obtain metrics Heron UI Interact with topologies. Logical plan, physical plan, logs. Heron Viz Contacts Heron Tracker

5. Evaluation