云计算刘鹏ppt

简介 相关

截图

云计算刘鹏ppt

简介

这是云计算刘鹏ppt,包括了云计算概念与现状,Google文件系统,Google MapReduce,Google Bigtable,大云数据挖掘系统等内容,欢迎点击下载。

云计算刘鹏ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.

云计算概念与现状 云计算的定义 Google云计算关键技术 Google文件系统GFS(Google File System) 并行数据处理MapReduce 结构化数据表BigTable 分布式锁管理Chubby Google云计算原理 分布式文件系统GFS Google File System Google设计GFS的动机 Google需要一个支持海量存储的文件系统 购置昂贵的分布式文件系统与硬件? Google设计GFS的动机 为什么不使用当时现存的文件系统? Google所面临的问题与众不同 不同的工作负载,不同的设计优先级(廉价、不可靠的硬件) 需要设计与Google应用和负载相符的文件系统 GFS的假设与目标 硬件出错是正常而非异常 系统应当由大量廉价、易损的硬件组成 必须保持文件系统整体的可靠性 主要负载是流数据读写 主要用于程序处理批量数据,而非与用户的交互或随机读写 数据写主要是“追加写”,“插入写”非常少 需要存储大尺寸的文件 存储的文件尺寸可能是GB或TB量级,而且应当能支持存储成千上万的大尺寸文件 GFS的设计思路 将文件划分为若干块(Chunk)存储 每个块固定大小(64M) 通过冗余来提高可靠性 每个数据块至少在3个数据块服务器上冗余 数据块损坏概率? 通过单个master来协调数据访问、元数据存储 结构简单,容易保持元数据一致性 无缓存 Why? GFS的架构 单一Master, 若干ChunkServer 单一Master问题 分布式系统设计告诉我们: 这是单点故障 这是性能瓶颈 GFS的解决办法 单点故障问题 单一Master问题 GFS的解决办法 性能瓶颈问题 Master节点的任务 存储元数据 文件系统目录管理与加锁 与ChunkServer进行周期性通信 发送指令,搜集状态,跟踪数据块的完好性 数据块创建、复制及负载均衡 对ChunkServer的空间使用和访问速度进行负载均衡,平滑数据存储和访问请求的负载 对数据块进行复制、分散到ChunkServer上 一旦数据块冗余数小于最低数,就发起复制操作 Master节点的任务 垃圾回收 在日志中记录删除操作,并将文件改名隐藏 缓慢地回收隐藏文件 与传统文件删除相比更简单、更安全 陈旧数据块删除 探测陈旧的数据块,并删除 GFS架构的特点 采用中心服务器模式 可以方便地增加Chunk Server Master掌握系统内所有Chunk Server的情况,方便进行负载均衡 不存在元数据的一致性问题 GFS架构的特点 不缓存数据 GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大 Chunk Server上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache 从可行性看,Cache与实际数据的一致性维护也极其复杂 GFS架构的特点 在用户态下实现 直接利用Chunk Server的文件系统存取Chunk,实现简单 用户态应用调试较为简单,利于开发 用户态的GFS不会影响Chunk Server的稳定性 提供专用的访问接口 未提供标准的POSIX访问接口 降低GFS的实现复杂度 GFS的容错方法 GFS的容错机制 Chunk Server容错 每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上 每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本) GFS的性能 Google云计算原理 并行数据处理模型MapReduce 并行计算基础 摩尔定律 集成电路芯片上所集成的电路的数目, 每隔18个月就翻一番,同时性能也提升 一倍 并行计算基础 “免费的性能大餐”? Andy given, and Bill taken away 软件算法、数据结构似乎不再重要,因为处理器性能不断提升 并行计算基础 摩尔定律正在走向终结… 单芯片容纳晶体管的增加,对制造工艺提出要求 CPU制造18nm技术,电子泄漏问题 CPU主频已达3GHz时代,难以继续提高 散热问题(发热太大,且难以驱散) 功耗太高 并行计算基础 在多核时代生存,必须考虑并发问题 不存在解决多核编程问题的银弹, 不存在可以简单地将并发编程问题化 解掉的工具, 开发高性能的并行程序 必须要求开发者从根本上改变其编程 方法 从某种意义上来说,这不仅仅是要改 变50年来顺序程序设计的工艺传统, 而且是要改变数百万年来人类顺序化思考问题的习惯 并行计算基础 串行编程 早期的计算里,程序一般是被串行执行的 程序是指令的序列,在单处理器的机器里,程序从开始到结束,这些指令一条接一条的执行 并行编程 一道处理可以被划分为几部分,然后它们可以并发地执行 各部分的指令分别在不同的CPU上同时运行,这些CPU可以存在于单台机器中,也可以存在于多台机器上,它们通过连接起来共同运作 并行计算基础 什么样的问题适合并行计算? 斐波那契序列(Fibonacci)的计算? 并行计算基础 什么样的问题适合并行计算? 如果有大量结构一致的数据要处理,且数据可以分解成相同大小的部分, 那我们就可以设法使这道处理变成并行 为什么需要MapReduce? 计算问题简单,但求解困难 待处理数据量巨大(PB级),只有分布在成百上千个节点上并行计算才能在可接受的时间内完成 如何进行并行分布式计算? 如何分发待处理数据? 如何处理分布式计算中的错误? 为什么需要MapReduce? MapReduce 一个软件架构,是一种处理海量数据的并行编程模式 用于大规模数据集(通常大于1TB)的并行运算 MapReduce实现了Map和Reduce两个功能 Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集 Reduce对结果集进行分类和归纳 Map()和 Reduce() 两个函数可能会并行运行,即使不是在同一的系统的同一时刻 MapReduce示例:单词计数 案例:单词记数问题(Word Count) 给定一个巨大的文本(如1TB),如何计算单词出现的数目? MapReduce示例:单词计数 使用MapReduce求解该问题 定义Map和Reduce函数 MapReduce示例:单词计数 使用MapReduce求解该问题 Step 1: 自动对文本进行分割,形成初始的cZI红软基地

展开

同类推荐

热门PPT

相关PPT