炼数成金 门户 大数据 开源软件 查看内容

腾讯开源图计算框架 Plato:十亿级节点图计算进入分钟级时代

2019-11-18 09:59| 发布者: 炼数成金_小数| 查看: 11981| 评论: 0|原作者: 杨鲤萍|来自: AI开发者

摘要: 近日,腾讯开源再次迎来重磅项目。14 日,腾讯正式宣布开源高性能图计算框架 Plato,这是在近一周之内,开源的第五个重大项目。据介绍,Plato 可满足十亿级节点的超大规模图计算需求,并将算法计算时间从天级缩短到 ...

网络 算法 Hadoop 框架 开源

近日,腾讯开源再次迎来重磅项目。14 日,腾讯正式宣布开源高性能图计算框架 Plato,这是在近一周之内,开源的第五个重大项目。前面依次开源了 TubeMQ、Tencent Kona JDK、TBase、TKEStack 四个开源项目(点击以下链接可进入 Github Trending Hub 小程序预览)。

TubeMQ:https://github.com/Tencent/TubeMQ

Tencent Kona JDK:https://github.com/Tencent/TencentKona-8

TBase:https://github.com/Tencent/TBase

TKEStack:https://github.com/tkestack

据介绍,Plato 可满足十亿级节点的超大规模图计算需求,并将算法计算时间从天级缩短到分钟级;而且在性能方面也处于领先,并打破了原本动辄需要数百台服务器的资源瓶颈。我们将本次开源项目 Plato 相关内容整理如下。


先导:什么是图计算
尽管现在图像识别很火,但图计算的「图」并不是指普通的图像和照片,而是用于表示对象之间关联关系的一种抽象数据结构。简单来讲,图计算就是研究在这些大量数据中,如何高效计算、存储并管理图数据等问题的领域。
传统的关系型数据暴露出了建模缺陷、水平伸缩等问题,于是具有更强大表达能力的图数据受到业界极大的重视。图计算就是以图作为数据模型来表达问题并予以解决的过程。

它可以将不同来源、不同类型的数据融合到同一个图里进行分析,得到原本独立分析难以发现的结果,因此也成为了社交网络、推荐系统、网络安全、文本检索和生物医疗等领域至关重要的数据分析和挖掘工具。


Plato 图计算框架
Plato 是腾讯内部图计算 TGraph 团队整合内部资源自主研发的一款图计算框架,而 Plato 这一命名正是为了致敬数学家柏拉图。
在计算性能方面,Plato 它能够将算法计算时间从天级缩短到分钟级,不仅让当前的图计算性能提升数十倍,也将图计算带进了分钟级计算时代。

在内存消耗方面,Plato 也远小于主流的图计算框架。具体而言,仅需 10 台服务器左右的中小规模集群,即可完成原本需要上百台服务器支持的超大规模图计算。

架构设计方面,Plato 框架的核心是自适应图计算引擎,它能够根据不同类型的图算法,提供多种计算模式供开发者灵活选择,包括自适应计算模式、共享内存计算模式和流水线计算模式等。另外,还设计了接口支持接入新的计算通信模式。


Plato 整体架构图
在计算引擎上,Plato 则为算法设计者或具体的业务提供了多层次接口:从底层的 API,到图算法库,再到为具体业务量身打造的「解决方案」——图工具集。通过这些应用层的接口和工具,Plato 还可以把离线计算结果与其他机器学习算法相结合,共同支撑顶层的不同业务。

目前,Plato 主要提供两大核心能力,包括:腾讯数据量级下的离线图计算和腾讯数据量级下的图表示学习;同时,Plato 可在通用的 X86 集群中运行,包括:Kubernetes、YARN 等资源调度平台;在文件系统方面,Plato 提供了多种接口支持主流的文件系统,如 HDFS、Ceph 等。

性能对比
据官方数据展示,Plato 的计算性能领先于主流的分布式图计算框架。
下图(左)为 Plato 与 Spark GraphX 在 PageRank 和 LPA 这两个 benchmark 算法的性能对比,可以看到,Plato 的性能比 Spark GraphX 高出 1-2 个数量级。


左图为计算性能对比,右图为内存占用对比

Plato 的另一个优势则是它的内存开销远小于主流图计算框架。从上图(右)看到,Plato 的内存消耗比 Spark GraphX 减少了 1-2 个数量级。

除此之外,在真实的业务算法下,Plato 的计算性能也很好。下图给出了 Plato 在腾讯数据量级下的共同类计算、Node2Vec、LINE、GraphSage 等典型业务算法的性能。


Plato 在腾讯数据量级下计算性能

Plato 主要贡献
图作为一种表示和分析大数据的有效方法,已成为众多领域至关重要的数据分析和挖掘工具。而图数据是高维度数据;图算法的计算性能是决定图挖掘能否成功的关键因素之一。对于目前大量的超过十亿级节点大规模社交网络数据,计算性能显得尤为重要。
Plato 的出现,则将算法计算时间从天级缩短到分钟级,并且打破了动辄需要数百台服务器的资源瓶颈;使得现有计算框架能够在有限资源和有限时间内完成对于一些大规模社交网络基础统计特征的计算。

在这次开源中,腾讯 Plato 团队负责人于东海也表示:「Plato 已经支持腾讯内部包括微信在内的众多核心业务,尤其是为腾讯超大规模社交网络图数据的各类计算提供支撑,解决了现有其他计算框架无法在有限资源和有限时间内完成计算的难点。」

截止目前,腾讯已经在 GitHub 上已经开源了 86 个项目。而 Plato 的算法库中的图特征、节点中心性指标、连通图和社团识别等多种算法都已经开源,未来还将进一步开源更多的算法。

其中,已经开源的算法包括:

图特征
树深度/宽度
图特征打包计算:节点数/边数/密度/节点度分布
N-阶度
HyperANF


节点中心性指标
KCore
Pagerank
Closeness
Betweenness

连通图 & 社团识别
Connected-Component
LPA
HANP

图表示学习
Node2Vec-Randomwalk
Metapath-Randomwalk

聚类/分圈算法
LDA
FastUnfolding

其他图相关算法
BFS
共同类计算


Plato 开源地址:
https://github.com/tencent/plato 

声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
软件开发技术群
兴趣范围包括:Java,C/C++,Python,PHP,Ruby,shell等各种语言开发经验交流,各种框架使用,外包项目机会,学习、培训、跳槽等交流
QQ群:26931708

Hadoop源代码研究群
兴趣范围包括:Hadoop源代码解读,改进,优化,分布式系统场景定制,与Hadoop有关的各种开源项目,总之就是玩转Hadoop
QQ群:288410967 
1

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (1 人)

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-12-7 01:46 , Processed in 0.198933 second(s), 25 queries .