论文部分内容阅读
当今社会已经逐渐变成了大数据驱动的社会。大数据服务为人们提供多样的数据服务。分布式运算框架Hadoop成为目前处理大数据集的主要解决方案。人们通过向集群增加新的计算节点来提升分布式运算的性能。随着集群规模的不断扩大,由于缺乏合理有效的管理策略导致整个集群产生大量的能耗。研究表明,现在数据中心大多数服务器都以很低的运行效率运行。因此如何在充分利用集群的计算资源下,提高整个系统的运算性能并且降低系统的能耗是目前学者和工业界的主要研究方向。本文首先对Hadoop集群的使用状况进行分析,发现目前集群由于缺乏有效的配置导致无法充分利用集群的运算资源。通过单方面地向集群中添加计算节点来提高分布式运算时效性不是一种长久可行的方案。分布式系统的数据存储也处于粗放的管理状态。研究表明良好的数据布局策略能极大的提升分布式运算的性能。当前的数据布局策略在数据存储上缺乏对集群中节点的异构性进行考虑。随着集群的扩大,集群中的节点在能力上的差异逐渐增大将导致原本的数据布局策略无法均衡有效的分配数据从而降低系统的性能并产生大量的能耗。针对以上这些情况,为了充分利用集群的计算资源并降低系统的能耗,本文首先提出对分布式运算框架Hadoop提供的参数进行合理的配置。针对不同数据量的任务,通过相关实验给出合理的配置值来达到性能的最大化。在考虑集群的异构性上,通过相关的实验得出在不同的计算节点通过不同的配置能提高分布式运算的性能。相对于Hadoop默认的参数配置,在考虑系统的异构性时对参数的配置进行调优可以提升系统的性能。在第二部分工作中,本文通过相关的实验发现计算节点的内存使用状态能影响分布式运算的性能。本文提出基于内存使用度预测的任务分配机制。在进行任务调度时,根据计算节点的内存使用历史数据来预测将来的使用状态进行任务分配调度。这种任务分配机制能在内存压力较大时通过减少任务的分配来降低内存的压力并且通过对内存使用度阈值进行设置可以实现更加灵活的任务调度机制。这种基于内存使用度预测的任务调度机制能充分利用集群的计算资源提升系统的性能。在第三部分工作中,本文还提出了基于存储节点信息的异构分布式系统数据布局策略。这种数据布局策略通过对机器的信息管理对不同状态的机器使用不同的管理策略。在数据布局时,充分考虑了存储节点的运算性能、存储能力、数据相关性来进行数据分配。这种数据布局策略能在实现负载均衡下,充分发挥存储节点的性能并且通过不同的管理策略来降低系统的能耗。为了评估实验方案对系统性能的影响,本文通过搭建Hadoop集群环境进行相关的实验。实验表明相对于系统默认的参数配置,通过参数的调优系统运行相同任务量的时间得到了降低,也就是性能得到了提升。基于内存使用度预测的任务分配机制相对于默认的任务分配机制,在计算节点处于不同内存压力状态下,这种任务调度机制的平均执行时间降低了6.625s,性能提升了平均4.25%。最后通过对关联性数据分布实验对系统性能结果的分析,证明这种基于存储节点信息的异构分布式数据布局策略能提高系统的性能并且降低能耗。