Joker: Elastic stream processing with organic adaptation

被引:7
作者
Kahveci, Basri [1 ]
Gedik, Bugra [1 ]
机构
[1] Bilkent Univ, Dept Comp Engn, TR-06800 Ankara, Turkey
关键词
Stream processing; Elasticity; Parallelization; FISSION;
D O I
10.1016/j.jpdc.2019.10.012
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper addresses the problem of auto-parallelization of streaming applications. We propose an online parallelization optimization algorithm that adjusts the degree of pipeline and data parallelism in a joint manner. We define an operator development API and a flexible parallel execution model to form a basis for the optimization algorithm. The operator interface unifies the development of different types of operators and makes operator properties visible in order to enable safe optimizations. The parallel execution model splits a data flow graph into regions. A region contains the longest sequence of compatible operators that are amenable to data parallelism as a whole and can be further parallelized with pipeline parallelism. We also develop a stream processing run-time, named Joker, to scale the execution of streaming applications in a safe, transparent, dynamic, and automatic manner. This ability is called organic adaptation. Joker implements the runtime machinery to execute a data flow graph with any parallelization configuration and most importantly change this configuration at run-time with low cost in the presence of partitioned stateful operators, in a way that is transparent to the application developers. Joker continuously monitors the run-time performance, and runs the optimization algorithm to resolve bottlenecks and scale the application by adjusting the degree of pipeline and data parallelism. The experimental evaluation based on micro-benchmarks and real-world applications showcase that our solution accomplishes elasticity by finding an effective parallelization configuration. (C) 2019 Elsevier Inc. All rights reserved.
引用
收藏
页码:205 / 223
页数:19
相关论文
共 26 条
  • [1] Abadi Daniel J, 2005, Proc. of the 2nd CIDR Conf, V5, P277
  • [2] MillWheel: Fault-Tolerant Stream Processing at Internet Scale
    Akidau, Tyler
    Balikov, Alex
    Bekiroglu, Kaya
    Chernyak, Slava
    Haberman, Josh
    Lax, Reuven
    McVeety, Sam
    Mills, Daniel
    Nordstrom, Paul
    Whittle, Sam
    [J]. PROCEEDINGS OF THE VLDB ENDOWMENT, 2013, 6 (11): : 1033 - 1044
  • [3] Andrade HCM, 2014, FUNDAMENTALS OF STREAM PROCESSING: APPLICATION DESIGN, SYSTEMS, AND ANALYTICS, P1, DOI 10.1017/CBO9781139058940
  • [4] [Anonymous], P SIGPLAN S PRINC PR
  • [5] Cardellini Valeria, 2017, ACM SIGMETRICS Performance Evaluation Review, V44, P11, DOI 10.1145/3092819.3092823
  • [6] Cardellini V, 2016, 2016 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS 2016), P583, DOI 10.1109/HPCSim.2016.7568388
  • [7] Elastic Scaling for Distributed Latency-sensitive Data Stream Operators
    De Matteis, Tiziano
    Mencagli, Gabriele
    [J]. 2017 25TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING (PDP 2017), 2017, : 61 - 68
  • [8] Proactive elasticity and energy awareness in data stream processing
    De Matteis, Tiziano
    Mencagli, Gabriele
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 127 : 302 - 319
  • [9] Fernandez R. Castro, 2013, SIGMOD, P725, DOI [10.1145/2463676. 2465282, DOI 10.1145/2463676.2465282]
  • [10] Floratou A., 2017, P 2017 VLDB END, V10