腾讯开源再次迎来重磅项目,14日,腾讯正式宣布开源高性能图计算框架Plato,这是在短短一周之内,开源的第五个重大项目。

相对于目前全球范围内其它的图计算框架,Plato可满足十亿级节点的超大规模图计算需求,将算法计算时间从天级缩短到分钟级,性能全面领先领先于其它主流分布式图计算框架,并且打破了原本动辄需要数百台服务器的资源瓶颈,现在,最少只需要十台服务器即可完成计算。

腾讯Plato团队负责人于东海表示:“Plato已经支持腾讯内部包括微信在内的众多核心业务,尤其是为腾讯超大规模社交网络图数据的各类计算提供支撑,解决了现有其他计算框架无法在有限资源和有限时间内完成计算的难点。Plato不仅为腾讯创造了巨大的业务价值,开源后还将持续推动图计算技术和行业的协同发展,加速创新。”

实际上,图计算的“图”并不是指普通的图像和照片,而是用于表示对象之间关联关系的一种抽象数据结构,图计算就是以图作为数据模型来表达问题并予以解决的过程。图计算可以将不同来源、不同类型的数据融合到同一个图里进行分析,得到原本独立分析难以发现的结果,因此成为社交网络、推荐系统、网络安全、文本检索和生物医疗等领域至关重要的数据分析和挖掘工具。

Plato是腾讯内部图计算TGraph团队整合内部资源自主研发的一款高性能图计算框架,取名Plato是为了致敬伟大的数学家柏拉图,目前腾讯云大数据团队正在封装Plato,即将对所有开发者开放使用。

据了解,Plato的计算性能方面极其强悍,比目前市场上最为领先的图计算框架Spark GraphX还高出1-2个数量级,它将算法计算时间从天级缩短到分钟级,性能提升数十倍,也标志着图计算全面进入分钟级时代;另外一个巨大优势是,Plato在内存消耗方面远小于主流的图计算框架,比Spark GraphX减少1-2个数量级,仅需10台服务器左右的中小规模集群,即可完成超大规模图计算,相比此前动辄需要数百台服务器的限制,资源压力和计算成本都得到了极大降低。

目前,Plato主要提供两大核心能力:腾讯数据量级下的离线图计算和腾讯数据量级下的图表示学习。同时Plato天然适配Kubernetes、YARN等资源调度平台,并提供支持主流文件系统的多种接口,能为开发者提供更友好的运行环境。

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

Plato整体架构图

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

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

Plato高性能、可扩展、易插拔的特性在社交网络、推荐系统、生物医疗等领域应用前景广阔,例如定期对网页进行影响力排序以提升用户的搜索体验、分析庞大的社交网络结构以便精准地为用户推荐服务、通过子图匹配等方式了解蛋白质间的相互作用从而研制更有效的临床医药等。

自去年930架构调整以来,开源协同成为腾讯技术发展的重要战略之一,并带动了重磅项目密集对外开源。就在上周的Techo开发者大会上,腾讯正式宣布TubeMQ、Tencent Kona JDK、TBase、TKEStack四大重点项目开源。随着Plato的开源,腾讯在开源领域又添大动作。据悉,腾讯已经在Github上已经开源了89个项目,超过1000个贡献者参与了开源贡献,拥有超过26万个Star数,在Github全球公司贡献榜上居于前列。

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

