写点什么

图计算之开局女朋友跑了 2

用户头像
Zhuan
关注
发布于: 5 小时前

室友一把拉住我,以一种威胁恐吓的语气,“说,不说不是兄弟。”

 

“曾经我也是一个纯情少年,遇到心仪的妞只会傻乎乎地早安晚安,肚子痛时我买药,下起雨来我送伞,还是眼睁睁地看着妞走向别人的怀抱,如今我终于一雪前耻,只有别的妞为我……”

 

“让你说正事呢,别装逼了。”

 

“咳咳,那啥,我的意思是,男人不能在一棵树上吊死,但也不能在森林里迷路,遇见一棵树就开始畅想吊死的未来……有多少对象这种事情不重要,重要的是我们本人要找到一种让妹子源源不断扑向我们的算法,只要运用这种算法,即便有一两个妞侥幸发现我们屌丝的本质,也无关大局!”

 

说着,我被一阵脚踏椅子的吓到,室友眼中燃起了熊熊的希望之火,双手握拳,表示,“没错,即便是掏心掏肺认真对待的女人都能说不要就不要,这个世界还有什么公平正义可言,既然你不要我,有的是人要我!”

 

喂,你理解错意思了吧!

 

我扶额,又不好和醉汉计较,便重新打开笔记本开始整理我的算法。

 

其实数据分析首先得选好方法和分析系统,人物数据这些非结构化数据更适合用图来表达与分析,基于图论的图算法能够利用节点之间的关系来推断隐藏在图数据的信息。而图分析系统目前有两大流派,即 general purpose 和 graph-specific。General purpose 系统底层基于 RDD 等通用数据抽象,基于通用大数据平台(如 Spark)将图计算操作转换为 retational operator 等通用操作,而 graph-specific 系统将数据直接表示成图结构,并为用户提供访问、操作点/边的图结构等接口。

 

这是我为什么非得炫技的原因。等他酒醒了我必须清楚明白地告诉他应该怎么操作。

 

为了在茫茫人海中找到适合一起恋爱的人,我可是花了近一个月来比较 general purpose 和 graph-specific 图计算系统在图分析任务上的计算效率——我在阿里云拉起了配置为 16 核 CPU,248GB 内存的 4 台 ECS,设计了三组比较实验,选取了 general purpose 代表性图计算系统 GraphX 和 graph-specific 代表性图计算系统 Gemini 和 GraphScope。

 

数据上,我选取了来自 LDBC 数据集的 com-friendster, datagen-9.0_fb, datagen-9.1_fb, datagen-9.2_zf 和 graph500 作为实验数据,以下为实验数据的基本信息:

 

com-friendster:65608366 个点,1806067835 条边。

datagen-9.0_fb:12857671 个点,1049527225 条边

datagen-9.1_fb: 16087483 个点,1342158397 条边

datagen-9.2_zf: 434943376 个点,1042340732 条边

graph500: 32804978 个点,1051922853 条边

 

实验设计上选择常用的 SSSP, Pagerank 和 Triangle Counting 算法,以计算时间为指标,对三个系统进行性能上的比较。

 

最后才得到清晰的结论。

 

总体来说,在计算时间上,GraphScop 和 Gemini 的计算效率远远超过 GraphX,这个结果说明了 graph-specific 系统在处理图计算任务上的巨大优势。同时,相较于 Gemini,GraphScope 的性能更优。

 

SSSP 算法上,GraphScope 与 Gemini 相比,取得了 1.637 倍的加速比,在 datagen-9.2_zf 数据集上取得了最高的加速比,达到了 1.89 倍。GraphScope 与 GraphX 相比,取得了平均高达 606.22 倍的加速比,在 datagen-9.1_fb 数据集上取得了最好的性能提升,取得了 860.84 倍的加速比。

不同系统的 SSSP 算法性能表现


PageRank 算法上,由于 Gemini 的算法实现与 LDBC 指导的不一致,结果与 LDBC 提供的不同,因此不做比较。GraphScope 与 GraphX 相比依然取得了大幅度的性能提升,平均加速比达到 147.634 倍。

不同系统的 PageRank 算法性能表现


Triangle Counting 算法上, Gemini 并没有提供相关的功能实现。GraphX 在 com-friendster 和 graph500 上的运行时间都超过了 3600s,且在 datagen-9.0_fb, datagen-9.1_fb 和 datagen-9.2_zf 数据集上,Spark 本身会向磁盘内写大量的 shuffle 且消息容量超过了磁盘,从而无法输出计算结果。

综合对比,阿里的 GraphScope 帮我这项任务完成的最为出色。

但看来今天,我的好心劝慰全成了抛媚眼给瞎子看。

 

我嫌弃地看一眼又陷入嚎啕大哭的室友,只有爱别人的心,没有爱别人的方法的人是没有办法得偿所愿的,都多大的人了还跟小孩儿似的,糖掉地上了就哭;却又有点不忍心,毕竟谁都在年轻时爱过一两个渣女……何况这货人生比较艰难,虽然是一个寝室,但就他一个人学地质,说起来学地质的人应该最有冷静耐心,偏偏这货情绪化十足,不当编剧一定会是艺术的损失。

 

只能我们几个人多照顾一点了。

 

我在微信群里将今晚的情况编辑好后,发给了他们。

用户头像

Zhuan

关注

嘿!哈! 2021.06.19 加入

还未添加个人简介

评论

发布
暂无评论
图计算之开局女朋友跑了2