騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代

近日,騰訊開(kāi)源再次迎來(lái)重磅項(xiàng)目。14 日,騰訊正式宣布開(kāi)源高性能圖計(jì)算框架 Plato,這是在近一周之內(nèi),開(kāi)源的第五個(gè)重大項(xiàng)目。前面依次開(kāi)源了 TubeMQ、Tencent Kona JDK、TBase、TKEStack 四個(gè)開(kāi)源項(xiàng)目。
  • 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 
據(jù)介紹,Plato 可滿足十億級(jí)節(jié)點(diǎn)的超大規(guī)模圖計(jì)算需求,并將算法計(jì)算時(shí)間從天級(jí)縮短到分鐘級(jí);而且在性能方面也處于領(lǐng)先,并打破了原本動(dòng)輒需要數(shù)百臺(tái)服務(wù)器的資源瓶頸。現(xiàn)雷鋒網(wǎng) AI 開(kāi)發(fā)者將本次開(kāi)源項(xiàng)目 Plato 相關(guān)內(nèi)容整理如下。
騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代

先導(dǎo):什么是圖計(jì)算?

盡管現(xiàn)在圖像識(shí)別很火,但圖計(jì)算的「圖」并不是指普通的圖像和照片,而是用于表示對(duì)象之間關(guān)聯(lián)關(guān)系的一種抽象數(shù)據(jù)結(jié)構(gòu)。簡(jiǎn)單來(lái)講,圖計(jì)算就是研究在這些大量數(shù)據(jù)中,如何高效計(jì)算、存儲(chǔ)并管理圖數(shù)據(jù)等問(wèn)題的領(lǐng)域。

傳統(tǒng)的關(guān)系型數(shù)據(jù)暴露出了建模缺陷、水平伸縮等問(wèn)題,于是具有更強(qiáng)大表達(dá)能力的圖數(shù)據(jù)受到業(yè)界極大的重視。圖計(jì)算就是以圖作為數(shù)據(jù)模型來(lái)表達(dá)問(wèn)題并予以解決的過(guò)程。

它可以將不同來(lái)源、不同類型的數(shù)據(jù)融合到同一個(gè)圖里進(jìn)行分析,得到原本獨(dú)立分析難以發(fā)現(xiàn)的結(jié)果,因此也成為了社交網(wǎng)絡(luò)、推薦系統(tǒng)、網(wǎng)絡(luò)安全、文本檢索和生物醫(yī)療等領(lǐng)域至關(guān)重要的數(shù)據(jù)分析和挖掘工具。

騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代

Plato 圖計(jì)算框架

Plato 是騰訊內(nèi)部圖計(jì)算 TGraph 團(tuán)隊(duì)整合內(nèi)部資源自主研發(fā)的一款圖計(jì)算框架,而 Plato 這一命名正是為了致敬數(shù)學(xué)家柏拉圖。
  • 在計(jì)算性能方面,Plato 它能夠?qū)⑺惴ㄓ?jì)算時(shí)間從天級(jí)縮短到分鐘級(jí),不僅讓當(dāng)前的圖計(jì)算性能提升數(shù)十倍,也將圖計(jì)算帶進(jìn)了分鐘級(jí)計(jì)算時(shí)代。
  • 在內(nèi)存消耗方面,Plato 也遠(yuǎn)小于主流的圖計(jì)算框架。具體而言,僅需 10 臺(tái)服務(wù)器左右的中小規(guī)模集群,即可完成原本需要上百臺(tái)服務(wù)器支持的超大規(guī)模圖計(jì)算。
  • 架構(gòu)設(shè)計(jì)方面,Plato 框架的核心是自適應(yīng)圖計(jì)算引擎,它能夠根據(jù)不同類型的圖算法,提供多種計(jì)算模式供開(kāi)發(fā)者靈活選擇,包括自適應(yīng)計(jì)算模式、共享內(nèi)存計(jì)算模式和流水線計(jì)算模式等。另外,還設(shè)計(jì)了接口支持接入新的計(jì)算通信模式。
騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代
Plato 整體架構(gòu)圖
  • 在計(jì)算引擎上,Plato 則為算法設(shè)計(jì)者或具體的業(yè)務(wù)提供了多層次接口:從底層的 API,到圖算法庫(kù),再到為具體業(yè)務(wù)量身打造的「解決方案」——圖工具集。通過(guò)這些應(yīng)用層的接口和工具,Plato 還可以把離線計(jì)算結(jié)果與其他機(jī)器學(xué)習(xí)算法相結(jié)合,共同支撐頂層的不同業(yè)務(wù)。
  • 目前,Plato 主要提供兩大核心能力,包括:騰訊數(shù)據(jù)量級(jí)下的離線圖計(jì)算和騰訊數(shù)據(jù)量級(jí)下的圖表示學(xué)習(xí);同時(shí),Plato 可在通用的 X86 集群中運(yùn)行,包括: Kubernetes、YARN 等資源調(diào)度平臺(tái);在文件系統(tǒng)方面,Plato 提供了多種接口支持主流的文件系統(tǒng),如 HDFS、Ceph 等。

性能對(duì)比

據(jù)官方數(shù)據(jù)展示,Plato 的計(jì)算性能領(lǐng)先于主流的分布式圖計(jì)算框架。

下圖(左)為 Plato 與 Spark GraphX 在 PageRank 和 LPA 這兩個(gè) benchmark 算法的性能對(duì)比,可以看到,Plato 的性能比 Spark GraphX 高出 1-2 個(gè)數(shù)量級(jí)。

騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代

左圖為計(jì)算性能對(duì)比,右圖為內(nèi)存占用對(duì)比
 
