Scalable Distributed Stream System Mitch Cherniack, Hari Balakrishnan, Magdalena Balazinska, Don Carney, Uğur Çetintemel, Ying Xing, and Stan Zdonik Proceedings.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Load Management and High Availability in Borealis Magdalena Balazinska, Jeong-Hyon Hwang, and the Borealis team MIT, Brown University, and Brandeis University.
Distributed Processing, Client/Server and Clusters
Database Architectures and the Web
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
IPv6 Multihoming Support in the Mobile Internet Presented by Paul Swenson CMSC 681, Fall 2007 Article by M. Bagnulo et. al. and published in the October.
The Design of the Borealis Stream Processing Engine Daniel J. Abadi1, Yanif Ahmad2, Magdalena Balazinska1, Ug ̆ur C ̧ etintemel2, Mitch Cherniack3, Jeong-Hyon.
CCNA – Network Fundamentals
CLive Cloud-Assisted P2P Live Streaming
Distributed Multimedia Systems
University of Cincinnati1 Towards A Content-Based Aggregation Network By Shagun Kakkar May 29, 2002.
A Dependable Auction System: Architecture and an Implementation Framework
Design and Implementation of a Middleware for Sentient Spaces Bijit Hore, Hojjat Jafarpour, Ramesh Jain, Shengyue Ji, Daniel Massaguer Sharad Mehrotra,
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Dissemination protocols for large sensor networks Fan Ye, Haiyun Luo, Songwu Lu and Lixia Zhang Department of Computer Science UCLA Chien Kang Wu.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Freddies: DHT-Based Adaptive Query Processing via Federated Eddies Ryan Huebsch Shawn Jeffery CS Peer-to-Peer Systems 12/9/03.
Scalable Distributed Stream Processing Presented by Ming Jiang.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Monitoring Streams -- A New Class of Data Management Applications Don Carney Brown University Uğur ÇetintemelBrown University Mitch Cherniack Brandeis.
EE 4272Spring, 2003 Protocols & Architecture A Protocol Architecture is the layered structure of hardware & software that supports the exchange of data.
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Distributed Databases
Sensor Networks Storage Sanket Totala Sudarshan Jagannathan.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Database Design – Lecture 16
GeoGrid: A scalable Location Service Network Authors: J.Zhang, G.Zhang, L.Liu Georgia Institute of Technology presented by Olga Weiss Com S 587x, Fall.
Providing Resiliency to Load Variations in Distributed Stream Processing Ying Xing, Jeong-Hyon Hwang, Ugur Cetintemel, Stan Zdonik Brown University.
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
Software Architecture Framework for Ubiquitous Computing Divya ChanneGowda Athrey Joshi.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
1 Adapted from Pearson Prentice Hall Adapted form James A. Senn’s Information Technology, 3 rd Edition Chapter 7 Enterprise Databases and Data Warehouses.
A new model and architecture for data stream management.
Pregel: A System for Large-Scale Graph Processing Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Integrating Scale Out and Fault Tolerance in Stream Processing using Operator State Management Author: Raul Castro Fernandez, Matteo Migliavacca, et al.
1 Detecting and Reducing Partition Nodes in Limited-routing-hop Overlay Networks Zhenhua Li and Guihai Chen State Key Laboratory for Novel Software Technology.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Distributed DBMSs- Concept and Design Jing Luo CS 157B Dr. Lee Fall, 2003.
A Collaborative Framework for Scientific Data Analysis and Visualization Jaliya Ekanayake, Shrideep Pallickara, and Geoffrey Fox Department of Computer.
What is SAM-Grid? Job Handling Data Handling Monitoring and Information.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
Accommodating Bursts in Distributed Stream Processing Systems Yannis Drougas, ESRI Vana Kalogeraki, AUEB
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
A new model and architecture for data stream management.
Tufts Wireless Laboratory School Of Engineering Tufts University Paper Review “An Energy Efficient Multipath Routing Protocol for Wireless Sensor Networks”,
Aurora: a new model and architecture for data stream management Daniel J. Abadi 1, Don Carney 2, Ugur Cetintemel 2, Mitch Cherniack 1, Christian Convey.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
1 Querying the Physical World Son, In Keun Lim, Yong Hun.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
By Nitin Bahadur Gokul Nadathur Department of Computer Sciences University of Wisconsin-Madison Spring 2000.
REED : Robust, Efficient Filtering and Event Detection in Sensor Network Daniel J. Abadi, Samuel Madden, Wolfgang Lindner Proceedings of the 31st VLDB.
Distributed File System. Outline Basic Concepts Current project Hadoop Distributed File System Future work Reference.
1 Chapter 22 Distributed DBMSs - Concepts and Design Simplified Transparencies © Pearson Education Limited 1995, 2005.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
S. Sudarshan CS632 Course, Mar 2004 IIT Bombay
Magdalena Balazinska, Hari Balakrishnan, and David Karger
MIT – Laboratory for Computer Science
Applying Control Theory to Stream Processing Systems
Peer-to-peer networking
PREGEL Data Management in the Cloud
Database System Implementation CSE 507
Presenter Kyungho Jeon 11/17/2018.
Streaming Sensor Data Fjord / Sensor Proxy Multiquery Eddy
Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing Zaharia, et al (2012)
The Gamma Database Machine Project
Presentation transcript:

Scalable Distributed Stream System Mitch Cherniack, Hari Balakrishnan, Magdalena Balazinska, Don Carney, Uğur Çetintemel, Ying Xing, and Stan Zdonik Proceedings of the 2003 Conference on Innovative Data Systems Research

Outline  Memo on stream-based applications  Description of Aurora  Architectures of Aurora* and Medusa  Scalable Communications Infrastructure  Load Management  High Availability  Conclusion

Introduction  For these stream-based applications, data are pushed to a system that must evaluate queries in response to detected events.  Many stream-based applications are naturally distributed computing devices with heterogeneous capabilities.

Aurora: A Centralized Stream Processor  System Model

Aurora: A Centralized Stream Processor  Query Model Queries are built from a standard set of well-defined operators (boxes).boxes Each operator accept input streams (in arrows), and produce more output streams (out arrows)in arrowsout arrows

Aurora: A Centralized Stream Processor  Query Model A subset of defined operators in Aurora  Filter  Union  WSort  Tumble  Map  XSection, Slide  Join  Resample

A Sample Operation  Tumble takes an input aggregate function and a set of input groupby attributes. aggregate function: Average of B groupby: A  Emitted tuples (A = 1, Result = 2.5) (A = 2, Result = 3.0)

Aurora: A Centralized Stream Processor  Run-time Operation The heart of the system is the Scheduler that determines which box to run. Storage Manager is used when buffer runs out. QoS Monitor drives the Scheduler in its decision making and also informs the Load Shedder when to discard tuples.

Aurora: A Centralized Stream Processor  When load shedding is not working, Aurora will try to reoptimize the network using standard query optimization techniques. Ex. Operator commutativity.

Distributed System Architecture  Collaboration between distinct administrative domains is important. Everybody contributes a modest amount of computing, communication and storage resources and helps improve fault- tolerance against attacks. Many services inherently process data from different autonomous domains and compose them.

Distributed System Architecture  Intra-participant distribution Small scale One administrative domain Aurora*  Inter-participant distribution Large scale More than one administrative domain Medusa

Aurora*: Intra-participant Distribution  Aurora* consists of multiple single-node Aurora servers that belong to the same administrative domain.  Boxes can be placed on and executed at arbitrary nodes as deemed appropriate.

Aurora*: Intra-participant Distribution  When the network is first deployed, Aurora* will create a crude partitioning of boxes across a network of available nodes.  Each Aurora node will monitor its local operation, its workload and available resources. If a machine finds itself short of resources, it will consider offloading boxes to another appropriate Aurora node.

