论文部分内容阅读
随着互联网应用的迅猛发展,Web网络、社交网络等应用不断涌现,规模也越来越大,随之而来的大规模网络图数据的分析处理问题也成为了研究热点。同时,计算机以及网络技术的发展使得网络数据规模急速增长,在计算机集群中采用并行的分布式计算方式已经成为发展趋势。云计算(Cloud Computing)的一个最主要的优势就是它的优秀的并行处理能力,而这种优势是得益于它的简单高效的并行编程模型。其中,最典型的就是由Google提出的MapReduce分布式并行编程模型。其次,BSP (Bulk Synchronous Parallel)整体同步并行模型也受到非常多的关注。本文旨在研究大图上k边连通子图的并行查询和分析技术。针对k边连通子图的并行查询和分析技术的两个典型问题:统计三角形和最大k边连通子图查询,本文提出了基于BSP模型的解决方案。在统计三角形的问题中,结合经典的集中式算法的优点,提出了并行环境下的混合算法,并提出了消息剪枝,并行采样,结果去重等多种方案来提高并行算法的执行效率。并提出了存储优化以及算法改进,采样去重等优化方案。所有的方案都给出了可靠的理论证明。在最大k边连通子图查询问题中,本文分析了在集中式环境下解决这个问题的基础算法,然后结合BSP框架和基础算法的特点,提出了并行环境下的改进算法,并针对改进算法的特性,提出了多种剪枝和优化策略来减少需要计算的顶点数量。判断顶点是否需要计算的阈值随着算法的运行在动态变化。同时针对准确性要求不高的应用,提出了采样策略作为改进算法的可选部分。所有的剪枝策略,优化策略和采样策略都给出了可靠的理论证明。将本文提出的方案应用于BSP系统中,并通过实验来分析提出的解决方案。在统计三角形问题中,MapReduce下解决方案的处理速度比BSP慢了13倍。本文设计的消息优化策略大幅度的减少了消息的总量,同时采样策略也表现出了良好的性能,估计值的准确率非常高,并且取样之后的加速很明显。最大k边子图查询问题中,随着图的规模的增加,Hadoop (MapReduce)和集中式算法的执行时间非常长。但是在BSP框架下,改进算法的执行时间最多为数分钟。在分析剪枝策略的实验中,设置不同的阈值时,算法的执行时间有明显的减少,同时针对特殊应用的采样策略也拥有很高的准确率。