Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3361525.3361544acmconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article

Automating Multi-level Performance Elastic Components for IBM Streams

Published: 09 December 2019 Publication History

Abstract

Streaming applications exhibit abundant opportunities for pipeline parallelism, data parallelism and task parallelism. Prior work in IBM Streams introduced an elastic threading model that sought the best performance by automatically tuning the number of threads. In this paper, we introduce the ability to automatically discover where that threading model is profitable. However this introduces a new challenge: we have separate performance elastic mechanisms that are designed with different objectives, leading to potential negative interactions and unintended performance degradation. We present our experiences in overcoming these challenges by showing how to coordinate separate but interfering elasticity mechanisms to maxmize performance gains with stable and fast parallelism exploitation. We first describe an elastic performance mechanism that automatically adapts different threading models to different regions of an application. We then show a coherent ecosystem for coordinating this threading model elasticty with thread count elasticity. This system is an online, stable multi-level elastic coordination scheme that adapts different regions of a streaming application to different threading models and number of threads. We implemented this multi-level coordination scheme in IBM Streams and demonstrated that it (a) scales to over a hundred threads; (b) can improve performance by an order of magnitude on two different processor architectures when an application can benefit from multiple threading models; and (c) achieves performance comparable to hand-optimized applications but with much fewer threads.

References

[1]
T. Akidau, A. Balikov, K. Bekiroğlu, S. Chernyak, J. Haberman, R. Lax, S. McVeety, D. Mills, P. Nordstrom, and S. Whittle. Millwheel: Fault-tolerant stream processing at internet scale. Proc. VLDB Endow., 6(11), Aug. 2013.
[2]
T. Akidau, R. Bradshaw, C. Chambers, S. Chernyak, R. J. Fernández-Moctezuma, R. Lax, S. McVeety, D. Mills, F. Perry, E. Schmidt, and S. Whittle. The dataflow model: A practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing. Proc. VLDB Endow., 8(12), Aug. 2015.
[3]
T. De Matteis and G. Mencagli. Keep calm and react with foresight: Strategies for low-latency and energy-efficient elastic data stream processing. SIGPLAN Not., 51(8):13:1--13:12, Feb. 2016.
[4]
A. Floratou, A. Agrawal, B. Graham, S. Rao, and K. Ramasamy. Dhalion: self-regulating stream processing in heron. Proceedings of the VLDB Endowment, 10(12):1825--1836, 2017.
[5]
T. A. S. Foundation. Apache Flink. http://flink.apache.org, 2018. Retrieved August, 2018.
[6]
T. L. Foundation. DPDK: Data Plane Development Kit. https://dpdk.org, 2018. Retrieved August, 2018.
[7]
Google. Google Dataflow. http://cloud.google.com/dataflow/, 2018. Retrieved August, 2018.
[8]
Google. The Go Programming Language. http://golang.org, 2018. Retrieved August, 2018.
[9]
M. I. Gordon, W. Thies, and S. Amarasinghe. Exploiting coarse-grained task, data, and pipeline parallelism in stream programs. SIGPLAN Not., 41(11):151--162, Oct. 2006.
[10]
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury. Feedback control of computing systems. John Wiley & Sons, 2004.
[11]
M. Hirzel, H. Andrade, B. Gedik, G. Jacques-Silva, R. Khandekar, V. Kumar, M. Mendell, H. Nasgaard, S. Schneider, R. Soulé, and K.-L. Wu. IBM Streams Processing Language: Analyzing big data in motion. 57(3/4), 2013.
[12]
IBM. IBM Streams. https://ibmstreams.github.io, 2018. Retrieved August, 2018.
[13]
IBM. IBM Streams Developer Community. https://developer.ibm.com/streamsdev, 2018. Retrieved August, 2018.
[14]
IBM. streamsx.inet. http://ibmstreams.github.io/streamsx.inet, 2018. Retrieved August, 2018.
[15]
V. Kalavri, J. Liagouris, M. Hoffmann, D. Dimitrova, M. Forshaw, and T. Roscoe. Three steps is all you need: fast, accurate, automatic scaling decisions for distributed streaming dataflows. In 13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18), pages 783--798, 2018.
[16]
A. Martin, A. Brito, and C. Fetzer. Scalable and elastic realtime click stream analysis using streammine3g. In Proceedings of the 8th ACM International Conference on Distributed Event-Based Systems, DEBS '14, pages 198--205, New York, NY, USA, 2014. ACM.
[17]
H. Miao, H. Park, M. Jeon, G. Pekhimenko, K. S. McKinley, and F. X. Lin. Streambox: Modern stream processing on a multicore machine. In 2017 USENIX Annual Technical Conference (USENIX ATC 17), pages 617--629, 2017.
[18]
D. G. Murray, F. McSherry, R. Isaacs, M. Isard, P. Barham, and M. Abadi. Naiad: A timely dataflow system. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, SOSP '13, New York, NY, USA, 2013. ACM.
[19]
S. Schneider, B. Gedik, and M. Hirzel. Language runtime and optimizations in IBM Streams. IEEE Database Engineering Bulletin, 38(4), 2015.
[20]
S. Schneider and K.-L. Wu. Low-synchronization, mostly lock-free, elastic scheduling for streaming runtimes. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2017, pages 648--661, New York, NY, USA, 2017. ACM.
[21]
A. Toshniwal, S. Taneja, A. Shukla, K. Ramasamy, J. M. Patel, S. Kulkarni, J. Jackson, K. Gade, M. Fu, J. Donham, N. Bhagat, S. Mittal, and D. Ryaboy. Storm@twitter. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, SIGMOD '14, New York, NY, USA, 2014. ACM.

Cited By

View all
  • (2024)To Migrate or Not to Migrate: An Analysis of Operator Migration in Distributed Stream ProcessingIEEE Communications Surveys & Tutorials10.1109/COMST.2023.333095326:1(670-705)Online publication date: Sep-2025
  • (2021)Model-based Stream Processing Auto-scaling in Geo-Distributed Environments2021 International Conference on Computer Communications and Networks (ICCCN)10.1109/ICCCN52240.2021.9522236(1-10)Online publication date: Jul-2021
  • (2021)Self‐adaptation on parallel stream processing: A systematic reviewConcurrency and Computation: Practice and Experience10.1002/cpe.675934:6Online publication date: 7-Dec-2021

Index Terms

  1. Automating Multi-level Performance Elastic Components for IBM Streams

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    Middleware '19: Proceedings of the 20th International Middleware Conference
    December 2019
    342 pages
    ISBN:9781450370097
    DOI:10.1145/3361525
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 09 December 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Stream processing
    2. elastic scheduling
    3. runtime

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    Middleware '19
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 203 of 948 submissions, 21%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 27 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)To Migrate or Not to Migrate: An Analysis of Operator Migration in Distributed Stream ProcessingIEEE Communications Surveys & Tutorials10.1109/COMST.2023.333095326:1(670-705)Online publication date: Sep-2025
    • (2021)Model-based Stream Processing Auto-scaling in Geo-Distributed Environments2021 International Conference on Computer Communications and Networks (ICCCN)10.1109/ICCCN52240.2021.9522236(1-10)Online publication date: Jul-2021
    • (2021)Self‐adaptation on parallel stream processing: A systematic reviewConcurrency and Computation: Practice and Experience10.1002/cpe.675934:6Online publication date: 7-Dec-2021

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media