Medusa: Inter-participant Federated Operation  Medusa is a distributed infrastructure that provides service delivery among autonomous participants.  Participants range in scale from collections of stream processing nodes capable of running Aurora and providing part of the global service, to PCs or PDAs that allow user access to the system, to networks of sensors and their proxies that provide input streams.

Medusa: Inter-participant Federated Operation  Medusa is an agoric system, using economic principles to regulate participant collaborations and solve the hard problems concerning load management and sharing.  Medusa uses a market mechanism with an underlying currency (“dollars”) that backs these contracts.  The receiving participant pays the sender for a stream. The receiver performs query- processing services on the message stream that increases its value. The receiver can sell the resulting stream for a higher price than it paid and make money.

Medusa: Inter-participant Federated Operation  Some Medusa participants are purely stream sources, and are paid for their data, while other participants are strictly stream sinks, and must pay for these streams. Others act both as sources and sinks. They are assumed to operate as profit-making entities.

Scalable Communications Infrastructure  The infrastructure must Include a naming scheme for participants and query operators, and a method for discovering where any portion of a query plan is currently running and what operators are currently in place route messages between participants and nodes multiplex messages on to transport-layer streams between participants and nodes enable stream processing to be distributed and moved across nodes

Naming and Discovery  Single global namespace  Each participant has a unique global name  New operator, schema, stream: within namespace (participant, entity-name)  The Catalog (either centralized or distributed) holds information of each entity.  Within a participant, the catalog contains definitions of operators, schemas, streams, queries, and contracts.

Routing  When a data source produces events, it labels them with a stream name and sends them to one of the nodes in the overlay network.  Upon receiving these events, the node consults the intra-participant catalog and forwards events to the appropriate locations.

Message Transport  All the message streams are multiplexed on to a single TCP connection and have a message scheduler that determines which message stream gets to use the connection at any time.

Remote Definition  A participant instantiates and composes operators from a pre-defined set offered by another participant to mimic box sliding.

Load management  On every node that runs a piece of Aurora network, a query optimizer/load share daemon will run periodically in the background.

Load Management  Box sliding Upstream: low selectivity Downstream: selectivity>1

Load Management  Box splitting

Load Management  Box Splitting Tumble(cnt, Groupby A)  (A = 1, result = 2)  (A = 2, result = 3) B<3  #1 (A = 1, result = 2) (A = 2, result = 2)  #2 (A = 2, result = 1)

Box Splitting

Load Management  Key repartitioning challenges Initiation of load sharing Choosing what to offload Choosing filter predicates for box splitting Choosing what to split Handling connection points

Ensuring Availability  Availability may suffer from Server and communication failures Sustained congestion levels Software failures  Each server can effectively act as a back-up for its downstream servers.  A tradeoff between the recovery time and the volume of checkpoint messages required to provide safety are enabled.

Ensuring Availability  k-safe: if the failure of any k servers does not result in any message losses.  An upstream backup server simply holds on to a tuple it has processed until its primary server tells it to discard the tuple.

Ensuring Availability  Flow message: Each data source creates and sends flow messages into the system. A box processes a flow message by first recording the sequence number of the earliest tuple that it currently depends on, and the passing it forward.  When the flow message reaches a server boundary, these sequence values are recorded as checkpoints and are sent through a back channel to the upstream servers.

Ensuring Availability  Install an array of sequence numbers on each server, one for each upstream server. On each box’s activation, the box records in this array the earliest tuples on which it depends.  The upstream servers can then query this array periodically and truncate their queues accordingly.

Conclusion  Aurora* is a distributed version of Aurora, which assumes a common administrative domain.  Medusa is an infrastructure supporting federated operation of Aurora nodes across administrative boundaries.  Scalable communication infrastructure, adaptive load management and high availability are discussed in both domain.

The scheduler also determines how many tuples could be waiting in front of a given box to process and how far to push them toward the output. (train scheduling)