腾讯把微信正在用的图计算框架开源了,十亿级节点图计算时间从天级缩短到分钟级

PigSay 2019-11-15 阅读:79

看样子,鹅厂搞开源好像“上头”了。

11月14日,腾讯又把微信等众多核心业务在用的图计算框架开源了。

这也是他们在短短一周内开源的第5个大项目。

这个新项目名为Plato,腾讯介绍称,可满足十亿级节点的超大规模图计算需求。

与其他图计算框架相比,将算法计算时间从天级缩短到分钟级,而且性能也全面领先,原本动辄需要数百台服务器的计算,现在最少只需要十台服务器。

Plato团队负责人于东海说,Plato已经用在了腾讯内部包括微信在内的众多核心业务中,尤其是为腾讯超大规模社交网络图数据的各类计算提供支撑。

图计算的“图”并不是指普通的图像和照片,而是用于表示对象之间关联关系的一种抽象数据结构,图计算就是以图作为数据模型来表达问题并予以解决的过程。

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

腾讯自主研发的图计算框架

Plato来自于腾讯内部图计算TGraph团队,是他们整合内部资源自主研发的一款高性能图计算框架。

之所以取名Plato,是为了致敬伟大的数学家柏拉图。目前,腾讯云大数据团队也正在封装Plato,即将对所有开发者开放使用。

腾讯介绍称,目前Plato主要提供两大核心能力:腾讯数据量级下的离线图计算,腾讯数据量级下的图表示学习。

同时Plato天然适配Kubernetes、YARN等资源调度平台,并提供支持主流文件系统的多种接口,能为开发者提供更友好的运行环境。‘

架构设计上,Plato框架的核心是自适应图计算引擎,它能够根据不同类型的图算法,提供多种计算模式供开发者灵活选择,包括自适应计算模式、共享内存计算模式和流水线计算模式等。

另外,还设计了良好的接口支持接入新的计算通信模式。

△Plato整体架构图

在计算引擎之上,Plato还为算法设计者或具体的业务提供多层次接口:从底层的API,到图算法库,再到为具体业务量身打造的“解决方案”——图工具集。

通过这些应用层的接口和工具,Plato可以把离线计算结果与其他机器学习算法相结合,共同支撑顶层的不同业务。

目前,Plato的算法库中的图特征、节点中心性指标、连通图和社团识别等多种算法都已经开源,未来还将进一步开源更多的算法。

鹅厂开源“上头”了

近年来,腾讯对开源的重视程度越来越高,开源项目越来越多。

就在上周的Techo开发者大会上,腾讯一口气开源了TubeMQ、Tencent Kona JDK、TBase、TKEStack等四个项目。

到现在,腾讯已经在Github上已经开源了86个项目,超过1000个贡献者参与了开源贡献,标星超过25万,在Github全球公司贡献榜上,也已经挤进了前十。

Plato开源地址:

https://github.com/tencent/plato