当前位置:问答库>论文摘要

题目:面向大数据的分布式平台分析与性能建模

关键词:Hadoop,Spark,迭代操作,性能分析,性能预测

  摘要



      Hadoop是一种十分流行的通用计算框架,可用于处理多种不同类型的数据密集型应用。但是,Hadoop并不适用于迭代操作,因为相邻两次迭代之间Hadoop不能将中间结果保存在内存中,每次迭代需要从磁盘重新加载数据,频繁的磁盘访问削弱了其性能。作为一种新型计算框架,Spark设计了一种全局缓存机制。由于在整个迭代过程中,中间结果可以一直保存在集群机器的内存中,Spark无需对磁盘进行访问,因而Spark在响应时间方面获得了更好的优势。尽管有关Spark的文献已经从时间性能方面对Spark和Hadoop做了评估,但是该文献却没有对CPU利用率、内存占用、磁盘I/O和网络I/O这些十分重要的性能指标做分析。另外,我们也怀疑Spark在引入全局缓存机制后不得不付出在内存占用方面的代价。

     针对上述研究空白和疑惑,本文做了大量实验对Hadoop和Spark运行迭代操作的各项性能指标进行了深入分析。通过分析我们发现尽管在迭代操作方面Spark比Hadoop一般要快,但Spark要消耗更多的内存。而且,当内存不够存放新创建的中间结果时Spark的速度优势大大减弱。在分析的基础上,我们为不同性能指标构建了预测模型,从而为不同平台的选择和集群资源配置提供依据。

     本文主要做了四方面的工作。首先,分析Hadoop与Spark在体系结构、存储方式、编程语言、模型表达性,特别是迭代操作方面的异同。其次,研究PageRank算法在Hadoop和Spark上的改进与实现。再次,使用不同规模的真实和模拟图数据集,从运行时间、CPU利用率、内存占用、磁盘I/O、网络I/O、可扩展性和容错性七个方面分析了Hadoop和Spark运行PageRank迭代操作的性能。最后,在分析的基础上对各项性能指标建立预测模型,并对模型的准确性进行了验证。