Plato

高性能图计算框架
授权协议 BSD-3-Clause
开发语言 C/C++ Python
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 国产
投 递 者 李和裕
操作系统 跨平台
开源组织 腾讯
适用人群 未知
 软件概览

简介

Plato 高性能图计算框架主要有以下贡献:

  • Plato 能高效地支撑腾讯超大规模社交网络图数据的各类计算,且性能达到了学术界和工业界的顶尖水平,比Spark GraphX 高出 1-2 个数量级,使得许多按天计算的算法可在小时甚至分钟级别完成,也意味着腾讯图计算全面进入了分钟级时代。
  • Plato 的内存消耗比 Spark GraphX 减少了 1-2 个数量级,意味着只需中小规模的集群(10 台服务器左右)即可完成腾讯数据量级的超大规模图计算,打破了动辄需要上百台服务器的资源瓶颈,同时也极大地节约了计算成本。
  • Plato 隶属腾讯图计算 TGraph,起源于超大规模社交网络图数据,但可以完美适配其他类型的图数据,同时,Plato 作为高性能、可扩展、易插拔的工业级图计算框架,推动了业界超大规模图计算框架的技术进步。

核心能力 

Plato 目前主要提供两方面的能力:

  • 腾讯数据量级下的离线图计算
  • 腾讯数据量级下的图表示学习

Plato 的整体架构如下图所示。Plato 可运行在通用的 X86 集群,如 Kubernetes 集群、Yarn 集群等。在文件系统层面,Plato 提供了多种接口支持主流的文件系统,如 HDFS、Ceph 等等。

Plato 高性能图计算框架的核心是 Plato 自适应图计算引擎。目前 Plato 计算引擎针对不同类型的图算法,提供了稀疏稠密自适应计算模式、共享内存计算模式和流水线计算模式等,还设计了良好的接口支持接入新的计算通信模式。此外,Plato 自适应图计算引擎还包含了图划分、图表示以及多层级计算通信协同调度等模块。

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

