在本文中关注其中的两个方面:
1.operator parallelisation—configuring the degree of parallelism for streaming logic, and
2.task scheduling—deciding the placement of streaming tasks on distributed resources.
运算符的并行化:配置流逻辑的并行度
task任务的调度:决定流任务在分布式资源上的位置
运算符并行度:
1.运算符并行度的计算:对工作负载、每个task的处理能力分析,基础设施的能力很重要(CPU核心、线程数量限制了运行时的并行最大限度)
2.运算符并行度调整:由于工作负载的变化、资源的适应性,在运行时可能会出现过度并行或者不足并行度。
挑战:如何在细粒度层面上监控和剖析task,以找到真正的性能瓶颈。
如何在调整过程中透明状态管理,即有状态运算符在task正确的重新分配和迁移状态,以使得并行度调整对开发者透明。