Parallelizing stateful operators in a distributed stream processing system: how, should you and how much?

Sai Wu, Vibhore Kumar, Kun-Lung Wu, B. Ooi
{"title":"Parallelizing stateful operators in a distributed stream processing system: how, should you and how much?","authors":"Sai Wu, Vibhore Kumar, Kun-Lung Wu, B. Ooi","doi":"10.1145/2335484.2335515","DOIUrl":null,"url":null,"abstract":"We consider a distributed stream processing application, expressed as a data-flow graph with operators as vertices connected by streams and deployed over a cluster of compute nodes, where a small subset of the operators are often the performance bottlenecks for the entire application. In cases where a bottleneck operator is stateless, it is obvious that parallelization by splitting the incoming stream among multiple parallel operators deployed on different nodes can help improve performance. However, it is not so obvious when the bottleneck operator is stateful. In such a case, parallelization is much more challenging as it often requires a state sharing mechanism for the parallel operators. Moreover, it incurs additional overheads of required accesses by the parallel operators to shared state and synchronization constructs. In this paper, we propose a parallelization framework for stateful stream processing operators. The framework not only addresses issues related to the system model and support for operator parallelization, but also delves into the theoretical details that model the suitability of parallelization and the optimal degree of parallelism. We have implemented and evaluated our framework in the context of IBM's System S distributed stream processing middleware. While microbenchmarks are used to validate the proposed theoretical model, a parallelized implementation of a moving KNN application is used for the purpose of evaluation.","PeriodicalId":92123,"journal":{"name":"Proceedings of the ... International Workshop on Distributed Event-Based Systems. International Workshop on Distributed Event-Based Systems","volume":"35 1","pages":"278-289"},"PeriodicalIF":0.0000,"publicationDate":"2012-07-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"38","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the ... International Workshop on Distributed Event-Based Systems. International Workshop on Distributed Event-Based Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2335484.2335515","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 38

Abstract

We consider a distributed stream processing application, expressed as a data-flow graph with operators as vertices connected by streams and deployed over a cluster of compute nodes, where a small subset of the operators are often the performance bottlenecks for the entire application. In cases where a bottleneck operator is stateless, it is obvious that parallelization by splitting the incoming stream among multiple parallel operators deployed on different nodes can help improve performance. However, it is not so obvious when the bottleneck operator is stateful. In such a case, parallelization is much more challenging as it often requires a state sharing mechanism for the parallel operators. Moreover, it incurs additional overheads of required accesses by the parallel operators to shared state and synchronization constructs. In this paper, we propose a parallelization framework for stateful stream processing operators. The framework not only addresses issues related to the system model and support for operator parallelization, but also delves into the theoretical details that model the suitability of parallelization and the optimal degree of parallelism. We have implemented and evaluated our framework in the context of IBM's System S distributed stream processing middleware. While microbenchmarks are used to validate the proposed theoretical model, a parallelized implementation of a moving KNN application is used for the purpose of evaluation.
在分布式流处理系统中并行化有状态操作符:如何,应该和多少?
我们考虑一个分布式流处理应用程序,将其表示为一个数据流图,其中操作符作为由流连接的顶点,并部署在计算节点集群上,其中一小部分操作符通常是整个应用程序的性能瓶颈。在瓶颈操作符是无状态的情况下,通过在部署在不同节点上的多个并行操作符之间分割传入流的并行化显然有助于提高性能。然而,当瓶颈操作符是有状态的时候,这一点就不那么明显了。在这种情况下,并行化更具挑战性,因为它通常需要并行操作符的状态共享机制。此外,并行操作符访问共享状态和同步构造所需的额外开销。在本文中,我们提出了一个并行化框架,用于有状态流处理操作符。该框架不仅解决了与系统模型和对运算符并行化的支持相关的问题,而且还深入研究了对并行化的适用性和最佳并行度进行建模的理论细节。我们已经在IBM的System S分布式流处理中间件上下文中实现并评估了我们的框架。微基准测试用于验证所提出的理论模型,而移动KNN应用程序的并行实现用于评估目的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书