已开源的算法:

  • 图特征
    •  树深度/宽度
    •  图特征打包计算:节点数/边数/密度/节点度分布
    •  N-阶度
    •  HyperANF
  •  节点中心性指标
    •  KCore
    •  Pagerank
    •  Closeness
    •  Betweenness
  •  连通图 & 社团识别
    •  Connected-Component
    •  LPA
    •  HANP
  •  图表示学习
    •  Node2Vec-Randomwalk
    •  Metapath-Randomwalk
  •  聚类/分圈算法
    •  LDA
    •  FastUnfolding
  •  其他图相关算法
    •  BFS
    •  共同类计算
  • 腾讯高性能图计算框架Plato代码阅读(二) 图加载 在pagerank计算逻辑中,图加载和图切分是通过如下调用完成的: // init graph plato::graph_info_t graph_info(FLAGS_is_directed); auto pdcsc = plato::create_dcsc_seqs_from_path<plato::empty_t>(

  • Plato是一款针对包装印刷&标签印刷&混合散版拼版的智能拼版软件,Plato能够依据生产订单数据自动进行拼版作业,自动依各种不同的印刷方式自动判断加载不同的印刷标记线,制作一次智能印刷标记线模板,无限使用! 无论您是胶印、柔印、凹印、凸印、丝印,只要您是需要进行印刷拼版,Plato都能为您提供智能化解决方案,使您的印前拼版工作不再产生因手工操作带来的各种错误,轻松一键拼版自动生成,大幅提升您的生

  • 数据集:多轮对话数据集 外加标签:无 模型:预训练模型(在对话语料上) 时间:2019年 本文带来Siqi Bao, Huang He, Fan Wang, Hua Wu and Haifeng Wang共同创作的文章 简介 预训练模型已被证明对广泛的自然语言处理任务有效。受此启发,我们提出了一种新颖的对话生成预训练框架来支持各种对话,包括闲聊、基于知识的对话和对话式问答。在这个框架中,我们采用灵

  • Nebula Graph + Plato调研总结 今天花了一天的时间,调研了Nebula数据库,Plato框架,以及Nebula与Plato框架对接相关技术,下面将看到的比较好的链接记录如下: 相关网页主题及对应链接 主流开源分布式图计算框架 Benchmark https://www.modb.pro/db/212572 高性能图计算系统Plato在Nebula Graph中的实践 https:

  • Lesson 47 - Plato Today The modern Plato, like his ancient counterpart, has an unbounded contempt for politicians and statesmen and party leaders who are not university men. He finds politics a dirty

 相关资料
  • 👥面试题目 一面 项目 cuda详细说(好久了有的忘记了说的磕磕巴巴的) 然后 讲了实习的东西 感觉和他们目前的业务比较match 基础问题 c加加和cuda的基础问题 一个膨胀卷积实现的手撕 呃问我怎么优化 没回答出来 给我讲解了我还是没明白 笑死 面试官无语 反问 两轮技术面 技术业务偏向移动端硬件优化这边 面试官比较友好 亲切 没开摄像头 希望可以进二面 跪求

  • 最简单的经验法则之一是记住硬件喜欢数组,并且针对数组的迭代进行了高度优化。对许多问题的一个简单优化只是停止使用花哨的数据结构,只使用简单的数组(或C++中的std::vectors)。这需要一些时间来适应。 C++类是那种“奇特的数据结构”,即一种可以用数组代替的数据类型,以在C++程序中获得更高的性能吗?

  • 1、自我介绍 2、项目介绍 3、主要做了什么,为什么这样做 4、模型结构 5、与原算法比较,优势和不足 6、在学校有没有学过机器学习深度学习相关课程 7、滤波器(不会) 8、怎样部署(不会) 9、评价指标 10、倾向于做什么方向 11、线性回归与逻辑回归 12、朴素贝叶斯 13、代码题:单位园随机采样 #摩尔线程##摩尔线程智能科技(北京)有限责任公司#

  • 我得到的性能下降后,并行化的代码,计算图中心。图比较大,100K顶点。单线程应用程序大约需要7分钟。根据julialang站点(http://julia.readthedocs.org/en/latest/manual/parallel-computing/#man-parallel-computing)的建议,我修改了代码并使用pmap api来并行计算。我开始计算8个过程(julia-p 8c

  • 【名称】蔚来高性能计算日常实习 1 2 3面 【时间】23.07 【公司】蔚来 【岗位】高性能计算 【面经】个人 一面: 1. 自我介绍 2. 深挖实习 3. 你用过TensorRT 讲讲对 TensorRT的理解 4. 讲讲TensorRT 和 OpenVINO的区别 C++ 八股: 5. C++面向对象特性 面向对象特性分别如何体现的 6. 讲一下继承 7. 讲一下虚函数 8. 讲一下vect

  • 校验者: @曲晓峰 @小瑶 翻译者: @小瑶 对于某些 applications (应用),estimators(估计器)的性能(主要是 prediction time (预测时间)的 latency (延迟)和 throughput (吞吐量))至关重要。考虑 training throughput (训练吞吐量)也可能是有意义的,但是在 production setup (生产设置)(通常在脱

  • 我正在研究一个基于代理的流行病模型。这个想法是单个代理根据他们在网络中观察到的情况(基于距离)做出决定。我在每个代理中都有几个功能,可以动态更新受感染接触者的数量,接触者表现出特定行为等。 下面的代码用于计算代理网络中受感染的联系人。 至少还有3个这样的函数可以保持表示代理网络中其他功能的其他代理的计数。现在,当我 有没有一种计算效率更高的方法来跟踪更大人口的网络统计数据?

  • 投的上海的高性能计算被挂了,被北京的高性能计算的语音技术部捞了 百度面试官非常好,体验感非常棒,奈何自己太菜了,全程道歉 一面 8.2 项目深挖 算子开发相关涉及知识点 GPU架构,内存模型 并发编程 锁 信号量 创建线程的几种方式 lambda表达式的底层是怎么实现的 std::move 使用场景,他比赋值构造好在哪 lock_guard相比较于lock/unlock能防止什么问题? cuda