Skip to main content
QUICK REVIEW

[论文解读] A Scheduling Algorithm to Maximize Storm Throughput in Heterogeneous Cluster

Hamid Reza Nasiri, Saeed Nasehi|arXiv (Cornell University)|Jan 28, 2020
Cloud Computing and Resource Management参考文献 18被引用 5
一句话总结

本文提出了一种面向 Apache Storm 的异构性感知调度算法,可动态确定流处理拓扑中每个组件的最优实例数量,并根据计算能力将实例映射到合适的集群节点。通过使用 CPU 利用率预测模型和迭代式拓扑扩展,该算法在保持 92% 预测准确率的同时,相比 Storm 的默认调度器实现了 7%–44% 的吞吐量提升,性能接近最优水平(误差在 4% 以内)。

ABSTRACT

In the most popular distributed stream processing frameworks (DSPFs), programs are modeled as a directed acyclic graph. This model allows a DSPF to benefit from the parallelism power of distributed clusters. However, choosing the proper number of vertices for each operator and finding an appropriate mapping between these vertices and processing resources have a determinative effect on overall throughput and resource utilization; while the simplicity of current DSPFs' schedulers leads these frameworks to perform poorly on large-scale clusters. In this paper, we present the design and implementation of a heterogeneity-aware scheduling algorithm that finds the proper number of the vertices of an application graph and maps them to the most suitable cluster node. We start to scale up the application graph over a given cluster gradually, by increasing the topology input rate and taking new instances from bottlenecked vertices. Our experimental results on Storm Micro-Benchmark show that 1) the prediction model estimate CPU utilization with 92% accuracy. 2) Compared to default scheduler of Storm, our scheduler provides 7% to 44% throughput enhancement. 3) The proposed method can find the solution within 4% (worst case) of the optimal scheduler which obtains the best scheduling scenario using an exhaustive search on problem design space.

研究动机与目标

  • 解决 Storm 默认轮询调度器在异构集群中因忽略节点异构性而导致的性能低下问题。
  • 在大规模、异构的流处理环境中最大化应用吞吐量和资源利用率。
  • 设计一种调度算法,以确定每个组件的最优实例数量,并高效地将其映射到集群节点。
  • 通过基于机器能力的 CPU 利用率预测模型,确保无节点被过度使用。
  • 提供一种可扩展且高效的替代方案,以避免对最优调度进行穷举搜索,从而在低开销下实现接近最优的性能。

提出的方法

  • 该算法从基线拓扑开始,通过逐步提高输入速率并在瓶颈节点增加新实例来实现迭代式扩展。
  • 利用异构性感知的预测模型,基于性能分析数据估算不同机器上每个任务的 CPU 利用率。
  • 调度器在分配实例时综合考虑各节点的处理能力,旨在实现负载均衡并避免资源超分配。
  • 采用迭代的、基于速率的扩展策略,识别并解决拓扑中的性能瓶颈。
  • 通过扩展 Storm 源代码,将该算法实现为修改后的调度器,以支持异构性感知的任务分配。
  • 将其方案与基于穷举搜索的最优调度器进行对比,以评估性能差距。

实验结果

研究问题

  • RQ1流处理调度器如何有效利用异构集群资源,以在 Storm 中最大化吞吐量?
  • RQ2忽略节点异构性对 Storm 默认调度器的吞吐量和资源利用率有何影响?
  • RQ3预测模型能否在流工作负载中准确估算不同机器类型上的 CPU 利用率?
  • RQ4启发式调度算法在吞吐量和资源均衡方面,能多接近最优解?
  • RQ5在异构流处理环境中,调度复杂性与性能增益之间存在何种权衡?

主要发现

  • 所提出的调度器在各种拓扑中相比 Storm 的默认轮询调度器实现了 7%–44% 的吞吐量提升。
  • CPU 利用率预测模型对实际利用率的估计准确率达到 92%,从而实现了可靠的负载预测。
  • 通过在设计空间中进行穷举搜索,该算法的性能与最优调度器相比仅相差 4%,表明其接近最优。
  • 该方法通过利用机器特定的性能分析数据,有效防止了任何集群节点的过度使用。
  • 该方法在集群异构性增加和输入速率上升时仍能保持良好的可扩展性,维持高吞吐量和均衡的资源使用。
  • 与 R-Storm 和 D-Storm 等现有方案相比,该方法通过显式建模异构性并避免假设资源同质,表现出更优性能。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。