摘要

Flink是目前非常流行的流处理引擎.和先前的Hadoop,Spark,Storm等分布式计算框架相比,Flink能实现低延迟、高吞吐,保证Exactly Once.调度模块是保证集群高性能非常重要的一部分,但目前Flink调度默认把集群中所有节点看作是同等性能的,采用轮询调度策略.但在异构集群里这样的调度就会低效,因为计算资源少的节点运行的Task和计算资源多的节点运行的Task一样多,所以局部负载不均衡,影响Job的运行时间和吞吐量,造成延时.提出平滑加权轮询任务调度算法和基于蚁群算法的任务调度算法,解决运行过程中集群负载不均衡问题.平滑加权轮询任务调度算法在任务调度初始阶段根据集群资源按照权重平滑轮询调度.基于蚁群算法的任务调度算法是在运行过程中当集群已使用资源高于阈值时采用类似蚁群算法去执行任务调度,动态计算全局最优任务分配方案,能重新负载均衡.

全文