厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿,2017)第11章 图计算

提纲 ·11.1图计算简介 112 Pregel简介 113 Pregel图计算模型 114 Pregel的c++AP 115 Pregell的体系结构 116 Pregel的应用实例 117 Pregel和 MapReduce实现 PageRank算法的对 118Hama的安装和使用 本PPT是如下教材的配套讲义 《大数据技术原理与应用 —概念、存储、处理、分析与应用》 (2017年2月第2版) SBN:978-7-115443304 厦门大学林子雨编著,人民邮电出版社 欢迎访问《大数据技术原理与应用》教材官方网站: http://dblab.xmu.edu.cn/post/bigdata 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 提纲 • 11.1图计算简介 • 11.2Pregel简介 • 11.3Pregel图计算模型 • 11.4Pregel的C++ API • 11.5Pregel的体系结构 • 11.6Pregel的应用实例 • 11.7 Pregel和MapReduce实现PageRank算法的对比 • 11.8 Hama的安装和使用 欢迎访问《大数据技术原理与应用》教材官方网站: http://dblab.xmu.edu.cn/post/bigdata 本PPT是如下教材的配套讲义: 《大数据技术原理与应用 ——概念、存储、处理、分析与应用》 (2017年2月第2版) ISBN:978-7-115-44330-4 厦门大学 林子雨 编著,人民邮电出版社

●11图计算简介 ·11.1.1图结构数据 ·11.1.2传统图计算解决方案的不足之处 ·11.1.3图计算通用软件 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.1 图计算简介 • 11.1.1 图结构数据 • 11.1.2 传统图计算解决方案的不足之处 • 11.1.3 图计算通用软件

●111图结构数据 许多大数据都是以大规模图或网络的形式呈现,如社交网 络、传染病传播途径、交通事故对路网的影响 ˉ许多非图结构的大数据,也常常会被转换为图模型后进行 分析 图数据结构很好地表达了数据之间的关联性 关联性计算是大数据计算的核心——通过获得数据的关联 性,可以从噪音很多的海量数据中抽取有用的信息 比如,通过为购物者之间的关系建模,就能很快找到口 味相似的用户,并为之推荐商品 或者在社交网络中,通过传播关系发现意见领袖 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn •许多大数据都是以大规模图或网络的形式呈现,如社交网 络、传染病传播途径、交通事故对路网的影响 •许多非图结构的大数据,也常常会被转换为图模型后进行 分析 •图数据结构很好地表达了数据之间的关联性 •关联性计算是大数据计算的核心——通过获得数据的关联 性,可以从噪音很多的海量数据中抽取有用的信息 –比如,通过为购物者之间的关系建模,就能很快找到口 味相似的用户,并为之推荐商品 –或者在社交网络中,通过传播关系发现意见领袖 11.1.1 图结构数据

●1121传统图计算解决方案的不足之处 很多传统的图计算算法都存在以下几个典型问题: (1)常常表现出比较差的内存访问局部性 (2)针对单个顶点的处理工作过少 (3)计算过程中伴随着并行度的改变 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.1.2 传统图计算解决方案的不足之处 很多传统的图计算算法都存在以下几个典型问题: (1)常常表现出比较差的内存访问局部性 (2)针对单个顶点的处理工作过少 (3)计算过程中伴随着并行度的改变

1112传统图计算解决方案的不足之处 针对大型图(比如社交网络和网络图)的计算问题,可能的解决方案及 其不足之处具体如下: (1)为特定的图应用定制相应的分布式实现:通用性不好 (2)基于现有的分布式计算平台进行图计算:在性能和易用性方面往 往无法达到最优 现有的并行计算框架像 MapReduce还无法满足复杂的关联性计算 MapReduce作为单输入、两阶段、粗粒度数据并行的分布式计算 框架,在表达多迭代、稀疏结构和细粒度数据时,力不从心 比如,有公司利用 MapReduce进行社交用户推荐,对于5000万注 册用户,50亿关系对,利用10台机器的集群,需要超过10个小时的 计算 (3)使用单机的图算法库:比如BGL、LEAD、 NetworkX、JDSL、 Standford GraphBase和FGL等,但是,在可以解决的问题的规模方面 具有很大的局限性 (4)使用已有的并行图计算系统:比如, Parallel bcl和 CGM Graph, 实现了很多并行图算法,但是,对大规模分布式系统非常重要的一些方 面(比如容错),无法提供较好的支持 大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.1.2 传统图计算解决方案的不足之处 针对大型图(比如社交网络和网络图)的计算问题,可能的解决方案及 其不足之处具体如下: •(1)为特定的图应用定制相应的分布式实现:通用性不好 •(2)基于现有的分布式计算平台进行图计算:在性能和易用性方面往 往无法达到最优 •现有的并行计算框架像MapReduce还无法满足复杂的关联性计算 •MapReduce作为单输入、两阶段、粗粒度数据并行的分布式计算 框架,在表达多迭代、稀疏结构和细粒度数据时,力不从心 •比如,有公司利用MapReduce进行社交用户推荐,对于5000万注 册用户,50亿关系对,利用10台机器的集群,需要超过10个小时的 计算 •(3)使用单机的图算法库:比如BGL、LEAD、NetworkX、JDSL、 Standford GraphBase和FGL等,但是,在可以解决的问题的规模方面 具有很大的局限性 •(4)使用已有的并行图计算系统:比如,Parallel BGL和CGM Graph, 实现了很多并行图算法,但是,对大规模分布式系统非常重要的一些方 面(比如容错),无法提供较好的支持