腾讯开源进入爆发期,Plato助推十亿级节点图计算进入分钟级时代的更多相关文章

  1. 腾讯正式开源图计算框架Plato,十亿级节点图计算进入分钟级时代

    腾讯开源再次迎来重磅项目,14日,腾讯正式宣布开源高性能图计算框架Plato,这是在短短一周之内,开源的第五个重大项目. 相对于目前全球范围内其它的图计算框架,Plato可满足十亿级节点的超大规模图计 ...

  2. 腾讯开源手游热更新方案,Unity3D下的Lua编程

    原文:http://www.sohu.com/a/123334175_355140 作者|车雄生 编辑|木环 腾讯最近在开源方面的动作不断:先是微信跨平台基础组件Mars宣布开源,腾讯手游又于近期开源 ...

  3. 【腾讯开源】Android性能测试工具APT使用指南

    [腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...

  4. 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

    https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

  5. 腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一)

    腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1.  Basic Paxos 算法是为 ...

  6. 广告行业中那些趣事系列7:实战腾讯开源的文本分类项目NeuralClassifier

    摘要:本篇主要分享腾讯开源的文本分类项目NeuralClassifier.虽然实际项目中使用BERT进行文本分类,但是在不同的场景下我们可能还需要使用其他的文本分类算法,比如TextCNN.RCNN等 ...

  7. 基于腾讯开源的msec来进行php开发模块

    msecphp 毫秒服务引擎(Mass Service Engine in Cluster)是一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务. 毫秒服务引擎集RPC.名字发现服务. ...

  8. jdk1.8源码包下载并导入到开发环境下助推高质量代码(Eclipse、MyEclipse和Scala IDEA for Eclipse皆适用)(图文详解)

    不多说,直接上干货! jdk1.8 源码, Linux的同学可以用的上. 由于源码JDK是前版本的超集, 所以1.4, 1.5, 1.6, 1.7都可以用的上.     其实大家安装的jdk路径下,这 ...

  9. Mobox 知识管理平台助推市长质量奖

    Mobox 知识管理平台助推市长质量奖 引言: 在过去的十多年中,国际上在管理领域出现两股浪潮:一是许多国家和地区采取设立政府质量奖的方式,来改善企业管理绩效,提升区域整体竞争力:二是这些国家和地区的 ...

随机推荐

  1. Cocos2d-x入门之旅[2]精灵

    精灵就是cocos是屏幕上移动的对象,能被我们控制,比如我们HelloWorld场景的这个图片就是精灵(Sprite) 怎么才算精灵?你能控制它的,就是一个精灵,否则就只是一个节点(Node) 准确的 ...

  2. tesseract 测试样例

    该图片的链接为https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png,可以直接保存或下载. 首先用命令 ...

  3. lua行为树设计与实现

    项目需要,之前行为树用的是behaviorDesigner,要改成纯lua的 我先做了一版用递归实现,代码可读性高但是中断机制实现起来比较复杂,而且创建自定义action重写方法时需要调用父类的方法, ...

  4. ‎Cocos2d-x 学习笔记(15.1) EventDispatcher

    EventDispatcher对监听器进行管理,围绕着监听器工作.可以添加.删除.暂停/恢复监听器.分发事件到监听器. 1. 一些成员 /** 把ListenerID和同ID监听器的容器对应 */ s ...

  5. 11.Nginx架构进阶

    1.如何将LNMP拆分为LNP+MySQL 1.备份172.16.1.7上的数据库信息 [root@web01 ~]# mysqldump -uroot -p'000000' --all-databa ...

  6. 从Go语言编码角度解释实现简易区块链

    区块链技术 人们可以用许多不同的方式解释区块链技术,其中通过加密货币来看区块链一直是主流.大多数人接触区块链技术都是从比特币谈起,但比特币仅仅是众多加密货币的一种. 到底什么是区块链技术? 从金融学相 ...

  7. DM7的闪回功能及动态新能视图相关SQL总结

    DM7的闪回功能默认是关闭的,需要在dm.ini中设置参数: ENABLE_FLASHBACK = 1 UNDO_RETENTION = 900 意思为可以进行900s以内的闪回查询.下面是使用该功能 ...

  8. javascript单线程,异步与执行机制

    js的单线程模型与游览器的进程/线程息息相关,在了解js单线程与异步的时候,建议先看看这篇文章 为什么是单线程 由于js是可操作dom的,如果js是多线程,在多线程的交互下,处于界面中的dom节点就可 ...

  9. vue 组件样式如何不影响全局

    可以在 "style" 标签中添加 "scoped" 属性. <style scoped> .red { color: #f00; } </s ...

  10. Android9.0 如何区分SDK接口和非 SDK接口

    刚刚有同学问我,不太了解 "非SDK接口" 是什么意思?android9.0有什么限制 ?apache的http也有限制 ? 而且现在的大部分系统都升级上来了,黑名单.灰名单和白名 ...