基于布谷鸟算法的Storm集群动态负载均衡策略
发布时间:2021-04-17 21:32
Storm作为开源的分布式实时计算框架在处理流式数据方面具有明显的优势,但其默认调度算法没有将节点资源与任务实际相结合,仍存在节点资源利用率不高等问题,在负载均衡方面存在较大提升空间。为此,提出了一种基于布谷鸟搜索算法的Storm集群动态负载均衡策略(dynamic load balancing strategy for storm cluster based on cuckoo search algorithm,DLBSCSA)。该策略为达到集群节点负载的动态均衡,将任务调度模拟为布谷鸟寻窝产卵的过程,综合分析集群的CPU、网络带宽、内存等资源的实时利用情况,通过布谷鸟搜索算法的寻优过程自适应地确定节点性能权重,并根据权重动态分配任务。实验结果表明,该算法可以实现资源的合理分配,达到集群动态的负载均衡,从而减小集群响应时间,与默认算法相比具有更高的集群吞吐量和更小的系统延迟。
【文章来源】:计算机技术与发展. 2019,29(10)
【文章页数】:7 页
【部分图文】:
用户提交的Topology
逍阅茏?好。而为了达到资源的动态负载均衡,最主要的是根据集群运转情况实时地计算出最优的资源分配权重。动态负载均衡模型可以描述为:向m个节点分配n个任务,综合多个性能指标加权计算反映节点的负载向量L,通过寻找最优的权重向量α,使负载向量L能够正确地反映集群系统的负载。再利用选择函数,根据历史信息和动态权重合理而均衡地选取节点来对负载进行处理,使整个任务具有最短的处理时间和最大的吞吐量。由于权重向量α随集群的负载情况而变化,需要对其进行实时检测并动态地计算最新的α。动态负载均衡模型如图2所示。图2动态负载均衡模型动态负载均衡的最终目的是减少集群响应时间,做到任务的实时处理。为此将目标函数定义为集群系统的平均响应时间,目标函数越小表示集群系统的总体性能越好。即F=∑Res/m(3)其中,F为目标函数;Res为集群系统响应时间向量。由上文知,Res由节点负载向量L,任务向量T和选择函数Sel来确定,即:Res=(L,T,Sel)(4)其中选择函数Sel定义任务和节点间的映射关·661·计算机技术与发展第29卷
F渲幸桓?作为主节点运行Nimbus进程,实现资源分配以及任务调度;从节点执行Nimbus分派的任务,启动和停止由其自身管理的Worker进程。同时还搭建了Zookeeper集群,它们始终处于运行状态。文中选择典型的大数据处理应用WordCount来进行实验,分别实现了默认算法与文中算法的Word-Count程序并提交到Storm集群运行。同时,为了避免其他不确定性对实验结果的干扰,将2个程序进行多次实验,计算结果的平均值完成实验的结果分析。所有节点硬盘为20GB,网卡为10Gbit。在处理时延方面,文中算法与默认调度算法的处理时延如图3所示。可以看出,较之于默认调度算法,文中算法的处理时延大体上有所下降,约降低20%~25%左右。图3算法时延比较在系统吞吐量方面,文中基于布谷鸟搜索算法的Storm集群动态负载均衡算法与默认调度算法的吞吐量如图4所示。可以看出,较之于默认调度算法,文中算法的吞吐量在整体上有所提高,约提高了20%左右。针对负载均衡性能的测试,设计了四种对资源种类需求不一样的Topology以评估文中算法在不同资源使用情况集群下的处理能力。其中,Topology1~Topology4分别属于CPU密集型作业、内存密集型作·861·计算机技术与发展第29卷
【参考文献】:
期刊论文
[1]Storm下基于最佳并行度的贪心调度算法[J]. 熊安萍,段杭彪,蒋亚雄. 计算机应用研究. 2019(04)
[2]Storm环境下基于权重的任务调度算法[J]. 鲁亮,于炯,卞琛,英昌甜,师康利,蒲勇霖. 计算机应用. 2018(03)
[3]模拟退火下布谷鸟算法求解车间作业调度问题[J]. 施文章,韩伟,戴睿闻. 计算机工程与应用. 2017(17)
[4]Storm环境下一种改进的任务调度策略[J]. 刘月超,于炯,鲁亮. 新疆大学学报(自然科学版). 2017(01)
[5]基于Storm拓扑结构热边的调度算法[J]. 熊安萍,王贤稳,邹洋. 计算机工程. 2017(01)
[6]基于改进布谷鸟搜索算法的云计算资源调度[J]. 赵莉. 南京理工大学学报. 2016(04)
[7]基于布谷鸟搜索的多处理器任务调度算法[J]. 杨辉华,张晓凤,谢谱模,韦向远. 计算机科学. 2015(01)
[8]大数据流式计算:关键技术及系统实例[J]. 孙大为,张广艳,郑纬民. 软件学报. 2014(04)
本文编号:3144174
【文章来源】:计算机技术与发展. 2019,29(10)
【文章页数】:7 页
【部分图文】:
用户提交的Topology
逍阅茏?好。而为了达到资源的动态负载均衡,最主要的是根据集群运转情况实时地计算出最优的资源分配权重。动态负载均衡模型可以描述为:向m个节点分配n个任务,综合多个性能指标加权计算反映节点的负载向量L,通过寻找最优的权重向量α,使负载向量L能够正确地反映集群系统的负载。再利用选择函数,根据历史信息和动态权重合理而均衡地选取节点来对负载进行处理,使整个任务具有最短的处理时间和最大的吞吐量。由于权重向量α随集群的负载情况而变化,需要对其进行实时检测并动态地计算最新的α。动态负载均衡模型如图2所示。图2动态负载均衡模型动态负载均衡的最终目的是减少集群响应时间,做到任务的实时处理。为此将目标函数定义为集群系统的平均响应时间,目标函数越小表示集群系统的总体性能越好。即F=∑Res/m(3)其中,F为目标函数;Res为集群系统响应时间向量。由上文知,Res由节点负载向量L,任务向量T和选择函数Sel来确定,即:Res=(L,T,Sel)(4)其中选择函数Sel定义任务和节点间的映射关·661·计算机技术与发展第29卷
F渲幸桓?作为主节点运行Nimbus进程,实现资源分配以及任务调度;从节点执行Nimbus分派的任务,启动和停止由其自身管理的Worker进程。同时还搭建了Zookeeper集群,它们始终处于运行状态。文中选择典型的大数据处理应用WordCount来进行实验,分别实现了默认算法与文中算法的Word-Count程序并提交到Storm集群运行。同时,为了避免其他不确定性对实验结果的干扰,将2个程序进行多次实验,计算结果的平均值完成实验的结果分析。所有节点硬盘为20GB,网卡为10Gbit。在处理时延方面,文中算法与默认调度算法的处理时延如图3所示。可以看出,较之于默认调度算法,文中算法的处理时延大体上有所下降,约降低20%~25%左右。图3算法时延比较在系统吞吐量方面,文中基于布谷鸟搜索算法的Storm集群动态负载均衡算法与默认调度算法的吞吐量如图4所示。可以看出,较之于默认调度算法,文中算法的吞吐量在整体上有所提高,约提高了20%左右。针对负载均衡性能的测试,设计了四种对资源种类需求不一样的Topology以评估文中算法在不同资源使用情况集群下的处理能力。其中,Topology1~Topology4分别属于CPU密集型作业、内存密集型作·861·计算机技术与发展第29卷
【参考文献】:
期刊论文
[1]Storm下基于最佳并行度的贪心调度算法[J]. 熊安萍,段杭彪,蒋亚雄. 计算机应用研究. 2019(04)
[2]Storm环境下基于权重的任务调度算法[J]. 鲁亮,于炯,卞琛,英昌甜,师康利,蒲勇霖. 计算机应用. 2018(03)
[3]模拟退火下布谷鸟算法求解车间作业调度问题[J]. 施文章,韩伟,戴睿闻. 计算机工程与应用. 2017(17)
[4]Storm环境下一种改进的任务调度策略[J]. 刘月超,于炯,鲁亮. 新疆大学学报(自然科学版). 2017(01)
[5]基于Storm拓扑结构热边的调度算法[J]. 熊安萍,王贤稳,邹洋. 计算机工程. 2017(01)
[6]基于改进布谷鸟搜索算法的云计算资源调度[J]. 赵莉. 南京理工大学学报. 2016(04)
[7]基于布谷鸟搜索的多处理器任务调度算法[J]. 杨辉华,张晓凤,谢谱模,韦向远. 计算机科学. 2015(01)
[8]大数据流式计算:关键技术及系统实例[J]. 孙大为,张广艳,郑纬民. 软件学报. 2014(04)
本文编号:3144174
本文链接:https://www.wllwen.com/kejilunwen/sousuoyinqinglunwen/3144174.html