11.13图计算通用软件 传统的图计算解决方案无法解决大型图的计算问题,因此, 就需要设计能够用来解决这些问题的通用图计算软件 ·针对大型图的计算,目前通用的图计算软件主要包括两种: 第一种主要是基于遍历算法的、实时的图数据库,如 Neo4、 OrientDB、DEX和 Infinite Graph 第二种则是以图顶点为中心的、基于消息传递批处理的并 行引擎,如 GoldenOrb、 Graph、 Pregel和Hama,这些 图处理软件主要是基于BSP模型实现的并行图处理系统 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn • 传统的图计算解决方案无法解决大型图的计算问题,因此, 就需要设计能够用来解决这些问题的通用图计算软件 • 针对大型图的计算,目前通用的图计算软件主要包括两种: – 第一种主要是基于遍历算法的、实时的图数据库,如 Neo4j、OrientDB、DEX和 Infinite Graph – 第二种则是以图顶点为中心的、基于消息传递批处理的并 行引擎,如GoldenOrb、Giraph、Pregel和Hama,这些 图处理软件主要是基于BSP模型实现的并行图处理系统 11.1.3 图计算通用软件

11.1.3图计算通用软件 次BSP( Bulk Synchronous Parallel Computing Model,又称“大同步”模型)计算过 程包括一系列全局超步(所谓的超步就是计算中的一次迭代),每个超步主要包括三 个组件 局部计算:每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的 值,不同处理器的计算任务都是异步并且独立的 通讯:处理器群相互交换数据,交换的形式是,由一方发起推送(put)和获取(get)操作 栅栏同步( Barrier Synchronization):当一个处理器遇到“路障”(或栅栏),会等到 其他所有处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步 的开始 处理器 用户定义函数 F/vertex 局部计算 O 栅栏同步 超级步(S1) 超级步5级步(S+1) 图9-1一个超步的垂直结构图 大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.1.3 图计算通用软件 一次BSP(Bulk Synchronous Parallel Computing Model,又称“大同步”模型)计算过 程包括一系列全局超步(所谓的超步就是计算中的一次迭代),每个超步主要包括三 个组件: •局部计算:每个参与的处理器都有自身的计算任务,它们只读取存储在本地内存中的 值,不同处理器的计算任务都是异步并且独立的 •通讯:处理器群相互交换数据,交换的形式是,由一方发起推送(put)和获取(get)操作 •栅栏同步(Barrier Synchronization):当一个处理器遇到“路障”(或栅栏),会等到 其他所有处理器完成它们的计算步骤;每一次同步也是一个超步的完成和下一个超步 的开始 处理器 局部计算 通讯 栅栏同步 图9-1 一个超步的垂直结构图

●112eg简介 谷歌公司在2003年到2004年公布了GFS、 MapReduce和 Big Table,成为 后来云计算和 Hadoop项目的重要基石 谷歌在后 Hadoop时代的新“三驾马车”— Caffeine、 Dremel和 Pregel 再一次影响着圈子与大数据技术的发展潮流 ˉ Pregel是一种基于BSP模型实现的并行图处理系统 为了解决大型图的分布式计算问题, Pregel搭建了一套可扩展的、有容错 机制的平台,该平台提供了一套非常灵活的APl,可以描述各种各样的图 计算 亼^ regel作为分布式图计算的计算框架,主要用于图遍历、最短路径、 geRak计算等等 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.2 Pregel简介 •谷歌公司在2003年到2004年公布了GFS、MapReduce和BigTable,成为 后来云计算和Hadoop项目的重要基石 •谷歌在后Hadoop时代的新“三驾马车”——Caffeine、Dremel和Pregel ,再一次影响着圈子与大数据技术的发展潮流 •Pregel是一种基于BSP模型实现的并行图处理系统 •为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错 机制的平台,该平台提供了一套非常灵活的API,可以描述各种各样的图 计算 •Pregel作为分布式图计算的计算框架,主要用于图遍历、最短路径、 PageRank计算等等

113 Pregel图计算模型 11.3.1有向图和顶点 11.32顶点之间的消息传递 1133 Pregel的计算过程 ·1134实例 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.3 Pregel图计算模型 • 11.3.1 有向图和顶点 • 11.3.2 顶点之间的消息传递 • 11.3.3 Pregel的计算过程 • 11.3.4 实例

