论文部分内容阅读
随着计算机以及网络技术的发展,在计算机集群中采用并行的分布式计算方式提高计算处理能力已经成为发展趋势。云计算(Cloud Computing)的一个最主要的优势就是它的强大的并行计算处理能力,而这种能力是建立在一个简便高效的并行编程模型的基础上的。其中,最有代表性的就是Google提出的MapReduce分布式并行编程模型。然而,随着近年来互联网应用的迅猛发展,Web网络、社交网络等大规模网络图数据的分析处理成为了研究热点,例如社交网络中的最短路径、网页搜索的PageRank等。这些图处理问题通常需要多次迭代,而MapReduce适合于通用的大数据集计算问题,在处理具有多次迭代性质的图挖掘问题时会导致次优的性能。因而这些图算法往往更适合于采用基于消息传递的并行模型来处理。BSP (Bulk Synchronous Parallel)整体同步并行模型就是一种支持消息传递的块内异步并行,块间显式同步的并行计算模型。随着Google基于BSP模型实现的大规模图处理系统Pregel的提出,在云环境中采用BSP模型实现大规模图处理系统成为了主要的解决途径。本文旨在以BSP模型为核心,研究基于BSP模型的大规模图处理系统中的消息通信原理和磁盘缓存技术的设计方案及其实现等问题。提出了一种基于队列的消息组织方式和通信方案,并在此基础上提出了基于消息打包、多发送者线程池以及支持消息合并的优化通信方案。针对基于BSP的大图处理系统可能存在的内存不足以存放计算中所有的图和消息数据的问题,本文建立了数据的内存管理模型,并基于内存优先(Memory First)的思想,分别提出了图数据和消息数据的磁盘缓存策略及相应的算法:MF-GHIC算法、MLF图数据遍历算法和基于消息队列优先级的消息数据磁盘缓存算法等。将本文提出的通信和缓存技术应用于NEU-BSP系统中,我们通过实验,首先分析了通信方案中各类参数的较优值及其相互的制约关系;其次证明了在磁盘缓存率低于30%时,系统的时间性能下降并不显著;最后,我们以PageRank和单源最短路径为例,通过与Hadoop系统的对比实验,证明了在数据完全驻留内存时,NEU-BSP系统比Hadoop系统快1.2到18倍,在数据超过30%以上缓存到磁盘时,NEU-BSP系统仍然能保持与Hadoop系统基本持平的时间性能。