Automatic Management of Streaming Applications

Automatic Management of Streaming Applications

Dhalion in Action: Automatic Management of Streaming Applications Ashvin Agrawal Avrilia Floratou Microsoft Microsoft USA USA [email protected] avfl[email protected] ABSTRACT These systems can be deployed at large scale and can recover In a world where organizations are being inundated with from hardware and software failures. Despite the advances data from various sources, analyzing data and gaining ac- in the design of these systems, a crucial challenge for the op- tionable insights in real-time has become a key service differ- erators remain the complexity of configuring and managing entiator. Over the last few years, several stream processing the streaming applications. This process is typically manual frameworks have been developed to address the need for and time consuming as it often requires balancing conflicting large-scale, real-time analytics. A crucial challenge in these objectives such as various performance requirements and re- environments is the complexity of configuring, managing source utilization while also considering external shocks such and deploying long-running streaming applications. Opera- as unexpected load variations. tors must carefully tune these systems to balance competing In our prior work [7], we presented Dhalion, an open- objectives such as resource utilization and performance. At source library [3] that sits on top of the streaming applica- the same time, they must also account for external shocks tion and provides self-regulating capabilities to it. Dhalion such as unexpected load variations and service degradations. closely monitors the streaming application, collects various In this demonstration, we show how operators can main- metrics and identifies problems that might affect the health tain healthy streaming applications without manual inter- of the application. For example, by correlating various appli- vention while still meeting their performance objectives. We cation metrics, Dhalion identifies slow processes, data skew use Dhalion, an open-source library that sits on top of the or under-provisioned components and automatically takes streaming application, observes its behavior and automati- corrective action. Dhalion is flexible enough to incorporate cally takes actions to keep the application in a healthy state. various policies depending on the user requirements and ob- In particular, through various Dhalion policies that are con- jectives. figured by the attendees, we demonstrate how a streaming In this work, we use Dhalion to demonstrate how opera- application can meet its performance objective by automati- tors can automatically manage their streaming applications cally configuring the amount of resources needed at the vari- while meeting their performance goals. We employ various ous application stages. We also demonstrate Dhalion's mod- Dhalion policies which target different application scenarios ularity and extensibility that greatly simplifies the process of and user requirements to highlight Dhalion's adaptive be- developing new policies which address different application havior. The attendees will be able to configure the Dhalion requirements. policies and observe the impact of their choices on the perfor- mance and resource utilization of the underlying streaming PVLDB Reference Format: application. They will also be able to observe which param- Ashvin Agrawal and Avrilia Floratou. Dhalion in Action: Auto- eters affect Dhalion's reaction time. Our demonstration is matic Management of Streaming Applications. PVLDB, 11 (12): based on top of the Heron streaming engine [9]. Heron is an 2050-2053, 2018. DOI: https://doi.org/10.14778/3229863.3236257 open-source, highly scalable streaming engine that has been developed and deployed in Twitter. In this work, we make the following contributions: 1. INTRODUCTION In recent years, there has been an explosion of real- 1. Motivated by real challenges that users face when de- time analytics needs and a plethora of streaming systems ploying streaming applications, we demonstrate Dhalion, have been developed to support such applications (Apache a library that monitors the streaming application and Storm [10], Spark Streaming [12], Twitter's Heron [9], etc). automatically takes corrective action to resolve potential issues. 2. We show how operators and solution architects can use Dhalion to automatically tune their streaming applica- This work is licensed under the Creative Commons Attribution- tions to meet a specific throughput requirement. Through NonCommercial-NoDerivatives 4.0 International License. To view a copy an interactive interface, we allow the attendees to spec- of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. For ify their own performance objectives and observe how any use beyond those covered by this license, obtain permission by emailing Dhalion reacts to their input. [email protected]. Proceedings of the VLDB Endowment, Vol. 11, No. 12 3. We demonstrate how operators can maintain their appli- Copyright 2018 VLDB Endowment 2150-8097/18/8. cation in a healthy state even in the presence of input DOI: https://doi.org/10.14778/3229863.3236257 2050 3. DHALION OVERVIEW Hash Round Robin Splitter Partitioning Counter In this section, we provide a brief overview of Dhalion's Spout Bolt Bolt main components and discuss its integration with the Heron streaming engine. The interested reader can find more in- formation about Dhalion and its architecture in [7]. Figure 1: Heron topology with three Dhalion's main goal is to keep the streaming application stages in a healthy state by detecting problems within the stream- ing application and automatically take corrective action to resolve the issues. Dhalion's architecture is inspired by com- load variations. In particular, we develop three different mon medical procedures. In particular, Dhalion first iden- auto-scaling policies that range from conservative to ag- tifies symptoms that can potentially denote that a problem gressive. The policies detect performance bottlenecks and exists in the streaming application. After collecting all the dynamically provision the resources of various stages of symptoms, Dhalion attempts to find the root cause of the the application. The three policies can result in different symptoms and produce a diagnosis. Finally, based on the reaction times and resource utilization. The attendees diagnosis, Dhalion can automatically take the appropriate will be able to vary the input load and observe the im- action to resolve the issues. pact of their choices on the three policies as well as the The above steps are executed through a Dhalion policy application's performance. that is continuously executed while the streaming applica- In Sections 2 and 3, we provide a brief overview of Heron tion is running. The phases of the Dhalion policy are de- and Dhalion respectively. We then describe in detail our scribed in Figure 2. As shown in the figure, Dhalion ex- demonstration setup and scenarios in Section 4. ecutes policies that consist of three parts. First, Dhalion collects metrics from the underlying streaming application and tries to identify symptoms that denote that the ap- 2. HERON BACKGROUND plication might not be in a healthy state. The symptom Before describing Dhalion, we present a brief overview of detection is performed by various detectors. Each detector Heron and its rate control mechanisms. This information is a self-contained module that implements specific APIs is useful to better understand our demonstration scenarios. and generates a specific set of symptoms. For example, An extensive description of Heron can be found in [8, 9]. in the context of Heron, the backpressure detector gener- Heron users deploy topologies which are essentially di- ates a symptom that denotes which instance in the topol- rected graphs of spouts and bolts. The spouts are sources of ogy generates backpressure. After the symptoms are gener- input data such as streams of tweets, whereas the bolts rep- ated, they are processed by the diagnosers. Each diagnoser resent computations on the streams they receive from spouts is responsible for finding correlations among symptoms and or other bolts. Spouts often read data from queues, such as evaluate if a specific diagnosis is valid. For example, the Kafka [2] or Distributed Log [4] and generate a stream of tu- under-provisioning diagnoser evaluates whether the cause ples, which is in turn consumed by a network of bolts that of the observed symptoms is resource under-provisioning at perform the actual computations on the stream. Figure 1 a particular stage in the topology, or the slow instance di- shows an example word count topology with three stages. agnoser evaluates whether one or more instances are slower The spouts distribute incoming sentences to the splitter than their peers in the same stage. At the last phase, a re- bolts in a round robin fashion. The splitter bolts split the solver is executed which is responsible for taking an action sentences into words that are subsequently forwarded to the to bring the topology back to a healthy state. For example, counter bolts using hash partitioning. Finally, the counter if the topology is under-provisioned, the scale up resolver bolts count the number of times each word was encountered. can automatically add more resources to the stage that is Each spout/bolt is represented by a set of Heron the bottleneck. Instances that independently and in parallel, execute the Note, that the detectors, diagnosers and resolvers imple- user code that corresponds to this spout/bolt. The Stream ment well-specified Dhalion APIs which makes it easier to Manager is a critical component of the system as it manages compose new policies. Additionally, since they are self- the routing of tuples among Heron instances. contained modules, they can be combined and re-used in An important aspect of Heron is its rate control mecha- different Dhalion policies which greatly simplifies the task nism. Rate control is crucial in topologies where different of generating new policies. As we discuss in the following components can execute at different speeds or where the pro- section, we will demonstrate various Dhalion policies that cessing speed of the components can vary over time.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us