Low Latency Stream Processing: Apache Heron with Infiniband

Total Page:16

File Type:pdf, Size:1020Kb

Low Latency Stream Processing: Apache Heron with Infiniband Low latency stream processing: Apache Heron with Infiniband & Intel Omni-Path Supun Kamburugamuve Karthik Ramasamy School of Informatics, Computing, and Engineering Streaml.io Indiana University Palo Alto, CA Bloomington, IN 47408 [email protected] [email protected] Martin Swany Georey Fox School of Informatics, Computing, and Engineering School of Informatics, Computing, and Engineering Indiana University Indiana University Bloomington, IN 47408 Bloomington, IN 47408 [email protected] [email protected] ABSTRACT transmiing messages between the processing units for achieving Worldwide data production is increasing both in volume and ve- ecient data processing. locity, and with this acceleration, data needs to be processed in ere are many hardware environments in which big data sys- streaming seings as opposed to the traditional store and process tems can be deployed including High performance computing (HPC) model. Distributed streaming frameworks are designed to process clusters. HPC clusters are designed to perform large computa- such data in real time with reasonable time constraints. Apache tions with advanced processors, memory, IO systems and high Heron is a production-ready large-scale distributed stream pro- performance interconnects. High performance interconnects in cessing framework. e network is of utmost importance to scale HPC clusters feature microsecond latencies and large bandwidths. streaming applications to large numbers of nodes with a reason- anks to recent advancements in hardware, some of these high able latency. High performance computing (HPC) clusters feature performance networks have become cheaper to set up than their interconnects that can perform at higher levels than traditional Ethernet counterparts. With multi-core and many-core systems Ethernet. In this paper the authors present their ndings on inte- having large numbers of CPUs in a single node, the demand for grating Apache Heron distributed stream processing system with high performance networking is increasing as well. two high performance interconnects; Inniband and Intel Omni- Advanced hardware features such as high performance intercon- Path and show that they can be utilized to improve performance of nects are not fully utilized in the big data computing frameworks, distributed streaming applications. mostly because they are accessible to low level programming lan- guages and most big data systems are wrien on Java platform. KEYWORDS In recent years we have seen eorts to utilize high performance interconnects into big data frameworks such as Spark [24] and Streaming data, Inniband, Omni-Path, Apache Heron Hadoop [22]. Big data frameworks such as Spark and Hadoop focus on large batch data processing and hence their communication 1 INTRODUCTION requirements are dierent compared to streaming systems which With ever increasing data production by users and machines alike, are more latency sensitive. the amount of data that needs to be processed has increased dra- ere are many distributed streaming frameworks available to- matically. is must be achieved both in real time and as batches day for processing large amounts of streaming data in real time. to satisfy dierent use cases. Additionally, with the adoption of Such systems are largely designed and optimized for commodity devices into Internet of ings setups, the amount of real time data hardware and clouds. Apache Storm [29] was one of the popular are exploding, and must be processed with reasonable time con- early systems developed for processing streaming data. Apache 1 straints. In distributed stream analytics, the large data streams are Heron [19] is similar to Storm with a new architecture for stream- partitioned and processed in distributed sets of machines to keep ing data processing. It features a hybrid design with some of the up with the high volume data rates. By denition of large-scale performance-critical parts wrien in C++ and others wrien in streaming data processing, networks are a crucial component in Java. is architecture allows the integration of high performance enhancements directly rather than going through native wrappers Permission to make digital or hard copies of all or part of this work for personal or such as Java Native Interface(JNI). When these systems are de- classroom use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that copies bear this notice and the full citation ployed on clusters that include high performance interconnects, on the rst page. Copyrights for components of this work owned by others than ACM they need to use an TCP interface to high performance interconnect must be honored. Abstracting with credit is permied. To copy otherwise, or republish, which doesn’t perform as well as a native implementation. to post on servers or to redistribute to lists, requires prior specic permission and/or a fee. Request permissions from [email protected]. To utilize these hardware features, we have integrated Inniband UCC’17, December 5–8, 2017, Austin, Texas, USA and Intel Omni-Path interconnects to Apache Heron to accelerate © 2017 ACM. ISBN 978-1-4503-5149-2/17/12...$15.00 DOI: hp://dx.doi.org/10.1145/3147213.3147232 1hp://incubator.apache.org/projects/heron.html its communications. Inniband [4] is an open standard protocol for channel semantics queues are used for communication. In memory high performance interconnects that is widely used in today’s high semantics a process can read from or write directly to the memory performance clusters. Omni-Path [6] is a proprietary interconnect of a remote machine. In channel mode, two queue pairs for trans- developed by Intel and is available with the latest Knights Landing mission and receive operations are used. To transfer a message, architecture-based (KNL) [27] many-core processors. With this im- a descriptor is posted to the transfer queue, which includes the plementation, we have observed signicantly lower latencies and address of the memory buer to transfer. For receiving a message, a improved throughput in Heron. e main contribution in this work descriptor needs to be submied along with a pre-allocated receive is to showcase the benets of using high performance interconnects buer. e user program queries the completion queue associated for distributed stream processing. ere are many dierences in with a transmission or a receiving queue to determine the success hardware available for communications with dierent bandwidths, or failure of a work request. Once a message arrives, the hardware latencies and processing models. Ethernet has comparable hard- puts the message into the posted receive buer and the user pro- ware available to some of the high performance interconnects; it is gram can determine this event through the completion queue. Note not our goal to show that one particular technology is superior to that this mode requires the receiving buers to be pre-posted before others, as dierent environments may have alternate sets of these the transmission can happen successfully. technologies. With memory semantics, Remote Direct Memory Access(RDMA) e remainder of the paper is organized as follows. Section 2 operations are used. Two processes preparing to communicate presents the background information on Inniband and Omni-Path. register memory and share the details with each other. Read and Section 3 describes the Heron architecture in detail and section 4 write operations are used instead of send and receive operations. the implementation details. Next the experiments conducted are ese are one-sided and do not need any soware intervention described in sections 5 and results are presented and discussed in from the other side. If a process wishes to write to remote memory, section 6. Section 7 presents related work. e paper concludes it can post a write operation with the local addresses of the data. with a look at future work. e completion of the write operation can be detected using the completion queue associated. e receiving side is not notied 2 BACKGROUND about the write operation and has to use out-of-band mechanisms 2.1 Inniband to gure out the write. e same is true for remote reads as well. RDMA is more suitable for large message transfers while channel Inniband is one of the most widely used high performance fab- mode is suitable for small messages. In general RDMA has 1 − 2µs rics. It provides a variety of capabilities including message channel latency advantage over channel semantics for Inniband and this semantics, remote memory access and remote atomic memory op- is not signicant for our work. erations, supporting both connection-oriented and connectionless endpoints. Inniband is programmed using the Verbs API, which 2.4 Openfabrics API is available in all major platforms. e current hardware is capa- 2 ble of achieving up to 100Gbps speeds with microsecond latencies. Openfabrics provides a library called libfabric [12] that hides the Inniband does not require the OS Kernel intervention to transfer details of common high performance fabric APIs behind a uniform packets from user space to the hardware. Unlike in TCP, its proto- API. Because of the advantage of such an API, we chose to use col aspects are handled by the hardware. ese features mean less libfabric as our programming library for implementing the high CPU time spent on the network compared to TCP for transferring performance communications for Heron. Libfabric is a thin wrap- the same amount of data. Because the OS Kernel is bypassed by per API and it supports dierent providers including Verbs, Aries the communications, the memory for transferring data has to be interconnect from Cray through GNI, Intel Omni-Path, and Sockets. registered in the hardware. 2.5 TCP & High performance Interconnects 2.2 Intel Omni-Path TCP is one of the most successful protocols developed. It provides Omni-Path is a high performance fabric developed by Intel. Omni- a simple yet powerful API for transferring data reliably across the Path fabric is relatively new compared to Inniband and there are Internet using unreliable links and protocols underneath.
Recommended publications
  • Apache Flink™: Stream and Batch Processing in a Single Engine
    Apache Flink™: Stream and Batch Processing in a Single Engine Paris Carboney Stephan Ewenz Seif Haridiy Asterios Katsifodimos* Volker Markl* Kostas Tzoumasz yKTH & SICS Sweden zdata Artisans *TU Berlin & DFKI parisc,[email protected][email protected][email protected] Abstract Apache Flink1 is an open-source system for processing streaming and batch data. Flink is built on the philosophy that many classes of data processing applications, including real-time analytics, continu- ous data pipelines, historic data processing (batch), and iterative algorithms (machine learning, graph analysis) can be expressed and executed as pipelined fault-tolerant dataflows. In this paper, we present Flink’s architecture and expand on how a (seemingly diverse) set of use cases can be unified under a single execution model. 1 Introduction Data-stream processing (e.g., as exemplified by complex event processing systems) and static (batch) data pro- cessing (e.g., as exemplified by MPP databases and Hadoop) were traditionally considered as two very different types of applications. They were programmed using different programming models and APIs, and were exe- cuted by different systems (e.g., dedicated streaming systems such as Apache Storm, IBM Infosphere Streams, Microsoft StreamInsight, or Streambase versus relational databases or execution engines for Hadoop, including Apache Spark and Apache Drill). Traditionally, batch data analysis made up for the lion’s share of the use cases, data sizes, and market, while streaming data analysis mostly served specialized applications. It is becoming more and more apparent, however, that a huge number of today’s large-scale data processing use cases handle data that is, in reality, produced continuously over time.
    [Show full text]
  • Network Traffic Profiling and Anomaly Detection for Cyber Security
    Network traffic profiling and anomaly detection for cyber security Laurens D’hooge Student number: 01309688 Supervisors: Prof. dr. ir. Filip De Turck, dr. ir. Tim Wauters Counselors: Prof. dr. Bruno Volckaert, dr. ir. Tim Wauters A dissertation submitted to Ghent University in partial fulfilment of the requirements for the degree of Master of Science in Information Engineering Technology Academic year: 2017-2018 Acknowledgements This thesis is the result of 4 months work and I would like to express my gratitude towards the people who have guided me throughout this process. First and foremost I’d like to thank my thesis advisors prof. dr. Bruno Volckaert and dr. ir. Tim Wauters. By virtue of their knowledge and clear communication, I was able to maintain a clear target. Secondly I would like to thank prof. dr. ir. Filip De Turck for providing me the opportunity to conduct research in this field with the IDLab research group. Special thanks to Andres Felipe Ocampo Palacio and dr. Marleen Denert are in order as well. Mr. Ocampo’s Phd research into big data processing for network traffic and the resulting framework are an integral part of this thesis. Ms. Denert has been the go-to member of the faculty staff for general advice and administrative dealings. The final token of gratitude I’d like to extend to my family and friends for their continued support during this process. Laurens D’hooge Network traffic profiling and anomaly detection for cyber security Laurens D’hooge Supervisor(s): prof. dr. ir. Filip De Turck, dr. ir. Tim Wauters Abstract— This article is a short summary of the research findings of a creation of APT2.
    [Show full text]
  • Evaluation of SPARQL Queries on Apache Flink
    applied sciences Article SPARQL2Flink: Evaluation of SPARQL Queries on Apache Flink Oscar Ceballos 1 , Carlos Alberto Ramírez Restrepo 2 , María Constanza Pabón 2 , Andres M. Castillo 1,* and Oscar Corcho 3 1 Escuela de Ingeniería de Sistemas y Computación, Universidad del Valle, Ciudad Universitaria Meléndez Calle 13 No. 100-00, Cali 760032, Colombia; [email protected] 2 Departamento de Electrónica y Ciencias de la Computación, Pontificia Universidad Javeriana Cali, Calle 18 No. 118-250, Cali 760031, Colombia; [email protected] (C.A.R.R.); [email protected] (M.C.P.) 3 Ontology Engineering Group, Universidad Politécnica de Madrid, Campus de Montegancedo, Boadilla del Monte, 28660 Madrid, Spain; ocorcho@fi.upm.es * Correspondence: [email protected] Abstract: Existing SPARQL query engines and triple stores are continuously improved to handle more massive datasets. Several approaches have been developed in this context proposing the storage and querying of RDF data in a distributed fashion, mainly using the MapReduce Programming Model and Hadoop-based ecosystems. New trends in Big Data technologies have also emerged (e.g., Apache Spark, Apache Flink); they use distributed in-memory processing and promise to deliver higher data processing performance. In this paper, we present a formal interpretation of some PACT transformations implemented in the Apache Flink DataSet API. We use this formalization to provide a mapping to translate a SPARQL query to a Flink program. The mapping was implemented in a prototype used to determine the correctness and performance of the solution. The source code of the Citation: Ceballos, O.; Ramírez project is available in Github under the MIT license.
    [Show full text]
  • Optimizing Resource Utilization in Distributed Computing Systems For
    THESE` DE DOCTORAT DE L’ETABLISSEMENT´ UNIVERSITE´ BOURGOGNE FRANCHE-COMTE´ PREPAR´ EE´ A` L’UNIVERSITE´ DE FRANCHE-COMTE´ Ecole´ doctorale n°37 Sciences Pour l’Ingenieur´ et Microtechniques Doctorat d’Informatique par ANTHONY NASSAR Optimizing Resource Utilization in Distributed Computing Systems for Automotive Applications Optimisation de l’utilisation des ressources dans les systemes` informatiques distribues´ pour les applications automobiles These` present´ ee´ et soutenue publiquement le 04-02-2021 a` Belfort, devant le Jury compose´ de : MR CERIN CHRISTOPHE Professeur a` l’Universite´ Sorbonne Paris Nord President´ MR CHBEIR RICHARD Professeur a` l’Universite´ de Pau et des Pays de l’Adour Rapporteur MME BENBERNOU SALIMA Professeur a` l’Universite´ Paris-Descartes Rapporteur MR MOSTEFAOUI AHMED Maˆıtre de conferences´ a` l’Universite´ de Franche-Comte´ Directeur de these` MR DESSABLES FRANC¸ OIS Ingenieur´ chez Groupe PSA Codirecteur de these` DOCTORAL THESIS OF THE UNIVERSITY BOURGOGNE FRANCHE-COMTE´ INSTITUTION PREPARED AT UNIVERSITE´ DE FRANCHE-COMTE´ Doctoral school n°37 Engineering Sciences and Microtechnologies Computer Science Doctorate by ANTHONY NASSAR Optimizing Resource Utilization in Distributed Computing Systems for Automotive Applications Optimisation de l’utilisation des ressources dans les systemes` informatiques distribues´ pour les applications automobiles Thesis presented and publicly defended in Belfort, on 04-02-2021 Composition of the Jury : CERIN CHRISTOPHE Professor at Universite´ Sorbonne Paris Nord President
    [Show full text]
  • Portable Stateful Big Data Processing in Apache Beam
    Portable stateful big data processing in Apache Beam Kenneth Knowles Apache Beam PMC Software Engineer @ Google https://s.apache.org/ffsf-2017-beam-state [email protected] / @KennKnowles Flink Forward San Francisco 2017 Agenda 1. What is Apache Beam? 2. State 3. Timers 4. Example & Little Demo What is Apache Beam? TL;DR (Flink draws it more like this) 4 DAGs, DAGs, DAGs Apache Beam Apache Flink Apache Cloud Hadoop Apache Apache Dataflow Spark Samza MapReduce Apache Apache Apache (paper) Storm Gearpump Apex (incubating) FlumeJava (paper) Heron MillWheel (paper) Dataflow Model (paper) 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Apache Flink local, on-prem, The Beam Vision cloud Cloud Dataflow: Java fully managed input.apply( Apache Spark Sum.integersPerKey()) local, on-prem, cloud Sum Per Key Apache Apex Python local, on-prem, cloud input | Sum.PerKey() Apache Gearpump (incubating) ⋮ ⋮ 6 Apache Flink local, on-prem, The Beam Vision cloud Cloud Dataflow: Python fully managed input | KakaIO.read() Apache Spark local, on-prem, cloud KafkaIO Apache Apex ⋮ local, on-prem, cloud Apache Java Gearpump (incubating) class KafkaIO extends UnboundedSource { … } ⋮ 7 The Beam Model PTransform Pipeline PCollection (bounded or unbounded) 8 The Beam Model What are you computing? (read, map, reduce) Where in event time? (event time windowing) When in processing time are results produced? (triggers) How do refinements relate? (accumulation mode) 9 What are you computing? Read ParDo Grouping Composite Parallel connectors to Per element Group
    [Show full text]
  • Apache Flink Fast and Reliable Large-Scale Data Processing
    Apache Flink Fast and Reliable Large-Scale Data Processing Fabian Hueske @fhueske 1 What is Apache Flink? Distributed Data Flow Processing System • Focused on large-scale data analytics • Real-time stream and batch processing • Easy and powerful APIs (Java / Scala) • Robust execution backend 2 What is Flink good at? It‘s a general-purpose data analytics system • Real-time stream processing with flexible windows • Complex and heavy ETL jobs • Analyzing huge graphs • Machine-learning on large data sets • ... 3 Flink in the Hadoop Ecosystem Libraries Dataflow Table API Table ML Library ML Gelly Library Gelly Apache MRQL Apache SAMOA DataSet API (Java/Scala) DataStream API (Java/Scala) Flink Core Optimizer Stream Builder Runtime Environments Embedded Local Cluster Yarn Apache Tez Data HDFS Hadoop IO Apache HBase Apache Kafka Apache Flume Sources HCatalog JDBC S3 RabbitMQ ... 4 Flink in the ASF • Flink entered the ASF about one year ago – 04/2014: Incubation – 12/2014: Graduation • Strongly growing community 120 100 80 60 40 20 0 Nov.10 Apr.12 Aug.13 Dec.14 #unique git committers (w/o manual de-dup) 5 Where is Flink moving? A "use-case complete" framework to unify batch & stream processing Data Streams • Kafka Analytical Workloads • RabbitMQ • ETL • ... • Relational processing Flink • Graph analysis • Machine learning “Historic” data • Streaming data analysis • HDFS • JDBC • ... Goal: Treat batch as finite stream 6 Programming Model & APIs HOW TO USE FLINK? 7 Unified Java & Scala APIs • Fluent and mirrored APIs in Java and Scala • Table API
    [Show full text]
  • The Ubiquity of Large Graphs and Surprising Challenges of Graph Processing: Extended Survey
    The VLDB Journal https://doi.org/10.1007/s00778-019-00548-x SPECIAL ISSUE PAPER The ubiquity of large graphs and surprising challenges of graph processing: extended survey Siddhartha Sahu1 · Amine Mhedhbi1 · Semih Salihoglu1 · Jimmy Lin1 · M. Tamer Özsu1 Received: 21 January 2019 / Revised: 9 May 2019 / Accepted: 13 June 2019 © Springer-Verlag GmbH Germany, part of Springer Nature 2019 Abstract Graph processing is becoming increasingly prevalent across many application domains. In spite of this prevalence, there is little research about how graphs are actually used in practice. We performed an extensive study that consisted of an online survey of 89 users, a review of the mailing lists, source repositories, and white papers of a large suite of graph software products, and in-person interviews with 6 users and 2 developers of these products. Our online survey aimed at understanding: (i) the types of graphs users have; (ii) the graph computations users run; (iii) the types of graph software users use; and (iv) the major challenges users face when processing their graphs. We describe the participants’ responses to our questions highlighting common patterns and challenges. Based on our interviews and survey of the rest of our sources, we were able to answer some new questions that were raised by participants’ responses to our online survey and understand the specific applications that use graph data and software. Our study revealed surprising facts about graph processing in practice. In particular, real-world graphs represent a very diverse range of entities and are often very large, scalability and visualization are undeniably the most pressing challenges faced by participants, and data integration, recommendations, and fraud detection are very popular applications supported by existing graph software.
    [Show full text]
  • Introduction to the Flank Stack
    Introduction to the FLaNK Stack Timothy Spann Principal DataFlow Field Engineer Cloudera @PaasDev Tim Spann Who am I? Cloudera Principal DataFlow Field Engineer DZone Zone Leader and Big Data MVB Future of Data Meetup Leader ex-Pivotal Field Engineer https://github.com/tspannhw https://www.datainmotion.dev/ @PaasDev © 2020 Cloudera, Inc. All rights reserved. 2 Welcome to Future of Data - Princeton - Virtual https://www.meetup.com/futureofdata-princeton/ From Big Data to AI to Streaming to Containers to Cloud to Analytics to Cloud Storage to Fast Data to Machine Learning to Microservices to ... @PaasDev © 2020 Cloudera, Inc. All rights reserved. 3 Where Can I Run Edge AI Easily? Web service hosted and managed by Cloudera Flow Management Streams Messaging Streaming Analytics Hosted in the your cloud environment, but managed by the CDP Management Console Shared Data Experience (SDX) technologies form a secure and governed data lake backed by object storage (S3, ADLS, GCS) CDP services are optimized for the elastic compute & ‘always-on’ storage services provided by any cloud provider 4 Edge AI for Big Data Engineers Multiple users, frameworks, languages, devices, data sources & clusters CLOUD DATA ENGINEER CAT AI / Deep Learning / ML / DS • Experience in ETL/ELT • Expert in ETL (Eating, Ties • Can run in Apache NiFi and Laziness) • Coding skills in Python or • Can run in Kafka Streams Java • Edge Camera Interaction • Typical User • Can run in Apache Flink • Knowledge of database • No Coding Skills query languages such as • Can run in MiNiFi SQL • Can use NiFi • Can run in Cloudera • Experience with Streaming • Questions your cloud Machine Learning • Knowledge of Cloud Tools spend • Use Native ML/DL in Jetson, Movidius, Coral, TPU/GPU on Edge Devices Streaming Data Pipelines with Apache NiFi + Kafka + Flink © 2020 Cloudera, Inc.
    [Show full text]
  • Evaluating the Impact of Streaming Systems Design on Application Performance Alessio Pagliari
    Evaluating the impact of streaming systems design on application performance Alessio Pagliari To cite this version: Alessio Pagliari. Evaluating the impact of streaming systems design on application performance. Data Structures and Algorithms [cs.DS]. Université Côte d’Azur, 2021. English. NNT : 2021COAZ4011. tel-03273377 HAL Id: tel-03273377 https://tel.archives-ouvertes.fr/tel-03273377 Submitted on 29 Jun 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE DE DOCTORAT Évaluer l'impact de la conception des systèmes de streaming sur la performance des applications Alessio PAGLIARI Laboratoire d’Informatique, Signaux et Systèmes de Sophia Antipolis (I3S) Présentée en vue de l’obtention Devant le jury, composé de : du grade de docteur en Informatique Jean-Marc Pierson, Professeur, Université Paul Sabatier Toulouse 3 d’Université Côte d’Azur Guillaume Pierre, Professeur, Université de Rennes 1 Pietro Michiardi, Professeur, Eurecom Dirigée par : Fabrice Huet / Fabrice Huet, Professeur, Université Côte d’Azur Guillaume Urvoy-Keller, Professeur,
    [Show full text]
  • Spring 2020 1/21
    CS 591 K1: Data Stream Processing and Analytics Spring 2020 1/21: Introduction Vasiliki (Vasia) Kalavri [email protected] Vasiliki Kalavri | Boston University 2020 Course Information • Instructor: Vasiliki Kalavri • Office: MCS 206 • Contact: [email protected] • Course Time & Location: Tue,Thu 9:30-10:45, MCS B33 • Office Hours: Tue,Thu 11:00-12:30, MCS 206 2 Vasiliki Kalavri | Boston University 2020 Announcements, updates, discussions • Website: vasia.github.io/dspa20 • Syllabus: /syllabus.html • Class schedule: /lectures.html • including today’s slides • Piazza: piazza.com/bu/spring2020/cs591k1/home • For questions & discussions • Blackboard: learn.bu.edu/... • For quizzes, assignment announcements & submissions 3 Vasiliki Kalavri | Boston University 2020 What is this course about? The design Operator semantics and architecture of modern Window optimizations distributed streaming Systems Filtering, counting, sampling Graph streaming algorithms Architecture and design Scheduling and load management Scalability and elasticity Fundamental Algorithms Fault-tolerance and guarantees for representing, summarizing, State management and analyzing data streams 4 Vasiliki Kalavri | Boston University 2020 Tools Apache Flink: flink.apache.org Apache Kafka: kafka.apache.org Apache Beam: beam.apache.org Google Cloud Platform: cloud.google.com 5 Vasiliki Kalavri | Boston University 2020 Outcomes At the end of the course, you will hopefully: • know when to use stream processing vs other technology • be able to comprehensively compare features and processing
    [Show full text]
  • Apache Samza
    Apache Samza Martin Kleppmann Definition vehicles, or the writes of records to a database. Apache Samza is an open source frame- Stream processing jobs are long- work for distributed processing of high- running processes that continuously volume event streams. Its primary design consume one or more event streams, goal is to support high throughput for a invoking some application logic on wide range of processing patterns, while every event, producing derived output providing operational robustness at the streams, and potentially writing output massive scale required by Internet com- to databases for subsequent querying. panies. Samza achieves this goal through While a batch process or a database a small number of carefully designed ab- query typically reads the state of a stractions: partitioned logs for messag- dataset at one point in time, and then ing, fault-tolerant local state, and cluster- finishes, a stream processor is never based task scheduling. finished: it continually awaits the arrival of new events, and it only shuts down when terminated by an administrator. Many tasks can be naturally ex- Overview pressed as stream processing jobs, for example: Stream processing is playing an increas- • aggregating occurrences of events, ingly important part of the data man- e.g., counting how many times a agement needs of many organizations. particular item has been viewed; Event streams can represent many kinds • computing the rate of certain events, of data, for example, the activity of users e.g., for system diagnostics, report- on a website, the movement of goods or ing, and abuse prevention; 1 2 Martin Kleppmann • enriching events with information the scalability of Samza is directly at- from a database, e.g., extending user tributable to the choice of these founda- click events with information about tional abstractions.
    [Show full text]
  • HPC-ABDS High Performance Computing Enhanced Apache Big Data Stack
    HPC-ABDS High Performance Computing Enhanced Apache Big Data Stack Geoffrey C. Fox, Judy Qiu, Supun Kamburugamuve Shantenu Jha, Andre Luckow School of Informatics and Computing RADICAL Indiana University Rutgers University Bloomington, IN 47408, USA Piscataway, NJ 08854, USA fgcf, xqiu, [email protected] [email protected], [email protected] Abstract—We review the High Performance Computing En- systems as they illustrate key capabilities and often motivate hanced Apache Big Data Stack HPC-ABDS and summarize open source equivalents. the capabilities in 21 identified architecture layers. These The software is broken up into layers so that one can dis- cover Message and Data Protocols, Distributed Coordination, Security & Privacy, Monitoring, Infrastructure Management, cuss software systems in smaller groups. The layers where DevOps, Interoperability, File Systems, Cluster & Resource there is especial opportunity to integrate HPC are colored management, Data Transport, File management, NoSQL, SQL green in figure. We note that data systems that we construct (NewSQL), Extraction Tools, Object-relational mapping, In- from this software can run interoperably on virtualized or memory caching and databases, Inter-process Communication, non-virtualized environments aimed at key scientific data Batch Programming model and Runtime, Stream Processing, High-level Programming, Application Hosting and PaaS, Li- analysis problems. Most of ABDS emphasizes scalability braries and Applications, Workflow and Orchestration. We but not performance and one of our goals is to produce summarize status of these layers focusing on issues of impor- high performance environments. Here there is clear need tance for data analytics. We highlight areas where HPC and for better node performance and support of accelerators like ABDS have good opportunities for integration.
    [Show full text]