11.3.1有向图和顶点 ˉ Pregel计算模型以有向图作为输入 有向图的每个顶点都有一个 String类型的顶点|D 每个顶点都有一个可修改的用户自定义值与之关联 每条有向边都和其源顶点关联,并记录了其目标顶点ID 边上有一个可修改的用户自定义值与之关联 边e1 顶点 sing类型的顶点D 2)可修改的用户自定义值 边上有一个可修改的用户自定义值 4 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 11.3.1 有向图和顶点 •Pregel计算模型以有向图作为输入 •有向图的每个顶点都有一个String类型的顶点ID •每个顶点都有一个可修改的用户自定义值与之关联 •每条有向边都和其源顶点关联,并记录了其目标顶点ID •边上有一个可修改的用户自定义值与之关联 String类型的顶点ID 可修改的用户自定义值 边上有一个可修改的用户自定义值 边e1 顶点
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机导论》课程教学资源(PPT课件讲稿)第9章 计算机学科方法论.ppt
- VB.Net程序设计基础(PPT课件讲稿).ppt
- 《计算机网络》课程教学资源(PPT课件)第4讲 以太网组网及故障排除.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第二章 词法分析.ppt
- 中国科学技术大学:《计算机视觉》课程教学资源(PPT课件讲稿)第二章 视觉的基本知识.ppt
- 《机器学习》教学资源(PPT讲稿)支持向量机 support vector machines.ppt
- 哈尔滨工业大学:逻辑斯蒂回归与最大熵(PPT课件讲稿).pptx
- 软件开发环境与工具(PPT讲稿)Software development environment and tool.ppt
- 语义网与本体(PPT讲稿)Semantic Web & Ontology(元数据 Metadata).ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 数组.ppt
- 香港科技大学:片上网络(PPT讲稿)network-on-chip(NoC)NoC Building Blocks.pptx
- 南京大学:《自然语言处理 Natural Language Processing(NLP)》课程教学资源(PPT课件讲稿)自然语言处理概述、基于规则(知识工程)的传统自然语言处理方法(理性方法).ppt
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 06 文件系统 File Systems(主讲:高海昌).ppt
- 香港大学:Data Analysis - Factors Potentially Affecting Development.pptx
- 北京大学:《高级编译技术 Advanced Compiler Techniques》课程教学资源(PPT课件讲稿)Introduction to Optimizations.ppt
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第四章 语法分析(戴新宇).pptx
- 《计算机组装与维修》课程教学资源(PPT课件讲稿)第十三章 局域网维护及常见故障处理.ppt
- 北京大学:《软件需求工程》课程教学资源(PPT课件讲稿)第十章 软件需求开发与管理工具.ppt
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第二章 数据加密技术基础.ppt
- 《汇编语言》课程教学资源(PPT课件讲稿)第6章 子程序.ppt
- 《Visual Basic 6.0程序设计》课程教学资源(PPT课件)第四章 常用控件与窗体.ppt
- 大连工业大学:《计算机程序设计(C语言版)》课程教学资源(PPT课件讲稿,共十三章).pps
- 《高级语言程序设计》课程教学资源(试卷习题)试题五(无答案).doc
- 《计算机文化基础》课程教学大纲 Computer Culture Foundation.pdf
- 《图像处理与计算机视觉 Image Processing and Computer Vision》课程教学资源(PPT课件讲稿)Chapter 08 Stereo vision.pptx
- 《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿,英文版)Chapter 6 Wireless and Mobile Networks.ppt
- Gas Systems Modeling andSimulation with MSC.EASY5:GD Advanced Class Notes(EAS105 Course Notes).ppt
- 哈尔滨工业大学:《语言信息处理》课程教学资源(PPT课件讲稿)机器翻译 II Machine Translation II.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 3 Process Description and Control 3.1 What is a Process 3.2 Process States 3.3 Process Description.ppt
- 《计算机应用基础》课程教学资源(PPT课件讲稿)第四章 电子表格软件(Excel 2003).ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第七章 计算机网络基础.ppt
- 大数据集成(PPT讲稿)Big Data Integration.pptx
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(PPT课件讲稿)第四讲 CPU调度(part II).ppt
- 西安电子科技大学:《计算机通信网》课程教学资源(PPT课件讲稿)第1章 概述(宋锐).ppt
- 西安交通大学:《网络与信息安全》课程PPT教学课件(网络入侵与防范)第六章 网络入侵与防范——拒绝服务攻击与防御技术.ppt
- 《高级人工智能 Advanced Artificial Intelligence》教学资源(PPT讲稿)Lecture 7 Recurrent Neural Network.pptx
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第七章 运行时刻环境.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第6章 Data-Level Parallelism in Vector, SIMD, and GPU Architectures.ppt
- 河南中医药大学(河南中医学院):《计算机网络》课程教学资源(PPT课件讲稿)第六章 应用层.pptx
- 媒体服务(PPT课件讲稿)Media Services.ppt