1、Google云计算原理云计算原理研究院研究院 黄兵黄兵第1页,共43页。2Reached Our GoalReached Our Goal 认识云计算(理解)理解Google 云计算实现原理(难点)可独立在GAE上开发云服务应用 了解TMF?以及云未来的发展(了解)第2页,共43页。3初识云计算1Google云计算原理2GAE平台部署云服务3提 纲TM Forum 对云态度4第3页,共43页。4We have a dream We have a dream 计算机的计算机的服务能力服务能力可以作为一种商品进行流通。就像水、可以作为一种商品进行流通。就像水、电、电、气一样取之方便,费用低廉气一样
2、取之方便,费用低廉第4页,共43页。5云计算定义云计算定义图:云计算概念模型云计算云计算:是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够按需获取计算力、存储空间 和 信 息 服 务。第5页,共43页。6云计算服务的部署形式云计算服务的部署形式IaaS基础设施云基础设施云(代表:亚马逊的S3)SaaS 应用云应用云(代表:salesforce的CRM)PaaS 平台云平台云(代表:Google App Engine)私有云私有云(数据中心数据中心 内部网内部网)公共云公共云(服务提供商服务提供商 互连网互连网)混合云混合云(公共和私有公共和私有)X as a
3、service第6页,共43页。7Amazon Amazon 云计算云计算1GB数据存放1个月为0.15美元每个服务器租用1小时为0.1美元Amazon的的IaaS云计算思路云计算思路弹性计算云EC2为企业提供计算服务简单存储服务S3为企业提供存储服务Amazon的的IaaS运用实例运用实例第7页,共43页。亚马逊IaaS应用案例:纽约时报使用使用亚马逊云计算服务亚马逊云计算服务效果:效果:在不到 24个小时的时间里处理了1100万篇文章费用:费用:累计花费240美元利用自己服务器利用自己服务器时间:时间:数月时间费用:费用:多得多的费用 8第8页,共43页。9Google Google 云计
4、算云计算Google的云计算思路的云计算思路“浏览器操作系统”第9页,共43页。10隶属隶属PaaS的的Google云计算云计算Google Google 云计算云计算PaaSPaaS属于部署在云端云端的应用执行环境支持Python和JavaJava两种语言通过SDK调用Google的各种服务。如Google Map、Mail等用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)在下一章将具体介绍在下一章将具体介绍GAEGAE具体的应用具体的应用第10页,共43页。11Google Google 云计算云计算SaaSSaaS隶属隶属SaaS的的Google
5、云计算云计算提供在线“Word、Excel、PPT”提供在线MAP提供在线日历管理第11页,共43页。Google云计算平台技术架构云计算平台技术架构 分布式文件系统 Google Distributed File System 并行数据处理 MapReduce分布式锁 Chubby 结构化数据表 BigTableGoogleGoogle如何实现云?如何实现云?12第12页,共43页。13云计算概念入门云计算概念入门第13页,共43页。14初识云计算1Google云计算原理2GAE平台部署云服务3提 纲TM Forum 对云态度4第14页,共43页。GoogleGoogle云计算原理云计算原理
6、123415第15页,共43页。16第16页,共43页。17Google设计设计GFS的动机的动机 Google需要支持需要支持海量数据存储的文件系统的文件系统购置昂贵的分布式文件系统与硬件?是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统?第17页,共43页。GFS的设计思路的设计思路GFS设计原则:设计原则:机器失效不能视为异常现象异常现象 能应付对大型大型/超大型超大型文件处理 支持大量用户大量用户同时访问GFS组成组成 GFS集群:一个的MasterMaster和多个ChunkServerChunkServer(块服务器)组成,并可以多客户端ClientClient访问GFS
7、设计要点设计要点 每个文件拆成若干个64M64M文件块文件块Chunk组成 每个Chunk都由Master根据其创建时间指定Chunk Handle(64)Chunk Handle(64)文件块被保存在ChunkServer本地磁盘本地磁盘中缺省情况下3处热备份备份C Chunk块文件18第18页,共43页。GFS的设计思路的设计思路Client职责职责 包含文件系统的APIAPI 负责和ChunkServer和Master通信通信代表应用程序进行读写读写操作 Client和Master进行元数据元数据操作 Client和ChunkServer进行文件数据文件数据操作Master职责职责 负责
8、管理所有文件系统的元数据元数据 元数据包括:命名空间,访问控制信息,文件到Chunk的映射信息等ChunkServer职责职责 负责存储chunk文件块 Linux文件系统19第19页,共43页。20GFS的系统架构的系统架构应用程序GFS客户端GFS数据块服务器Linux文件系统GFS主服务器文件命名空间Chunk 2EEE/foo/barGFS数据块服务器Linux文件系统标注:数据信息控制信息文件名,chunk索引向数据块服务器发指令返回数据块服务器状态Chunk句柄和位置Chunk句柄,查找数据返回数据信息第20页,共43页。21Question文件为什么要被化分为文件为什么要被化分为
9、64M?Answer:1、可以减少Client和Master的之间的交互,减少Master的负载2、客户端可以在一个Chunk中完成许多操作3、可以减少TCP三次握手时间。另外这些信息都要被Master管理的缺点:缺点:有冗余第21页,共43页。GFS架构的特点架构的特点l 采用中心服务器模式采用中心服务器模式Master 可以方便地增加Chunk ServerMaster掌握系统内所有Chunk Server的情况,方便进行负载均衡 不存在元数据的一致性问题l 不缓存数据不缓存数据 必要性:Client流式读取,非重复读写 可行性:Master本身管理多个Server,很复杂22第22页,共
10、43页。GFS容错机制容错机制l Chunk Server容错容错 每个Chunk有多个存储副本(默认是默认是3 3个个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit32bit的的校验码校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)lMaster容错容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息 前两类通过日志日志提供容错,Chunk副本信息存储于其它存储于其它Chunk Server。这样Master出现故障时可恢复23第23页,共43页。24GFS实验效果图
11、实验效果图ChunkServer 1ChunkServer 2ChunkServer 16MasterClient 1Client 2Client 16路由器 1路由器 2Master第24页,共43页。GoogleGoogle云计算原理云计算原理123425第25页,共43页。并行计算基础并行计算基础l 摩尔定律正在走向终结摩尔定律正在走向终结 单芯片容纳晶体管的增加,对制造工艺提出要求 CPU制造18nm18nm技术,电子泄漏问题 CPU主频已达3GHz3GHz时代,难以继续提高散热问题(发热太大,且难以驱散)功耗太高26未来的发展:多核未来的发展:多核第26页,共43页。27什么样的问题
12、适合并行计算?什么样的问题适合并行计算?l 斐波那契序列斐波那契序列(Fibonacci)Xl 计算计算URL访问频率访问频率 YMap函数处理日志中web页面请求的记录,然后输出(URL,1)。Reduce函数把相同URL的value值都累加起来,产生(URL,记录总数)结果。第27页,共43页。GoogleGoogle为什么需要为什么需要MapReduceMapReduce?l Google拥有海量数据,并且需要快速处理拥有海量数据,并且需要快速处理l 什么是什么是MapReduce?28Google MapReduce架构设计师Jeffrey DeanJeffery Dean设计一个新的
13、抽象模型抽象模型,使我们只要执行的简单计算简单计算,而将并行化、容错、数据分布、负载均衡的等杂乱细节放在一个库里,使并行编程时不必关心它们这就是MapReduce第28页,共43页。29Google Google 并行运算编程模型并行运算编程模型MapMapMap 原始数据原始数据 1原始数据原始数据 2原始数据原始数据 MReduceReduce结果结果 1结果结果R1、在编程的时候,开发者需要、在编程的时候,开发者需要编写两个函数:编写两个函数:Map:(in_key,in_value)Reduce:(key,value 1,value 2)2、Map操作产生结果是操作产生结果是对对3、在
14、、在Map,Reduce之间系统把之间系统把同一同一Key归类到归类到Reduce3、Reduce操作对相同的操作对相同的Key进进行归类处理行归类处理第29页,共43页。30MapReduceMapReduce实现机制实现机制用户程序(1)分割(1)分割(1)分割Master工作机M工作机M工作机M工作机R工作机R(2)指派Map(2)指派Reduce片段1片段4片段3片段2输入文件输入文件(3)Read(4)本地存储输出文件0输出文件1Map状态状态本地存储本地存储Reduce状态状态输出文件输出文件(5)远程读取(6)写入文件第30页,共43页。31单词计数 体现M/R算法Hello W
15、orld Bye WorldHello China Bye ChinaHello Si-tech Bye Si-tech 输入数据:输入数据:MapReduceHello :3Bye :3China :2World :2Si-tech:2Map(Key,Value)for(each world world in value)collect(world,1);Reduce(Key,Value)int count=0;for(each w in value)count+;collect(Key,count);1)第31页,共43页。32Hello World Bye WorldHello Chin
16、a Bye ChinaHello Si-tech Bye Si-tech 2)分割分割分割Hello World Bye WorldHello China Bye ChinaHello Si-tech Bye Si-tech 3)Hello World Bye WorldHello China Bye ChinaHello Si-tech Bye Si-tech MAPMAPMAP第32页,共43页。334)Map输出输出FoldFold输出输出第33页,共43页。34Fold输出输出5)Reduce输出输出Reduce第34页,共43页。MapReduceMapReduce容错机制容错机制l
17、 背景背景 MapReduce设计初衷:由普通PC组成的集群来处理超大规模的数据超大规模的数据,所以有效的错误保障机制是必不可少lWorker容错容错 Master周期性周期性的ping每个workerlMaster容错容错 Master周期性的将Master的数据结构数据结构的写入磁盘写入磁盘,即检查点(checkpoint)Master数据结构包括:Map和Reduce任务的状态(空闲、工作中或完成),以及Worker机器(非空闲任务的机器)的标识。35第35页,共43页。GoogleGoogle云计算原理云计算原理123436第36页,共43页。37初识云计算1Google云计算原理2G
18、AE平台部署云服务3提 纲TM Forum 对云态度4第37页,共43页。38GAEGAE部署云应用部署云应用第38页,共43页。39初识云计算1Google云计算原理2GAE平台部署云服务3提 纲TM Forum 对云态度4第39页,共43页。TMF See Sunny Future In Tele Management World American40TMFTMF简介简介1、电信管理论坛、电信管理论坛,非盈利联盟组织非盈利联盟组织2、会员遍布全球、会员遍布全球195个国家,个国家,700+会员公会员公司司3、我们公司也是会员,享受会员权利、我们公司也是会员,享受会员权利4、业界广泛使用的、
19、业界广泛使用的eTOM,SID,TAM,NGOSSTMF最新框架技术最新框架技术第40页,共43页。结束语结束语云计算的出现并快速发展,一方面是虚拟化技术虚拟化技术、分布式计算分布式计算等技术发展的结果,另一方面也是互联网应用应用不断丰富趋势的体现。目前,虽然有Amazon、Google、IBM、Microsoft等在推,但云计算还没有一个统一的标准。云计算平台已经为很多用户所使用,但是云计算在行业标准、数据安全、服务质量、应用软件等方面也面临着各种问题,这些问题的解决需要技术的进一步发展。现有的研究大多集中于云体系结构、云存储、云数据管理、虚拟化、云安全、编程模型等技术41第41页,共43页。42云计算云计算第42页,共43页。演讲完毕,谢谢观看!第43页,共43页。