Building Analytics Pipelines for Querying Big Streams and Data Histories with H-STREAM
本文介绍了H-STREAM,一个大的流/数据处理管道评估引擎,提出流处理操作符作为微服务,以支持来自物联网(物联网)环境的大数据流的分析和可视化。H-STREAM微服务结合了流处理和数据存储技术,这些技术根据产生流的事物的数量、它们产生流的速度以及可用于在线处理流并将其交付给消费者的物理计算资源进行调整。H-STREAM提供安装在云环境中的流处理和可视化微服务。微服务可以被组合用于实现特定的流聚合分析管道作为查询。本文提出了一种实验验证,使用Microsoft Azure作为部署环境,测试H-STREAM在(i)神经科学实验和(i)物联网农场上运行的社交连接分析场景中处理速度和容量挑战的能力。
2021-08-07 cs.DC
Task Allocation for Distributed Stream Processing
对实时、动态处理越来越多的大量数据的需求不断增长。为了确保流数据的及时和可靠的处理,已经开发了各种分布式流处理架构和平台,其处理(动态地)将处理任务分配给当前可用的物理资源以及在这些资源之间路由流数据的基本任务。然而,虽然有很多平台提供这种功能,但其背后的理论还没有得到很好的理解。特别是,不清楚如何最好地分配处理任务给给定的资源。在本文中,我们建立了一个理论基础,正式定义了分布式流处理的任务分配问题,我们证明是NP-难的。此外,我们提出了一个近似算法的类串并行可分解图,它捕获了广泛的常见的流处理应用程序。该算法实现了一个常数因子近似的假设下,资源的数量至少与计算任务的数量和计算成本的任务的通信成本占主导地位的比例。
2016-01-22 cs.DC
LifeStream: A High-Performance Stream Processing Engine for Periodic Streams
世界各地的医院每天都从患者那里收集大量的生理数据。最近,人们对这些数据进行统计分析以获得更多见解并提供更好的医疗诊断的研究兴趣有所增加。这种分析需要对大量数据进行复杂的计算,需要高效的数据处理系统。本文表明,目前可用的数据处理解决方案,要么无法满足性能要求,或缺乏简单,灵活的编程接口。为了解决这个问题,我们提出了\emph{LifeStream},一个高性能的生理数据流处理引擎。LifeStream通过提供丰富的时间查询语言支持实现了编程的轻松性,通过采用利用生理数据周期性的优化实现了性能。我们证明,LifeStream实现了端到端性能高达$7.5\times$高于国家的最先进的流引擎和$3.2\times$比手工优化的数值库在现实世界的数据集和工作负载。
2021-03-03 cs.DC
On the Performance and Convergence of Distributed Stream Processing via Approximate Fault Tolerance
容错对于分布式流处理系统是至关重要的,然而实现无差错的容错通常会引起大量的性能开销。我们提出了AF流,分布式流处理系统,解决了性能和准确性之间的权衡容错。AF-Stream建立在一个称为近似容错的概念上,其思想是通过自适应地发布备份来减轻备份开销,同时确保故障时的错误与理论保证有一定的界限。具体来说,AF-Stream允许用户指定状态分歧和非备份流项目丢失的界限。它仅在达到界限时发出状态和项备份。我们的AF流设计提供了一个可扩展的编程模型,将一般的流算法,以及出口只有几个阈值参数配置近似容错。此外,我们正式证明,AF流保留高算法特定的流算法的准确性,特别是在线学习的收敛保证。实验表明,AF-Stream在各种流算法下都能保持较高的性能(与无容错相比)和多次故障后的高准确率(与无故障相比)。
2019-08-12 cs.DC
Resource- and Message Size-Aware Scheduling of Stream Processing at the Edge with application to Realtime Microscopy
虽然可以利用云边缘的计算资源来改善延迟并降低各种移动,Web和IoT应用程序的云服务成本,但这些资源自然受到限制。对于分布式流处理应用程序,将一些处理工作卸载到云边缘有明显的优势。许多最先进的流处理应用程序,如Flink和Spark Streaming,被设计为专门在云中运行,不适合这种混合边缘/云部署设置,尤其是因为它们的制造商对这种部署中的异构硬件考虑有限。特别地,它们的路由器广泛地假设同构网络拓扑(除了数据局部性考虑,例如,HDFS/Spark)。专门用于这种混合部署场景的流处理框架,特别是物联网应用程序,允许开发人员手动将管道中的特定运营商分配给云边缘的节点。在本文中,我们研究了在混合云/边缘部署环境中对CPU成本和消息大小敏感的调度流处理,目的是最大化有限边缘资源的吞吐量。我们演示了电子显微镜图像流的实时边缘处理,并根据我们的方法与资源不可知的基线调度程序,在基准测试下,测量端到端延迟的一致减少。
2019-12-19 cs.DC
StreamBed: capacity planning for stream processing
本文提出 StreamBed 容量规划系统,通过小规模受控测试平台为 Flink 查询建立资源需求模型,并在 Nexmark 上证明其能以 48 核准确预测超过 1,000 核作业的容量。
2023-09-28 cs.DC
Pilot-Streaming: A Stream Processing Framework for High-Performance Computing
越来越多的科学应用依赖于流处理,以便从科学仪器、模拟和物联网(IoT)传感器的数据源中及时生成见解。流媒体应用的开发是一项复杂的任务,需要集成异构的分布式基础设施、框架、中间件和应用组件。不同的应用程序组件通常使用不同的抽象和框架以不同的语言编写。通常,需要额外的组件,例如消息代理(例如Kafka),以解耦数据生产和消费,并避免诸如背压等问题。由于诸如由数据源引起的可变数据率、自适应采样技术或网络带宽、由不同机器学习算法的使用引起的可变处理负载之类的因素,流应用可能是极其动态的。因此,能够响应这些因素之一的变化的应用程序级资源管理至关重要。我们提出试点流,一个框架,支持流框架,应用程序和他们的资源管理需求的HPC基础设施。Pilot-Streaming基于Pilot-Job概念,使开发人员能够管理复杂流应用程序的分布式计算和数据资源。它使应用程序能够通过在运行时添加/删除资源来动态响应资源需求。这种能力对于平衡复杂的流管道至关重要。为了解决开发和表征流应用的复杂性,我们提出了流迷你应用框架,其支持用于数据生成和处理的不同可插入算法,例如,用于使用不同的技术重建光源图像。我们利用迷你应用程序框架进行试点流的评估。
2018-11-11 cs.DC
Evaluation of Data Enrichment Methods for Distributed Stream Processing Systems
本文深入评估了DSP系统的数据增强方法,发现将增强数据外包给DSP系统可提升特定用例性能,但也指出其增加的资源消耗需要专门针对云应用性能密集型工作负载设计的流处理解决方案。
2023-11-23 cs.DC
Multi-tenant Pub/Sub Processing for Real-time Data Streams
设备和传感器在不同的位置和协议上生成数据流。这些数据通常会到达一个用于存储和处理流的中央平台。处理可以实时的进行,转换和丰富可以在运行中进行,但也可以在数据存储和组织在存储库中之后进行。在前一种情况下,需要流处理技术对数据进行操作;在后一种情况下,通常使用批处理分析和查询。本文介绍了一种基于用户提供的代码动态构造数据流处理拓扑的运行时。这些动态拓扑是使用由使用数据的应用程序定义的数据订阅模型动态构建的。每个用户定义的处理单元称为服务对象。每个服务对象都使用输入数据流,并且可以产生其他服务对象可以使用的输出流。基于订阅的编程模型使多个用户能够部署他们自己的数据处理服务。运行时动态转发数据并执行来自不同用户的服务对象。数据流可以源自真实世界的设备,也可以是服务对象的输出。
2020-07-06 cs.DC
Serverless Abstractions for Short-Running, Lightweight Streams
Technische Universität Berlin(柏林工业大学)
流函数通过基于迭代器的接口,为短时、轻量级流提供高效处理,减少99%的处理开销。
2026-03-03 cs.DC
Resource Allocation Strategies for In-Network Stream Processing
在本文中,我们考虑的运营商映射问题,在网络流处理应用。网络内流处理包括将稳态操作符树应用于在网络上的各个位置处不断更新的多个数据对象。网络内流处理的示例包括传感器网络中的数据处理,或分布式关系数据库上的连续查询。我们在一个"构造性"场景中研究算子映射问题,即,在这种情况下,构建专用于购买具有各种成本和能力的处理服务器的应用的平台。目标是最小化平台的成本,同时确保应用程序实现最小的稳态吞吐量。本文的第一个贡献是一组相关的运营商安置问题的线性规划的形式化,并证明,即使是简单的版本的问题是NP-完全的。我们的第二个贡献是设计了几个多项式时间算法,通过大量的模拟和理论界的最优解进行评估。
2008-07-10 cs.DC
Model-driven Scheduling for Distributed Stream Processing Systems
随着物联网(IoT)的发展,分布式流处理框架被普遍使用。这些框架旨在通过伸缩来适应动态输入消息速率。Apache Storm最初由Twitter开发,是一个广泛使用的流处理引擎,其他包括Flink,Spark流。为了保证流媒体应用的成功运行,需要知道流媒体应用的最优资源需求,而过高的资源估计会增加额外的成本,因此需要一些策略来为给定的流媒体应用提出最优的资源需求。在这篇文章中,我们提出了一个模型驱动的方法调度流应用程序,有效地利用先验知识的应用程序提供可预测的调度行为。具体来说,我们使用应用程序性能模型来提供所需的资源分配的可靠估计。此外,这种直觉还驱动资源映射,并有助于缩小估计和实际的低性能和资源利用率。总之,这种模型驱动的调度方法给出了用于在分布式资源上以目标输入流速率执行给定DSPS应用的可预测的应用性能和资源利用行为。
2017-02-06 cs.DC
Phoebe: QoS-Aware Distributed Stream Processing through Anticipating Dynamic Workloads
分布式流处理系统已经成为大数据处理平台的重要组成部分。它们的特点是对接近实时的事件流进行高吞吐量处理,目标是提供低延迟结果,从而实现对时间敏感的决策。同时,即使在存在部分故障的情况下,也期望结果是一致的,其中需要精确的一次处理保证正确性。流处理工作负载通常在本质上是动态的,这使得静态配置随着时间的推移而变得非常低效。静态资源分配几乎肯定会对服务质量产生负面影响和/或导致更高的操作成本。在本文中,我们提出了Phoebe,一个主动的方法来系统自动调优的分布式流处理作业执行动态工作负载。我们的方法利用并行分析运行,QoS建模和运行时优化提供了一个通用的解决方案,配置参数自动调整,以确保稳定的服务,以及与恢复时间服务质量目标的对齐。Phoebe利用时间序列预测来洞察未来的工作负载需求,从而提供准确、长期和可靠的扩展决策。我们的实验表明,菲比是能够提供一个稳定的服务,同时减少资源过度配置。
2022-06-20 cs.DC
Beyond Batch Processing: Towards Real-Time and Streaming Big Data
今天,大数据是从许多来源产生的,并且存在对大数据的存储、管理、处理和查询的巨大需求。MapReduce模型及其对应的开源实现Hadoop已经证明了自己是大数据处理的事实上的解决方案。Hadoop本质上是为批量和高吞吐量处理作业而设计的。虽然Hadoop非常适合批处理作业,但对大数据的非批处理流程的需求越来越大,例如:交互式作业,实时的【形】查询和大数据流。由于Hadoop不适合这些非批处理工作负载,因此针对这些新挑战提出了新的解决方案。在本文中,我们将讨论两类解决方案:实时的【形】处理和大数据流处理。对于每个类别,我们讨论了Hadoop的范式、优势和差异。我们还为每个类别介绍了一些实用的系统和框架。最后,通过一些简单的实验,对比现有的基于Hadoop的解决方案,验证了一些解决方案的有效性。
2014-08-01 cs.DC
Move Fast and Meet Deadlines: Fine-grained Real-time Stream Processing with Cameo
多租户流处理系统中的资源供应面临着保持高资源利用率(没有过度供应)和确保性能隔离的双重挑战。在我们常见的生产用例中,流工作负载必须满足延迟目标并避免违反服务级别协议,现有解决方案无法处理用户需求的广泛变化。我们的框架Cameo使用细粒度的流处理(受演员计算模型的启发),能够提供高资源利用率,同时满足延迟目标。Cameo基于用户延迟目标和查询语义动态计算和传播事件的优先级。在Microsoft Azure上的实验表明,与最先进的技术相比,Cameo框架:i)在单租户设置中将查询延迟降低了2.7倍,ii)在多租户场景中将查询延迟降低了4.6倍,iii)经受住了工作负载的瞬时峰值。
2020-10-06 cs.DC
STRETCH: Virtual Shared-Nothing Parallelism for Scalable and Elastic Stream Processing
流处理应用程序通过数据分析任务的有向无环图从原始数据中提取价值。无共享(SN)并行是扩展流处理应用的事实标准。给定一个应用程序,SN并行实例化每个分析任务的几个副本,使每个实例负责整个分析的专用部分,并依赖于专用队列在连接的实例之间交换数据。一方面,SN并行性可以向上和向外扩展应用程序的执行,因为线程可以在进程/节点内和跨进程/节点运行任务实例。另一方面,它缺乏共享可能会导致不必要的开销,并阻碍扩展时,线程操作的数据,可以共同访问共享内存。这种权衡促使我们研究一种流处理应用程序利用共享内存并增强扩展(在横向扩展之前)的方法,同时坚持流处理应用程序广泛采用的基于SN的API。我们介绍了STRETCH,一个框架,最大限度地扩大规模,并提供即时的弹性重新配置(无状态转移)的流处理应用程序。我们提出了虚拟无共享(VSN)的并行性和弹性的概念,并提供了正式的定义和正确性证明的语义分析任务支持的STRETCH,显示他们扩展了常见的流处理引擎。我们还提供了一个完全实现的原型,并表明STRETCH的性能超过了最先进的框架,如Apache Flink,并提供了前所未有的超快重新配置,即使在配置数十个新任务实例时也不到40毫秒。
2022-04-29 cs.DC
LMStream: When Distributed Micro-Batch Stream Processing Systems Meet GPU
本文介绍了LMStream,它确保有限的延迟,同时最大限度地提高吞吐量的GPU支持的微批量流媒体系统。LMStream设计背后的主要思想可以概括为两个新机制:(1)动态查询和(2)动态操作级查询规划。通过控制微批量大小,LMStream显著降低了单个数据集的延迟,因为它不执行仅用于提高GPU利用率的无条件缓冲。LMStream根据流应用程序中使用的窗口操作的特性将延迟限制为最佳值。基于数据大小和动态设备偏好的查询到执行设备之间的动态映射尽可能地提高了吞吐量和延迟。此外,LMStream提出了一种低开销的在线模型参数优化方法,而不中断实时流处理。我们在Apache Spark上实现了LMStream,它支持微批流处理。与以前的面向吞吐量的方法相比,LMStream的平均延迟最高可提高70.7%,而平均吞吐量最高可提高1.74倍。
2021-11-08 cs.DC
eSPICE: Probabilistic Load Shedding from Input Event Streams in Complex Event Processing
复杂事件处理系统在运行中处理输入事件流。由于输入事件速率可能超过系统的能力,并导致违反定义的延迟界限,因此使用甩负荷来丢弃一部分输入事件流。这里的关键问题是要丢弃多少事件和哪些事件,以便保持定义的延迟范围,并最大限度地降低结果质量。在流处理领域,已经提出了不同的减载策略,但它们主要取决于单个元组(事件)的重要性。然而,当复杂事件处理系统执行模式检测时,事件的重要性也受到相同模式中的其他事件的影响。在本文中,我们提出了一个称为eSPICE的复杂事件处理系统的减载框架。eSPICE依赖于构建一个概率模型,该模型可以了解窗口中事件的重要性。事件在窗口中的位置及其类型用作构建模型的特征。此外,我们提供算法来决定何时开始丢弃事件以及丢弃多少事件。此外,我们广泛评估了eSPICE在两个真实世界数据集上的性能。
2020-02-14 cs.DC
Benchmarking Distributed Stream Processing Platforms for IoT Applications
物联网(IoT)是一种技术范式,其中数百万个传感器实时监控并帮助通知或管理物理,环境和人类系统。物联网应用固有的闭环响应和决策能力使其成为使用低延迟和可扩展流处理平台的理想候选者。分布式流处理系统(DSPS)正在成为任何物联网堆栈的基本组件,但尚未针对物联网数据流和应用程序对当代DSPS的功效和性能进行严格研究。在这里,我们开发了一个基准套件和性能指标,以评估流物联网应用程序的DSPS。该基准测试包括13个常见的物联网任务,这些任务被分类在各种功能类别中并形成微基准测试,以及两个用于统计汇总和预测分析的物联网应用程序,这些应用程序利用了DSPS的各种分布式组成功能。这些与来自智能城市的真实物联网观察的流工作负载相结合。我们验证了流行的Apache Storm DSPS的物联网基准测试,并给出了实证结果。
2016-07-26 cs.DC
Adaptive Processing of Spatial-Keyword Data Over a Distributed Streaming Cluster
具有GPS功能的智能手机的广泛使用以及微博和社交网络应用程序的普及,Twitter和Facebook已经导致了大量带有地理标签的文本数据流的生成。许多应用需要实时处理这些流。例如,基于位置的电子优惠券和广告定位系统使广告商能够向数百万用户注册数百万广告。用户数量通常非常高,他们不断移动,广告也经常变化。因此,向匹配的用户发送正确的广告是非常具有挑战性的。现有的流传输系统要么是集中式的,要么是没有空间关键字感知的,并且不能有效地支持快速到达的空间关键字数据流的处理。本文介绍了一个分布式空间关键字流处理系统Tornado。Tornado的特点是路由单元可以公平地分配工作负载,此外,还可以将数据对象和相应的查询放在同一个处理单元中。路由单元使用增强网格,一种新的结构,配备了一个有效的搜索算法,用于分发数据对象和查询。Tornado使用赋值器来处理查询的数据对象。路由单元通过在数据更新与任何查询不匹配时不发送数据更新进行处理来最小化冗余通信。通过应用动态评估的成本公式,连续表示每个评估器的处理开销,Tornado可以适应工作负载的变化。广泛的实验评估使用空间文本范围查询真实的Twitter数据表明,龙卷风优于非空间文本感知的方法高达两个数量级的整体系统吞吐量。
2017-09-08 cs.DC
RIoTBench: A Real-time IoT Benchmark for Distributed Stream Processing Platforms
物联网(IoT)是一种新兴的技术范式,其中数百万个传感器和执行器帮助实时的【形】监控和管理物理、环境和人类系统。物联网应用固有的闭环响应能力和决策能力使其成为使用低延迟和可扩展流处理平台的理想候选者。托管在云数据中心上的分布式流处理系统(DSPS)正在成为任何物联网软件架构中实时的【形】数据处理和分析的重要引擎。但是,当代DSPS的功效和性能尚未针对物联网应用和数据流进行严格的研究。在这里,我们开发了实时物联网基准套件RIoTBench,以及性能指标,以评估流物联网应用的DSPS。该基准测试包括27个常见的物联网任务,这些任务分为不同的功能类别,并作为可重用的微基准测试实现。此外,我们提出了由这些任务组成的四个物联网应用程序基准,并利用DSPS的各种语义。这些应用程序基于常见的物联网模式,用于数据预处理,统计汇总和预测分析。这些与来自智能城市和健身的真实物联网观察的四个流工作负载相结合,峰值流速率范围从500到10000条消息/秒,频率分布多样。我们在Microsoft Azure公共云上验证了流行的Apache Storm DSPS的RIoTBench套件,并提出了经验观察。DSPS研究人员可以使用该套件进行性能分析和资源调度,物联网从业人员可以使用该套件评估DSPS平台。
2017-01-30 cs.DC
Integrative Dynamic Reconfiguration in a Parallel Stream Processing Engine
负载均衡、操作实例配置和水平扩展是并行流处理引擎中的关键问题,分别可以实现低数据处理延迟、优化集群利用率和最小化通信开销。在以前的工作中,这些问题通常是单独和独立处理的。我们认为,这些问题是紧密耦合的意义上说,他们都需要在运行时确定工作负载的分配和迁移计算状态。单独优化它们将导致次优解决方案。因此,在本文中,我们研究如何将这三个问题建模为一个集成的优化问题。特别是,我们首先考虑工作量分配的通信成本的影响不大,并建模的负载平衡问题作为一个混合线性规划。之后,我们提出了一个扩展的解决方案称为ALBIC,它支持一般的作业。我们实现的Apache风暴,一个开源的并行流处理引擎的顶部所提出的技术。在合成和真实数据集上的广泛实验结果表明,我们的技术明显优于现有的方法。
2016-02-11 cs.DC
The Power of Both Choices: Practical Load Balancing for Distributed Stream Processing Engines
我们研究了分布式流处理引擎中的负载均衡问题,该问题在存在偏斜的情况下加剧。我们引入部分密钥分配(PKG),一个新的流划分方案,适应经典的“两个选择的权力”的分布式流设置,利用两个新的技术:密钥拆分和本地负载估计。这样,它实现了比键分组更好的负载均衡,同时比随机分组更具可扩展性。我们在几个大型数据集上测试PKG,包括真实世界和合成数据集。与标准散列相比,PKG将负载不平衡降低了几个数量级,并且通常可以实现近乎完美的负载平衡。在部署到真正的Storm集群上时,这一结果转化为吞吐量提高了60%,延迟提高了45%。
2015-04-03 cs.DC
Henge: Intent-driven Multi-Tenant Stream Processing
我们提出了Henge,一个系统,以支持基于意图的多租户在现代流处理应用程序。Henge支持多租户作为一等公民:组织内的每个人现在都可以将其流处理作业提交到单个共享的整合集群。此外,Henge允许每个租户(作业)指定其自己的意图(即,服务级别目标(Service Level Objective,SLO)是一个服务级别目标(Service Level Objective,SLO),用于捕获延迟和/或吞吐量。在多租户集群中,尽管集群资源有限,并且在动态输入负载下,Henge调度器不断适应以满足作业的SLO。SLO是软的,基于效用函数。Henge持续跟踪SLO满意度,当作业错过其SLO时,它明智地导航状态空间以实时的执行资源分配,从而最大化系统中所有作业实现的总系统效用。Henge集成在Apache Storm中,我们使用生产拓扑和真实数据集呈现实验结果。
2018-01-31 cs.DC
Khaos: Dynamically Optimizing Checkpointing for Dependable Distributed Stream Processing
分布式流处理系统正在成为大数据处理平台越来越重要的一部分,因为用户越来越依赖于它们提供快速访问新结果的能力。因此,根据这些结果及时做出决策取决于系统容忍故障的能力。通常,这些系统通过实现检查点和回滚恢复来实现容错和从部分故障中自动恢复的能力。然而,由于在这些分布式环境中发生部分故障的统计概率以及作业预期操作的工作负载的可变性,静态配置通常不能以低开销满足服务质量约束。在本文中,我们提出了Khaos,一种新的方法,它利用虚拟云自动化技术的并行处理功能,用于分布式流处理作业中容错配置的自动运行时优化。我们的方法采用了三个后续阶段,借用混沌工程的原则:建立稳定状态的处理条件,进行实验,以更好地了解系统如何执行故障,并使用这些知识,不断减少服务质量违规。我们与Apache Flink一起实现了Khaos原型,并通过实验证明了它的有用性。
2023-01-26 cs.DC
A Comprehensive Survey on Parallelization and Elasticity in Stream Processing
流处理(SP)已经发展为处理例如在物联网领域中产生的大量流数据并从中获得价值的领先范例。SP系统是一个中间件,它在数据源(如传感器)和消费应用程序之间部署操作员网络。SP系统通常面临密集和高度动态的数据流。灵活性和弹性使SP系统能够以持续高的服务质量处理这些流。目前的研究景观提供了广泛的方法,并行化和弹性的SP。每种方法都有特定的假设,并侧重于特定方面的问题。然而,文献缺乏一个全面的概述和分类的最先进的SP并行化和弹性,这是必要的,以巩固国家的研究,并在此基础上规划未来的研究方向。因此,在这次调查中,我们研究了文献,并开发了一个分类的SP系统的并行化和弹性的当前方法。
2019-01-29 cs.DC
Event Stream Processing with Multiple Threads
目前的运行时验证工具很少使用多线程来加速对大型事件跟踪的属性的评估。在本文中,我们提出了一个扩展的BeepBeep 3事件流引擎,允许使用多个线程在查询的评估。各种并行化策略,并介绍了简单的例子。这些战略的实施,然后评估经验上的问题样本。与以前的单线程版本的BeepBeep引擎相比,只将几个线程分配给查询的特定部分,在运行时间方面有了显著的改进。
2017-07-09 cs.DC
Resource Allocation for Multiple Concurrent In-Network Stream-Processing Applications
本文研究了网络流处理应用中的算子映射问题。网络内流处理相当于将一个或多个稳定状态的运算符树应用于在网络中的不同位置处连续更新的多个数据对象。目标是以某个期望的速率计算某些最终数据。不同的算子树可以共享公共子树。因此,可以在不同的应用程序树中重用一些中间结果。这项工作的第一个贡献是提供复杂性的结果,为不同的情况下的基本问题,以及整数线性规划公式的各种问题的实例。第二个贡献是几个多项式时间算法的设计。这些方法的主要目标之一是重用多个应用程序共享的中间结果。我们的定量比较,这些算法在模拟中证明了选择合适的处理器的重要性算子映射。它还使我们能够识别在实践中取得良好效果的启发式。
2009-03-04 cs.DC
On the Semantic Overlap of Operators in Stream Processing Engines
流处理广泛用于物联网到云频谱中,以从连续的数据流中提取信息。流应用程序通常在采用DataFlow模型的专用流处理引擎(SPE)中运行,该模型将此类应用程序定义为运算符图,这些运算符逐步将数据转换为所需的结果。由于操作符可以独立部署和执行,因此DataFlow模型支持并行和分布,从而使流应用程序具有可伸缩性。今天,我们看到了大量SPE,每个SPE都有自己的一组操作符。在这种情况下,理解操作符的语义如何在SPE内部和SPE之间重叠,以及哪些SPE可以支持给定的应用程序,并不是一件小事。我们解决这个问题,正式表明,常见的SPE操作符可以表示为一个单一的,最小的聚合操作符的组合,从而显示任何框架能够运行这样的操作符组合可以运行应用程序定义的最先进的SPE。Aggregate运算符仅依赖于DataFlow模型的核心概念,例如按键和基于时间的窗口进行数据分区,并且只能为它分析的每个窗口输出一个值。连同我们的正式论证,我们经验性地评估如何SPE,只依赖于这样的操作符与SPE提供特定于操作符的实现相比,以及研究的性能影响,更有表现力的聚合运算符,通过放松输出的约束,每个窗口最多一个值。这种共同点的存在不仅意味着SPE内部和SPE之间的操作员的可移植性,而且还为其他数据处理框架定义了一组简洁的需求,以支持流应用程序。
2023-03-01 cs.DC
Colocating Real-time Storage and Processing: An Analysis of Pull-based versus Push-based Streaming
在过去的十年中,实时的【形】大数据架构发展成为处理数据流摄取、存储和处理的专用层。分层流式传输架构集成了由流摄取/存储系统实现的基于拉的读和基于推的写RPC机制。此外,流处理引擎公开了源/宿接口,允许它们轻松地解耦这些系统。然而,开源流引擎利用通过基于拉取的方法实现的工作流源,不断向流摄取/存储发出读RPC,有效地与写RPC竞争。本文提出了一种统一的流架构,利用基于推送和/或基于拉取的源实现集成摄取/存储和处理引擎,可以减少处理延迟,提高系统读写吞吐量,同时为更高的摄取腾出空间。我们实现了一个新的基于推的流媒体源,取代连续拉基于RPC与一个单一的RPC和共享内存(存储和处理处理通过指针共享对象处理流媒体数据)。为此,我们进行了一个实验分析的基于拉与基于推的设计方案的流源阅读器,同时考虑一组流基准和微基准,并讨论这两种方法的优点。
2022-11-10 cs.DC cs.PF
S-RASTER: Contraction Clustering for Evolving Data Streams
Fraunhofer-Chalmers Research Centre for Industrial Mathematics(弗劳恩霍夫-查尔姆斯工业数学研究中心);Fraunhofer Center for Machine Learning(弗劳恩霍夫机器学习中心)
压缩聚类(RASTER)是一种单遍算法,用于对2D数据进行基于密度的聚类。它可以在线性时间和恒定内存中处理任意数量的数据,快速识别近似聚类。它还表现出良好的可扩展性,在存在多个CPU核心。与标准聚类算法相比,RASTER具有非常有竞争力的性能,但代价是精度降低。然而,RASTER仅限于批处理,无法识别临时存在的簇。相比之下,S-RASTER是RASTER的流处理范式的适应,能够识别不断变化的数据流中的集群。该算法保留了其父算法的主要优点,即单次通过线性时间成本和滑动窗口内每个离散时间步长的恒定内存需求。滑动窗口被有效地修剪,并且聚类仍然在线性时间内执行。像RASTER一样,S-RASTER在速度上牺牲了通常可以忽略不计的精度。我们的评估表明,竞争算法至少慢50%。此外,S-RASTER显示出良好的定性结果,基于标准度量。它非常适合于真实世界的场景,其中集群不会持续发生,而是周期性发生。
2020-09-16 cs.DC cs.DS cs.LG
GeoFlink: A Distributed and Scalable Framework for the Real-time Processing of Spatial Streams
Apache Flink是一个开源系统,用于批量和流数据的可扩展处理。Flink本身并不支持空间数据流的高效处理,这是许多处理空间数据的应用程序的要求。除了Flink之外,其他可扩展的空间数据处理平台,包括GeoSpark、Spatial Hadoop等,都不支持流式工作负载,只能处理静态/批量工作负载。为了填补这一空白,我们提出了GeoFlink,它扩展了Apache Flink,以支持空间数据类型,索引和连续查询空间数据流。为了能够有效地处理空间连续查询,并在Flink集群节点之间进行有效的数据分布,引入了基于网格的索引。GeoFlink目前支持点数据类型上的空间范围、空间$k$ NN和空间连接查询。对真实空间数据流的广泛实验研究表明,GeoFlink实现了显着更高的查询吞吐量比普通Flink处理。
2020-08-03 cs.DB cs.DC
A protocol for instruction stream processing
由执行中的指令序列产生的行为是要由某个执行环境控制的行为:执行的每个步骤启动执行环境对指令的处理,并且在处理完成时返回的应答确定行为如何进行。在本文中,我们关注的情况下,处理发生远程。我们描述了一个协议,以处理的情况下,由执行下的指令序列产生的行为导致生成的指令流进行处理和远程执行单元处理的指令流的处理。
2009-05-14 cs.DC cs.PL
Scalable real-time processing with Spark Streaming: implementation and design of a Car Information System
流数据处理是当今大数据领域的热门话题,因为它可以在低延迟内处理大量事件。最常用的开源流处理平台之一是Spark Streaming,本文基于真实世界的用例对其进行了演示和讨论。该用例是关于汽车信息系统的,它是经典流处理系统的一个示例。首先,系统被设计和工程化,其中应用程序架构被仔细地创建,因为它应该适合于类似的用例。在本文的最后,CIS和火花流的目标问题度量模型的使用进行评估。评估证明,Spark Streaming能够以可扩展和容错的方式创建流处理。但它也表明Spark是一个非常快速的项目,这可能会在软件项目的开发和维护过程中造成问题。
2017-09-14 cs.DB cs.DC
Delivery, consistency, and determinism: rethinking guarantees in distributed stream processing
最先进的流处理系统的一致性要求是根据交付保证来定义的。精确一次是最强的一个,也是最终用户最想要的。然而,关于这一概念有几个问题。强制执行一次的常用技术会产生显著的性能开销。此外,精确一次的概念没有正式定义,也没有捕获提供支持此保证的流处理系统的所有属性。在本文中,我们介绍了一个正式的框架,使我们能够更经常地定义流保证。我们证明了交付,一致性和确定性的属性是紧密相连的分布式流处理。我们还表明,具有轻量级的确定性,它是可能的,以提供确切的一次几乎没有性能开销。实验表明,该方法可以显着优于替代工业解决方案。
2019-07-14 cs.DB cs.DC
MorphStream: Scalable Processing of Transactions over Streams on Multicores
本文提出多核事务流处理引擎 MorphStream,通过规划、调度、执行三阶段范式支持动态调度与并行处理,实验表明其在多场景下优于现有 TSPE。
2023-07-24 cs.DB cs.DC
Fast Prototyping of Distributed Stream Processing Applications with stream2gym
本文提出基于 Mininet 的 stream2gym 工具,通过高层接口支持大规模分布式流处理应用的快速原型化与多条件测试,并以低资源消耗获得与硬件测试平台相近的准确结果。
2024-09-01 cs.DC cs.NI
A Comprehensive Benchmarking Analysis of Fault Recovery in Stream Processing Frameworks
如今,一些软件系统依赖于流处理架构来提供可扩展的性能并近实时地处理大量数据。流处理框架通过将应用程序的执行分布在多台机器上来促进可伸缩计算。尽管性能被广泛研究,容错的测量-流处理框架提供的一个关键功能-仍然没有得到适当的测量更新和全面的测试床。此外,故障恢复对性能的影响大多被忽略。本文提供了一个全面的故障恢复性能,稳定性和恢复时间在云原生环境与现代开源框架,即Flink,Kafka流,和火花结构化流的分析。我们的基准分析的灵感来自混沌工程注入故障。一般来说,我们的研究结果表明,有很大的变化相比,以前的研究在分布式流处理的故障恢复。特别是,结果表明,Flink是最稳定的,并具有最好的故障恢复之一。此外,Kafka Streams在失败后表现出性能不稳定性,这是由于其当前的重新平衡策略在负载均衡方面可能是次优的。Spark Structured Streaming显示了适当的故障恢复性能和稳定性,但具有更高的事件延迟。我们的研究旨在(i)帮助行业从业者选择最合适的流处理框架,以有效和可靠地执行数据密集型应用程序;(ii)支持研究人员应用和扩展我们的研究方法以及我们的基准;(iii)识别,预防和协助解决生产部署中的潜在问题。
2024-05-29 cs.DC cs.SE
Parallelizing Windowed Stream Joins in a Shared-Nothing Cluster
并行和分布式计算环境中大量处理节点的可用性使得能够在高速数据流上进行复杂的实时的处理,如许多新兴应用所要求的。滑动窗口流连接是流处理系统中最重要的操作之一。在本文中,我们考虑的问题,并行化的滑动窗口流连接运算符在一个没有共享集群。我们提出了一个框架,固定或预定义的通信模式的基础上,分配加入处理负载的无共享集群。我们考虑各种开销,同时扩展了大量的节点,并提出解决方案的方法来应对这些问题。我们实现了一个集群使用的消息传递系统的算法,并提出了实验结果表明连接处理算法的有效性。
2013-07-24 cs.DB cs.DC
A Survey on Transactional Stream Processing
本文综述事务流处理(TSP)的发展,梳理现有方案在需求、方法与设计权衡上的异同,并展望未来方向,以推动新型TSP系统设计。
2023-06-01 cs.DB cs.DC
AlertMix: A Big Data platform for multi-source streaming data
对流处理的需求正以前所未有的速度增长。大数据不再局限于处理大量数据。在大多数现实场景中,处理流数据的需求只能满足业务需求。交易、欺诈检测、系统监控、产品维护以及Twitter和YouTube视频等社交媒体数据都需要它。在这种情况下,关注于批处理的“太晚架构”无法实现用例。在本文中,我们提出了一个端到端的大数据平台AlertMix,用于处理多源流数据。它的架构以及如何利用各种大数据技术在这项工作中进行了解释。我们展示了我们的平台在目前由平台处理的实时流媒体数据上的性能。
2018-06-18 cs.DC cs.IR
SProBench: Stream Processing Benchmark for High Performance Computing Infrastructure
Center for Scalable Data Analytics and Artificial Intelligence (ScaDS.AI) Center for Interdisciplinary Digital Sciences (CIDS) TUD Dresden University of Technology(德累斯顿工业大学可扩展数据分析与人工智能中心(ScaDS.AI)跨学科数字科学中心(CIDS))
本文提出SProBench,一种针对大规模计算系统的数据流处理框架性能评估基准测试工具,具备模块化架构、SLURM集群支持及高可扩展性,实验显示其吞吐量超过现有基准十倍。
2025-04-03 cs.DC cs.PF
Decentralized Management of Bi-modal Network Resources in a Distributed Stream Processing Platform
本文提出了资源管理技术分配通信和计算资源的分布式流处理平台。该平台旨在利用两类网络连接的协同作用-专用和机会。我们以前进行的研究已经证明了这样的双模态资源组织的好处,它结合了一个非常大的池的空闲计算机的机会计算能力的专用计算机的小池,以服务于高吞吐量的计算应用程序。本文将双模态资源组织的思想扩展到通信资源的管理中。由于分布式流处理应用需要以一致的速率在处理站点之间传输大量数据,因此对网络资源的适当控制对于确保稳定的处理流是重要的。在本文中使用的系统模型是一个平台,在分布式站点的流处理服务器互连的专用和机会主义的通信链路的组合。详细分析了两个相关的资源分配问题,并使用分散算法求解。一个是流处理任务在处理和通信资源上的映射。另一个是自适应重新分配的机会通信链路,由于其容量的变化。总体优化目标是更高的任务吞吐量和更好地利用昂贵的专用链路。评估表明,该算法能够利用双模态通信链路的协同作用,实现优化目标。
2009-03-24 cs.DC cs.NI
ShuffleBench: A Benchmark for Large-Scale Data Shuffling Operations with Distributed Stream Processing Frameworks
本文提出新型基准测试程序ShuffleBench,用于评估分布式流处理框架的数据shuffle性能,它高度可配置、开源且支持四款主流框架,实验显示Flink吞吐量最高、Hazelcast延迟最低。
2024-03-07 cs.DC cs.SE
Using Dedicated and Opportunistic Networks in Synergy for a Cost-effective Distributed Stream Processing Platform
本文提出了一个案例,利用专用和机会网络资源的协同作用,在分布式托管平台的数据流处理应用程序。我们以前的研究已经证明了在高吞吐量计算应用程序中,及时分配处理单元是主要关注点的情况下,将专用可靠资源与机会资源相结合的好处。由于分布式流处理应用程序需要以一致的速率在处理站点之间进行大量数据传输,因此对网络资源的适当控制对于确保稳定的处理流非常重要。在本文中,我们提出了一个系统模型的混合托管平台,其中安装在分布式站点的流处理服务器互连的专用链接和公共互联网的组合。分散式算法已经被开发用于在竞争任务之间分配两类网络资源,其目标是实现更高的任务吞吐量和更好地利用昂贵的专用资源。从广泛的模拟研究结果表明,适当的管理,系统利用专用和机会资源的协同作用,产生相当高的任务吞吐量,因此,更高的投资回报率比系统单独使用昂贵的专用资源。
2009-03-25 cs.DC cs.NI
ESTemd: A Distributed Processing Framework for Environmental Monitoring based on Apache Kafka Streaming Engine
Central University of Technology(中央理工大学)
分布式网络和实时系统正在成为新计算机时代物联网(IoT)最重要的组成部分,其中包括从传感器生成的巨大数据流或数据集以及从现有遗留系统生成的数据。生成的数据提供了测量,推断和理解环境指标的能力,从脆弱的生态和自然资源到城市环境。这可以通过分析异构数据源(结构化和非结构化)来实现。在本文中,我们提出了一个分布式框架环境监测领域的事件流处理引擎(ESTemd)的异构环境数据流处理的应用。我们在这一领域的工作表明,大数据技术可以在环境决策支持系统、预警和预报系统中发挥有益的作用。提出的框架解决了异构系统的数据异构性和实时的处理巨大的环境数据集的挑战,通过发布/订阅方法,通过一个统一的数据管道与Apache Kafka的应用程序的实时的形状分析。
2021-04-02 cs.AI cs.DC
AgileDART: An Agile and Scalable Edge Stream Processing Engine
针对传统数据处理系统难以适配边缘应用低延迟、高并发、环境异构动态的问题,提出AgileDart边缘流处理引擎,通过动态数据流抽象和老虎机路径规划模型,相较现有方案在延迟、扩展性和适应性上表现更优。
2025-07-29 cs.DB cs.DC
Flo: a Semantic Foundation for Progressive Stream Processing
本文提出参数化流处理语言 Flo,通过流处理进展和即时执行两个语义属性,确保流处理输出的确定性与新鲜度,并证明 Flink、LVars 和 DBSP 等系统语义可由 Flo 建模。
2024-11-13 cs.DC cs.PL
Performance Optimization in Stream Processing Systems: Experiment-Driven Configuration Tuning for Kafka Streams
Johannes Kepler University(约翰内斯·开普勒大学);Dynatrace Research(Dynatrace 研究部);JKU/Dynatrace Co-Innovation Lab, Johannes Kepler University Linz(JKU/Dynatrace 联合创新实验室,约翰内斯·开普勒大学林茨分校);LIT CPS Lab, Johannes Kepler University Linz(LIT CPS 实验室,约翰内斯·开普勒大学林茨分校)
本文提出了一种基于实验驱动的自动化配置优化方法,通过拉丁超立方采样、模拟退火和梯度爬升三种技术,提升Kafka Streams在云原生环境下的性能表现。
2026-03-04 cs.DC cs.PF
Incremental Query Processing on Big Data Streams
本文讨论了分布式流处理引擎(DSPE)上的大规模增量数据分析的在线查询处理。我们的目标是将任何类似SQL的查询自动转换为增量DSPE程序。与其他方法相比,我们得到的增量程序返回准确的结果,而不是近似的答案。这是通过在查询计算生存期内保留最小状态,并使用增量计算技术在每个时间间隔(取决于当前状态和最新批次的数据)返回准确的快照答案来实现的。我们的方法可以处理嵌套数据汇集上的多种形式的查询,包括迭代和嵌套查询、具有聚合的分组和等价连接。最后,我们报告了我们的框架的原型实现,称为MRQL流,运行在Spark之上,我们通过实验验证了我们的方法的有效性。
2016-03-06 cs.DB cs.DC
Quantitative Impact Evaluation of an Abstraction Layer for Data Stream Processing Systems
随着对处理不断增长的数据量的需求,已经开发了各种新的数据流处理框架。将实现从一个这样的系统移动到另一个这样的系统,例如,出于性能原因,需要使现有应用程序适应新接口。Apache Beam通过提供一个抽象层来解决这些高替代成本,该抽象层允许在任何支持的流框架上执行程序。在本文中,我们提出了一种新的基准架构,用于比较使用Apache Beam对三种流媒体框架的性能影响:Apache Spark Streaming,Apache Flink和Apache Apex。我们发现,在调查的系统中使用Apache Beam进行应用程序开发时,性能会受到显着影响。总的来说,使用Apache Beam进行检查流应用程序会导致查询执行时间的差异很大,与没有抽象层的查询相比,查询执行时间的延迟高达58倍。所有开发的基准工件都是公开的,以确保可重复的结果。
2019-07-18 cs.DC cs.PF
To Stream or Not to Stream: Towards A Quantitative Model for Remote HPC Processing Decisions
Argonne National Laboratory(阿贡国家实验室)
针对科学仪器远程 HPC 处理是否应采用流式传输的问题,提出纳入数据速率、传输效率、算力和 I/O 开销的定量框架与 Streaming Speed Score,并基于 LCLS-II 验证其可识别流式传输收益区间。
2025-09-29 cs.DC cs.NI
A Context-Aware Knowledge Graph Platform for Stream Processing in Industrial IoT
Polytechnic University of Marche(马尔凯理工大学)
本文提出一种面向工业物联网流处理的上下文感知知识图谱平台,通过统一异构数据源实现灵活的数据采集和可组合的流处理管道,结合语义模型和上下文推理提升数据互操作性。
2026-02-23 cs.DB cs.DC cs.IR
PDSP-Bench: A Benchmarking System for Parallel and Distributed Stream Processing
本文提出PDSP-Bench基准测试系统,针对分布式异构环境中的并行流处理性能,支持集成机器学习模型,通过对Apache Flink的测试及成本模型比较,揭示并行性对性能的非线性等趋势。
2025-04-14 cs.DB cs.DC