论文部分内容阅读
近年来,随着社交媒体的发展,图计算成为了学术界和产业界的研究热点。图计算旨在对社交媒体用户产生的海量图数据进行分析处理,挖掘出隐含的重要信息,服务于商业应用和国计民生。目前出现了很多图计算系统,比如Pregel、Giraph以及GraphLab等。在实践中,通用大数据平台,比如Hadoop和Spark等也可用于图计算。 现有图计算系统中普遍采用分布式文件系统或者分布式NoSQL数据库作为图数据的管理系统。这些方法解决了海量图数据的存储与组织问题,能较好地满足图数据管理的可靠性和扩展性。但是,图数据存储管理依然存在三个突出问题:1)图数据的频繁随机增量更新导致数据写入效率低下的问题;2)海量图数据管理与图数据随机访问需求并存,引起的图数据在磁盘和内存间频繁交换现象,导致I/O性能低的问题;3)图计算的复杂的计算依赖导致图数据远程读操作吞吐量低的问题。 针对以上问题,本文分析和对比了现有的图数据管理系统,并结合图数据的自身特征,提出了面向图计算的分布式内存管理的三项关键技术。并在实际应用场景中设计和实现了图数据管理系统NYNN。本文的主要研究内容如下: 1.针对图数据的频繁随机增量更新导致数据写入效率低下的问题,提出了一种零移动的数据组织策略,该策略降低了数据寻址和资源分配的时间,避免了数据写入时的数据挪动,是数据写入效率提高了2~3倍。 2.针对图数据在磁盘和内存间交换现象导致I/O性能低的问题,提出了一种自适应数据规模的存储管理方法,根据集群的内存容量,动态地调整自身存储策略以适应日渐增长的图数据规模,该方法即可有效管理海量图数据,又具有良好的随机访问性能。 3.针对图计算的复杂的计算依赖导致图数据远程读操作吞吐量低的问题,提出了一种应用感知的远程预取策略,根据应用特征,预取和缓存批量数据,降低了网络IO次数,提高了带宽利用率,图数据远程访问的吞吐量提升了2~2.5倍。 4.设计和实现一个面向图计算的分布式内存管理系统NYNN,验证了所提方法的有效性。NYNN系统应用于工程项目中,取得了良好的效果。