Distributed Stream Processing systems have become an essential part of big data processing platforms. They are characterized by the high-throughput processing of near to real-time event streams with the goal of delivering low-latency results and thus enabling time-sensitive decision making. At the same time, results are expected to be consistent even in the presence of partial failures where exactly-once processing guarantees are required for correctness. Stream processing workloads are oftentimes dynamic in nature which makes static configurations highly inefficient as time goes by. Static resource allocations will almost certainly either negatively impact upon the Quality of Service and/or result in higher operational costs. In this paper we present Phoebe, a proactive approach to system auto-tuning for Distributed Stream Processing jobs executing on dynamic workloads. Our approach makes use of parallel profiling runs, QoS modeling, and runtime optimization to provide a general solution whereby configuration parameters are automatically tuned to ensure a stable service as well as alignment with recovery time Quality of Service targets. Phoebe makes use of Time Series Forecasting to gain an insight into future workload requirements thereby delivering scaling decisions which are accurate, long-lived, and reliable. Our experiments demonstrate that Phoebe is able to deliver a stable service while at the same time reducing resource over-provisioning.
翻译:分散式流处理系统已成为大型数据处理平台的一个基本部分,其特征是近实时事件流的高通量处理,目的是提供低延迟结果,从而能够作出具有时间敏感性的决策;同时,即使出现部分故障,需要完全同步的处理保证以保持正确性,结果预期也会一致;流流处理工作量往往具有动态性,这种动态性使得静态配置随着时间推移而变得效率极低;静态资源分配几乎肯定会对服务质量产生不利影响和(或)导致更高的业务费用;在本文件中,我们介绍Phoebe(Phoebe)是系统对分散式流处理工作进行自动调整的主动方法,用于执行动态工作量。我们的方法利用平行的剖析运行、QoS建模和时间优化提供一般解决办法,使配置参数自动调整,以确保稳定的服务以及符合恢复时间指标。Phooebe(Phoebe)利用时间序列(Surveilling)来了解未来的工作量要求,从而在交付稳定、稳定、稳定、稳定、稳定、能够实现资源更新的实验的同时,我们的方法将展示一个稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定、稳定地进行的决策。