Plato 的另一個(gè)優(yōu)勢(shì)則是它的內(nèi)存開(kāi)銷遠(yuǎn)小于主流圖計(jì)算框架。從上圖(右)看到,Plato 的內(nèi)存消耗比 Spark GraphX 減少了 1-2 個(gè)數(shù)量級(jí)。

除此之外,在真實(shí)的業(yè)務(wù)算法下,Plato 的計(jì)算性能也很好。下圖給出了 Plato 在騰訊數(shù)據(jù)量級(jí)下的共同類計(jì)算、Node2Vec、LINE、GraphSage 等典型業(yè)務(wù)算法的性能。

騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代
 Plato 在騰訊數(shù)據(jù)量級(jí)下計(jì)算性能

Plato 主要貢獻(xiàn)

圖作為一種表示和分析大數(shù)據(jù)的有效方法,已成為眾多領(lǐng)域至關(guān)重要的數(shù)據(jù)分析和挖掘工具。而圖數(shù)據(jù)是高維度數(shù)據(jù);圖算法的計(jì)算性能是決定圖挖掘能否成功的關(guān)鍵因素之一。對(duì)于目前大量的超過(guò)十億級(jí)節(jié)點(diǎn)大規(guī)模社交網(wǎng)絡(luò)數(shù)據(jù),計(jì)算性能顯得尤為重要。

Plato 的出現(xiàn),則將算法計(jì)算時(shí)間從天級(jí)縮短到分鐘級(jí),并且打破了動(dòng)輒需要數(shù)百臺(tái)服務(wù)器的資源瓶頸;使得現(xiàn)有計(jì)算框架能夠在有限資源和有限時(shí)間內(nèi)完成對(duì)于一些大規(guī)模社交網(wǎng)絡(luò)基礎(chǔ)統(tǒng)計(jì)特征的計(jì)算。

在這次開(kāi)源中,騰訊 Plato 團(tuán)隊(duì)負(fù)責(zé)人于東海也表示:「Plato 已經(jīng)支持騰訊內(nèi)部包括微信在內(nèi)的眾多核心業(yè)務(wù),尤其是為騰訊超大規(guī)模社交網(wǎng)絡(luò)圖數(shù)據(jù)的各類計(jì)算提供支撐,解決了現(xiàn)有其他計(jì)算框架無(wú)法在有限資源和有限時(shí)間內(nèi)完成計(jì)算的難點(diǎn)。」

截止目前,騰訊已經(jīng)在 GitHub 上已經(jīng)開(kāi)源了 86 個(gè)項(xiàng)目。而 Plato 的算法庫(kù)中的圖特征、節(jié)點(diǎn)中心性指標(biāo)、連通圖和社團(tuán)識(shí)別等多種算法都已經(jīng)開(kāi)源,未來(lái)還將進(jìn)一步開(kāi)源更多的算法。

其中,已經(jīng)開(kāi)源的算法包括:
  • 圖特征
樹(shù)深度/寬度
圖特征打包計(jì)算:節(jié)點(diǎn)數(shù)/邊數(shù)/密度/節(jié)點(diǎn)度分布
N-階度
HyperANF
  • 節(jié)點(diǎn)中心性指標(biāo)
 KCore
 Pagerank
 Closeness
 Betweenness
  • 連通圖 & 社團(tuán)識(shí)別
 Connected-Component
 LPA
 HANP
  • 圖表示學(xué)習(xí)
 Node2Vec-Randomwalk
 Metapath-Randomwalk
  • 聚類/分圈算法
 LDA
 FastUnfolding
  • 其他圖相關(guān)算法
 BFS
 共同類計(jì)算
騰訊開(kāi)源圖計(jì)算框架 Plato:十億級(jí)節(jié)點(diǎn)圖計(jì)算進(jìn)入分鐘級(jí)時(shí)代
Plato 開(kāi)源地址:
https://github.com/tencent/plato 
來(lái)源 | 雷鋒網(wǎng)
作者 | 楊鯉萍

上一篇:Facebook 開(kāi)源 SlowFast:基于雙幀速率分治輕量視頻識(shí)別模型
下一篇:AI訓(xùn)練遇隱私難題 聯(lián)邦學(xué)習(xí)這樣打通數(shù)據(jù)孤島

主站蜘蛛池模板: 韩国美女vip福利一区| 91香蕉视频污在线观看| 日批视频网址免费观看| 亚洲a∨精品一区二区三区下载 | 国产精品美女视频| a级**毛片看久久| 少妇无码av无码专区线| 中文字幕第30页| 日本大乳高潮视频在线观看| 久久青青草原亚洲AV无码麻豆| 欧美大杂交18p| 亚洲熟妇av一区| 波多野结衣导航| 人人澡人人澡人人澡| 男生和女生一起差差差很痛的视频 | 91秦先生在线| 国产极品大学生酒店| 老司机久久精品| 国产精品户外野外| 最新亚洲精品国自产在线观看 | 国产AV人人夜夜澡人人爽麻豆 | 亚洲欧美日韩在线播放| 特黄特黄一级高清免费大片 | 雯雯的性调教日记h全文| 国产大学生真实视频在线| 黄色一级毛片免费看| 国产成人精品免费视频软件| 好吊色在线观看| 国产成人精品免费视频大全五级 | 看免费的黄色片| 免费久久精品国产片香蕉| 精品一区二区久久久久久久网精 | 一本久久A久久免费精品不卡| 美国式禁忌3在线| 四虎成人免费网站在线| 羞羞色在线观看| 又色又爽又黄的视频软件app| 精品无码一区在线观看| 午夜不卡av免费| 百合多种道具坐到哭hh| 人妻少妇偷人精品视频|