当前位置:   article > 正文

NetworkX与GraphScope的性能对比

NetworkX与GraphScope的性能对比

近年来,全球大数据进入加速发展时期,数据量呈现指数级爆发式增长,而这些大量数据中不同个体间交互产生的数据以图的形式表现,如何高效地处理这些图数据成为了业界及其关心的问题。很过用普通关系数据无法跑出来的结果,用图数据进行关联分析会显得异常高效。

提到处理图数据,我们首先想到NetworkX,这是网络计算上常用的Python包,可提供灵活的图构建、分析功能。但是我们使用NetworkX跑大规模图数据时,不仅经常碰到内存不足的问题,而且分析速度很慢,究其原因,是NetworkX只支持单机运行。通过网上搜索,新发现了一个名为GraphScope的系统不仅号称兼容NetworkX的API,而且支持分布式部署运行,性能更优。针对GraphScope和NetworkX的处理能力,我们参考图计算中常用的测试框架LDBC,通过一组实验来对比下二者的性能。

一、实验介绍

为了比较两者的计算效率,先用阿里云拉起了配置为8核CPU,32GB内存的四台ECS,设计了三组比较实验,分别是NetworkX单机下的计算性能,GraphScope单机多worker的计算性能以及GraphScope分布式多机多worer的计算性能。

数据上,我们选取了SNAP开源的图数据集twitter,来自 LDBC数据集的datagen-7_5-fb,datagen-7_7-zf和datagen-8_0-fb作为实验数据,以下是数据集的基本信息:

· Twitter: 81,307个顶点,1,768,135条边

· Datagen-7_5-fb: 633,432个顶点,34,185,747条边,稠密图

· Datagen-7_7-zf: 13,180,508个顶点,32,791,267条边,稀疏图

· Datagen-8_0-fb: 1,706,561个顶点,107,507,376条边,这个数据集主要测试两个系统可处理的图规模能力

实验设计上我选择常用的SSSP、BFS、PageRank、WCC算法,以及较高复杂度的All Pair shortest Path length算法,以载图时间,内存占用和计算时间这三个指标为依据,对两个系统进行计算性能的比较。

NetworkX是一个单机系统,在实验中只考虑NetworkX在单机环境下的运行时间;GraphScope支持分布式运行,故进行两个配置,一个是单机4worker,另外一个配置是4台机器,每台机器4个worker。

二、实验结果

首先,GraphScope的载图速度比NetworkX显著提升。

在前三个图数据集中,无论是GraphScope的单机多worker模式,还是GraphScope的分布式模式,载图速度都比NetworkX快:

GraphScope单机模式载图速度平均比NetworkX快5倍,最高纪录——在datagen-7_5-fb上比NetworkX快了6倍。

分布式模式下GraphScope的载图时间比NetworkX平均快了27倍,最高纪录——在datagen-7_7-zf数据集上比NetworkX快了63倍。

在datagen-8_0-fb数据集上,NetworkX因内存溢出无法载图,GraphScope单机多worker和GraphScope分布式载图时间分别为142秒和13.6秒。

 表一:载图时间对比

载图时间

NetworkX

GraphScope单机

GraphScope分布式

twitter

11.2

3.1

1.8

datagen-7_5-fb

256

45.6

36.6

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/336939
推荐阅读
相关标签
  

闽ICP备14008679号