论文部分内容阅读
作为现实世界的一种典型抽象,图(graph)在机器学习、人工智能、知识图谱等相关领域都发挥着重要作用。随着图数据规模的不断增长,单机已经无法满足实际计算的需求,分布式图计算领域的相关研究得到了迅猛发展。对于分布式图计算系统而言,如何均衡系统内各个计算节点之间的计算负载、如何减少系统内存在的通信开销,是目前分布式图计算领域面临的重大挑战和难题。所以对分布式图计算框架进行相应优化,减少冗余计算和冗余通信是实现分布式图计算系统性能优化的关键问题。本文主要的研究内容包括:一、深入研究并分析了Graph 500基准测试程序现有的优化技术,在分析其技术优势时,同时揭示了优化技术存在的固有缺陷,提出了相应的优化方法。二、深入研究并分析了现有的RDF查询系统,根据各种不同系统底层数据存储形式的不同,通过分析其存储开销、计算开销以及查询效率,针对各种系统所存在的不足,提出了优化方向。三、本文针对Graph 500基准测试程序存在大量冗余通信的缺陷,分析各类优化算法的不足,提出了基于通信剪枝的图计算优化方法PruX。通过研究Graph 500基准测试程序,分析系统内通信产生的原因,认为系统内存在大量可以去除的冗余通信。通过大量减少系统内固有的冗余通信,达到提升BFS算法性能的目的。具体来说,PruX算法在每个计算节点实现了对顶点状态的记录,通过实现对顶点访问状态的预检测,减少了系统内部的通信开销,提升了算法效率。针对PruX算法带来的额外存储开销过大的问题,提出了基于2D划分的PruX算法,用于解决在大规模图数据中PruX额外存储开销过大的瓶颈,增加了PruX算法的可拓展性,同时提出相应优化手段解决了2D划分过程中产生的额外通信开销。四、本文通过对RDF查询相关内容进行探究,提出了基于数据存储压缩的RDF查询优化方法。在底层数据存储时,重新组织数据的存储形式,同时修改相应的数据访问路径,减少了每次查询时所需的比较次数,减少了工作量,降低了计算负载,从而提升了算法性能。具体来说,主语相同的数据放在相同的数据结构中,所有数据共用相同的主语,将其中谓语相同的数据放在相同的数据结构中,此时,其中所有的数据共用主语和谓语。当执行宾语缺失的查询时,找到对应的主语、谓语共用区域,输出其中宾语即可。对于主语缺失时,所进行的操作时类似的。将谓语按照对应的形式重新存储一次,对于谓语缺失的操作也可以按照同样的路径进行查询,而且可以避免采用谓词索引带来的广播操作,减少了额外的通信开销,同时也降低了查询过程中的计算开销。本文对分布式图计算系统性能优化进行了探索,研究成果对于分布式图计算系统性能提升具有一定的理论价值和指导价值。最后本文通过实验证实了PruX算法以及数据存储压缩的方式的性能优势。