论文部分内容阅读
随着大数据时代的到来,终端设备的广泛普及使各种各样数据的收集、存储得以实现。同时体量巨大、维度高、数据类型复杂、价值密度低特性已经成为当前大数据的主要特点[1-2]。虽然大数据的出现为相关行业的数据分析指导带来了新的机遇,但是同时其数据量巨大、维度高的特性给数据的计算提出了新的挑战。为了解决大数据的计算难题,并行计算框架的概念得到迅速推广。 目前主流的并行计算框架主要分别有Hadoop、Spark、Strom等大型并行计算框架。这些并行计算模型均采用具有分布式内存计算特点的BSP计算模型达到多机并行的目的。虽然以上的并行计算框架均有各自的特点和应用场景,但是当前并行计算框架的共性是需要较大的计算集群来支撑运行。此外,该多种大型并行计算框架需要较为复杂的配置以及维护,并且框架采用的单节点单计算线程计算方式造成相应计算资源的利用不充分。因此一个具有易于维护部署、计算资源利用充分等特性的轻量级计算模型成为当前的迫切需求。 为了弥补大型并行计算框架使用带来的限制条件,本文提出了一种基于BSP的轻量级并行计算模型。该轻量级的并行计算模型的主要特点是易实现、易维护、易部署、计算资源利用率高。该模型从宏观上采用了BSP的分布式内存计算概念实现集群并行化,同时又在该基础上做出了改进。即该模型底层在实现多节点间并行的同时,实现了单节点内线程并行的两级并行架构。这种设计有效的提高了计算集群资源的利用率又解决了单节点并行计算能力有限的问题。两级并行架构之上为并行计算模型的管理模块。该模块主要包括计算集群管理、任务分配、资源调度、结果收集等功能。为了实现集群的负载均衡,本文提出了一种任务动态分配策略。同时为了应对并行计算过程中出现的异常情况,本文提出了延时等待策略,它包括任务计算超时,任务计算失败等特殊情况的处理方法。并行计算模型数据管理方式统一采用数据分块策略。该策略是根据算法局部数据访问特点设计的一种对数据分批加载、分批计算的方法,实现了在小内存条件下海量数据的计算。 本文最后以某特征提取算法为测试示例对并行计算模型进行了三类实验测试:一、通过模拟各种环境对该模型进行功能测试,该功能测试主要包括任务动态分配分配测试、主副节点故障测试、延时等待测试;二、通过调整数据块尺寸测试不同条件下的内存消耗情况。三、通过使用大小不同的数据集测试并行计算模型对示例算法并行计算的加速情况。通过对结果的对比分析,分析并行计算模型在特定场景下的计算效果。