




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章结论
很少有一种技术可以像“云计算”这样,在短短tl勺两年间就产生巨大的影响力。
Google.亚马逊、IBM和微软等IT巨头们此前所未有的速度和规模推进云计算技术和产
品的普及,某些学术活动迅速将云计算提上议事日程,支持和反对H勺声音不绝于耳。那
么,云计算究竟是什么?发展现实状况怎样?它的实现机制是什么?它与网格计算是什么
关系?。本章将分析这些问题,目H勺是协助读者对云计算形成一种初步认识。
1.1云计算日勺概念
云计算(CloudComputing)是在2023年第3季度才诞生H勺新名词,但仅仅过了六个
月多,其受到关注H勺程度就超过了网格计算(GridComputing),如图1-1所示。
图1-1云计算和网格计算在Google中日勺搜索趋势
然而,对于究竟什么是云计算,至少可以找到100种解释,目前还没有公认的定义。
本书给出一种定义,供读者参照。
云计算是一种商业计算模型,它将计算任务分布在大量计算机构成H勺资源池上,使顾
客可以按需获取计算力、存储空间和信息服务。
这种资源池称为“云二“云”是某些可以自我维护和管理的虚拟计算资源,一般是某
些大型服务器集群,包括计算服务器、存储服务器和宽带资源等。云计算将计算资源集中
起来,并通过专门软件实现自动管理,无需人为参与。顾客可以动态申请部分资源,支持
多种应用程序的运转,无需为啰嗦的细节而烦恼,可以愈加专注于自己的业务,有助于提
高效率、减少成本和技术创新。云计算的关键理念是资源池,这与早在2023年就提出的
网格计算池(CompellingPool)日勺概念非常相似⑶【支网格计算池将计算和存储资源虚拟成
为一种可以任意组合分派H勺集合,池的规模可以动态扩展,分派给顾客的处理能力可以动
态回收重用。这种模式可以大大提高资源的运用率,提高平台日勺服务质量。
之因此称为“云。是由于它在某些方面具有现实中云日勺特性:云一般都较大;云的
规模可以动态伸缩,它的边界是模糊的;云在空中飘忽不定,无法也无需确定它的详细位
置,但它确实存在于某处。之因此称为“云。还由于云计算的鼻祖之一亚马逊企业将大
家曾经称为网格计算日勺东西,取了一种新名称“弹性计算云”(ElasticComputing
Cloud),并获得了商业上的成功。
有人将这种模式比方为从单台发电机供电模式转向了电厂集中供电的模式。它意味着
计算能力也可以作为一种商品进行流通,就像煤气、水和电同样,取用以便,费用低廉。
最大的不一样在于,它是通过互联网进行传播时。
云计算是并行计算(ParallelComputing)>分布式计算(DistributedComputing)和网
格计算(GridComputing)日勺发展,或者说是这些计算科学概念的商业实现。云计算是虚
拟化(Virtualization)、效用计算(UtilityComputing)、将基础设施作为服务laaS
(InfrastructureasaService)s将平台作为服务PaaS(PlatformasaService)和将软件作为
服务SaaS(SoftwareasaService)等概念混合演进并跃升日勺成果。
从研究现实状况上看,云计算具有如下特点。
1)超大规模。“云”具有相称的规模,Google云计算已经拥有100多万台服务器,
亚马逊、IBM、微软和Yahoo等企业的“云”均拥有几十万台服务器。“云”能赋予顾客
前所未有的计算能力。
2)虚拟化。云计算支持顾客在任意位置、使用多种终端获取服务。所祈求口勺资源来
自“云”,而不是固定的有形的实体。应用在“云”中某处运行,但实际上顾客无需理解
应用运行的详细位置,只需要一台笔记本或一种PDA,就可以通过网络服务来获取多种
能力超强的服务。
3)高可靠性。“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务
的高可靠性,使用云计算比使用当地计算机愈加可靠。
4)通用性。云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应
用,同一片“云”可以同步支撑不一样日勺应用运行。
5)高可扩展性。“云”的规模可以动态伸缩,满足应用和顾客规模增长的需要。
6)按需服务。“云”是一种庞大的I资源池,顾客按需购置,像自来水、电和煤气那样
计费。
(7)极其廉价。“云”的特殊容错措施使得可以采用极其廉价H勺节点来构成云;“云”
的自动化管理使数据中心管理成本大幅减少;“云”的公用性和通用性使资源的运用率大
幅提高;“云”设施可以建在电力资源丰富日勺地区,从而大幅减少能源成本。因此“云”
具有前所未有日勺性能价格比。Google中国区前总裁李开复称,Google每年投入约16亿美
元构建云计算数据中心,所获得的I能力相称于使用老式技术投入640亿美元,节省了40
倍日勺成本。因此,顾客可以充足享有“云”日勺低成本优势,需要时,花费几百美元、一天
时间就能完毕此前需要数万美元、数月时间才能完毕的数据处理任务。
云计算按照服务类型大体可以分为三类:将基础设施作为服务laaS、将平台作为服务
PaaS和将软件作为服务SaaS,如图1-2所示。
laaS将硬件设备等基础资源封装成服务供顾客使用,如亚马逊云计算AWS(Amazon
WebServices)的弹性计算云EC2和简朴存储服务S3。在laaS环境中,顾客相称于在使
用裸机和磁盘,既可以让它运行Windows,也可以让它运行Linux,因而几乎可
将软件作为服务
如:SalesforceonlineCRM
SaaS(SoftwareasaService)
将平台作为服务@1:Google/XppEngine
PiaS(PlatformasaService)MicrosoftWindowsAzure
将基础设施作为股务
如:AmazonEC2/S3
laaS(InfrastructureasaService)
图i-2云计算的服务类型
以做任何想做的事情,但顾客必须考虑怎样才能让多台机器协同工作起来。AWS提供了
在节点之间互通消息的接口简朴队列服务SQS(SimpleQueueService)olaaS最大口勺优势
在于它容许顾客动态申请或释放节点,按使用量计费c运行laaS日勺服务器规模到达几十
万台之多,顾客因而可以认为可以申请的资源几乎是无限的。同步,laaS是由公众共享
的,因而具有更高日勺资源使用效率。
PaaS对资源的抽象层次取深入,它提供顾客应用程序的J运行环境,经典的如Google
AppEngine0微软H勺云计算操作系统MicrosoftWindowsAzure也可大体归入这一类。PaaS
自身负责资源的动态扩展和容错管理,顾客应用程序不必过多考虑节点间的配合问题。但
与此同步,顾客H勺自主权减少,必须使用特定的编程环境并遵照特定的编程模型。这有点
像在高性能集群计算机里进行MPI编程,只合用于处理某些特定的计算问题。例如,
GoogleAppEngine只容许使用Python和Java语言、基于称为DjangoH勺Web应用框架、
调用GoogleAppEngineSDK来开发在线应用服务。
SaaS的针对性更强,它将某些特定应用软件功能封装成服务,如Salesforce企业提供
的在线客户关系管理CRM(ClientRelationshipManagement)服务。SaaS既不像PaaS同
样提供计算或存储资源类型的服务,也不像laaS同样提供运行顾客自定义应用程序的环
境,它只提供某些专门用途的服务供应用调用。
需要指出的是,伴随云计算的深化发展,不一样云计算处理方案之间互相渗透融合,
同一种产品往往横跨两种以上类型。例如,AmazonWebServices是以laaS发展的,但新
提供的1弹性MapReduce服务模仿了GoogleMapReduce,简朴数据库服务SimpleDB模
仿了Google的JBigtable,这两者属于PaaS日勺范围,而它新提供日勺电子商务服务FPS和
DevPay以及网站访问记录服务AlexaWeb服务,则属于SaaS/、J范围。
1.2云计算发展现实状况
由于云计算是多种技术混合演进的I成果,其成熟度较高,又有大企业推进,发展极为
迅速。Google>亚马逊、IBM、微软和Yahoo等大企业是云计算的先行者。云计算领域H勺
众多成功企业还包括VMware、Salesforce>Facebook>YouTube>MySpace等。
亚马逊研发了弹性计算云EC2(ElasticComputingCloud)和简朴存储服务S3
(SimpleStorageService)为企业提供计算和存储服务。收费的服务项目包括存储空间、带
宽、CPU资源以及月租费。月租费与月租费类似,存储空间、带宽按容量收费,CPU
根据运算量时长收费。在诞生不到两年日勺时间内,亚马逊日勺注册顾客就多达44万人,其
中包括为数众多的企业级顾客。
Google是最大的云计算技术日勺使用者。Google搜索引擎就建立在分布在200多种站
点、超过100万台的服务器的支撑之上,并且这些设施出勺数量正在迅猛增长。GoogleW、J
一系列成功应用平台,包括Google地球、地图、Gmail、Docs等也同样使用了这些基础
设施。采用GoogleDocs之类口勺应用,顾客数据会保留在互联网上口勺某个位置,可以通过
任何一种与互联网相连的终端十分便利地访问和共享这些数据。目前,Google已经容许
第三方在Google日勺云计算中通过GoogleAppEngine运行大型并行应用程序。Google值得
称颂口勺是它不保守,它早已以刊登学术论义的形式公开其云计算三大法宝:GFS、
M叩Reduce和Bigtable,并在美国、中国等高校开设怎样进行云计算编程日勺课程。对应
内,模仿者应运而生,Hadoop是其中最受关注口勺开源项目。
IBM在2023年11月推出了“变化游戏规则”日勺“蓝云”计算平台,为客户带来即买
即用的云计算平台。它包括一系列自我管理和自我修复的虚拟化云计算软件,使来自全球
的应用可以访问分布式的大型服务器池,使得数据中心在类似于互联网日勺环境下运行计
算。IBM正在与17个欧洲组织合作开展名为RESERVOIR的云计算项目,以“无障碍口勺
资源和服务虚拟化”为口号,欧盟提供了1.7亿欧元作为部分资金。2023年8月,IBM宣
布将投资约4亿美元用于其设在北卡罗来纳州和日本东京的云计算数据中心改造,并计划
2023年在1()个国家投资3亿美元建设13个云计算中心。
微软紧跟云计算步伐,于2023年10月推出了WindowsAzure操作系统。Azure(译
为“蓝天”)是继Windows取代DOS之后,微软的又一次颠覆性转型一通过在互联网
架构上打造新云计算平台,让Windows真正由PC延伸到“蓝天”上。Azure的底层是微
软全球基础服务系统,由遍及全球的第四代数据中心构成。目前.,微软已经配置了22()个
集装箱式数据中心,包括44万台服务器。
在我国,云计算发展也非常迅猛。2023年,IBM先后在无锡和北京建立了两个云计算
中心;世纪互联推出了CloudEx产品线,提供互联网主机服务、在线存储虚拟化服务等;
中国移动研究院已经建立起1024个CPU的云计算试验中心;解放军理工大学研制了云存
储系统MassCloud,并以它支撑基于3G口勺大规模视频监控应用和数字地球系统。作为云计
算技术日勺一种分支,云安全技术通过大量客户端的参与和大量服务器端的记录分析来识别
病毒和木马,获得了巨大成功。瑞星、趋势、卡巴斯基、McAfee>Symantec,江民、
Panda、金山、360安全卫士等均推出了云安全处理方案。值得一提的是,云安全日勺关键思
想,与早在2023年就提出的反垃圾邮件网格北常靠近⑸。2023年11月25日,中国电子学
会专门成立了云计算专家委员会。2023年5月22日,中国电子学会隆重举行首届中国云计
算大会,1200多人与会,盛况空前。2023年11月2日,中国互联网大会专门召开了
“2023云计算产业峰会二2023年12月,中国电子学会举行了中国首届云计算学术会议。
2023年5月,中国电子学会将举行第二届中国云计算大会。
1.3云计算实现机制
由于云计算分为laaS、PaaS和SaaS三种类型,不一样的厂家又提供了不一样日勺处理
方案,目前还没有一种统一的技术体系构造,对读者理解云计算H勺原理构成了障碍。为
此,本书综合不一样厂家日勺方案,构造了一种供参照日勺云计算体系构造。这个体系构造如
图1-3所示,它概括了不一样处理方案H勺重要特性,每一种方案或许只实现了其中部分功
能,或许也尚有部分相对次要功能尚未概括进来。
SOA构建层
(服务接口)(服务注册)(服务查找)(服务访问)(服务工作流
管理中间件
用户管理[账号管理)即环境配置)(用户交互管理K使用计施
安
全访问授权
任务管理械像部署和管理)衽务调度,任务执行)他命期管理'管
理综合防护
资源管理口菽均衡)(故障检质](故障恢复)(监视统计)](安全审计)
云计算技术体系构造分为四层:物理资源层、资源池层、管理中间件层和SOA
(Scrvicc-OricntcdArchitecture,面向服务/、J体系构造)构建层。物理资源层包括计算机、
存储器、网络设施、数据库和软件等。资源池层是将大量相似类型口勺资源构成同构或靠近
同构日勺资源池,如计算资源池、数据资源池等。构建资源池更多的是物理资源日勺集成和管
理工作,例如研究在一种原则集装箱的空间怎样装下2023个服务器、处理散热和故障节
点替代日勺问题并减少能耗。管理中间件层负责对云计算的资源进行管理,并对众多应用任
务进行调度,使资源可以高效、安全地为应用提供服务。SOA构建层将云计算能力封装
成原则的WebServices服务,并纳入到SOA体系进行管理和使用,包括服务接口、服务
注册、服务查找、服务访问和服务工作流等。管理中间件层和资源池层是云计算技术口勺最
关键部分,SOA构建层的功能更多依托外部设施提供。
云计算的管理中间件层负责资源管理、任务管理、顾客管理和安全管理等工作。资源
管理负责均衡地使用云资源节点,检测节点日勺故障并试图恢复或屏蔽之,并对资源的使用
状况进行监视记录;任务管理负责执行顾客或应用提交的任务,包括完毕顾客任务映象
(Image)的布署和管理、任务调度、任务执行、任务生命期管理等;顾客管理是实现云计
算商业模式的一种必不可少的环节,包括提供顾客交互接口、管理和识别顾客身份、创立
顾客程序的执行环境、对顾客H勺使用进行计费等;安全管理保障云计算设施H勺整体安全,
包括身份认证、访问授权、综合防护和安全审计等。
基于上述体系构造,本书以laaS云计算为例,简述云计算的实现机制,如图1-4
所示。
顾客交互接口向应用以WebServices方式提供访问接口,获取顾客需求。服务目录是
顾客可以访问的服务清单。系统管理模块负责管理和分派所有可用日勺资源,其关键是负载
均衡。配置工具负责在分派的节点上准备任务运行环境。监视记录模块负责监视节点口勺运
行状态,并完毕顾客使用节点状况的记录。执行过程并不复杂,顾客交互接口容许顾客从
目录中选用并调用一种服务,该祈求传递给系统管理模块后,它将为顾客分派恰当的资
源,然后调用配置工具为顾客准备运行环境。
1.4网格计算与云计算
网格(Grid)是20世纪90年代中期发展起来口勺下一代互联网关键技术。网格技术的
开创者IanFoster将之定义为“在动态、多机构参与的虚拟组织中协同共享资源和求解问
题”⑹。网格是在网络基础之上,基于SOA,使用互操作、按需集成等技术手段,将分散
在不一样地理位置的资源虚拟成为一种有机整体,实现计算、存储、数据、软件和设备等
资源的共享,从而大幅提高资源的运用率,使顾客获得前所未有的计算和信息能力。
国际网格界致力于网格中间件、网格平台和网格应用建设。就网格中间件而言,国外
著名『、J网格中间件有GlobusTuulkil、UNICORE、ConduitgLilc等,其中GlubusTuulkil得
到了广泛采纳。就网格平台而言,国际著名日勺网格平台有TeraGrid、EGEE、CoreGRID、
D-Grid、ApGrid、Grid3、GIG等。美国TeraGrid是由美国国家科学基金会计划资助构建
内超大规模开放的科学研究环境。TeraGrid集成了高性能计算机、数据资源、工具和高端
试验设施。目前TeraGrid已经集成了超过每秒75()万亿次计算能力、30PB数据,拥有超
过100个面向多种领域的网格应用环境。欧盟e-Science促成网格EGEE(EnablingGrids
forE-sciencE),是另一种超大型、面向多种领域的网格计算基础设施。目前已经有120多
种机构参与,包括分布在48个国家口勺250个网格站点、68000个CPU、20PB数据资源,
拥有8000个顾客,每天平均处理30000个作业,峰值超过150000个作业。就网格应用而
言,著名的网格应用系统数以百计,应用领域包括大气科学、林学、海洋科学、环境科
学、生物信息学、医学、物理学、天体物理、地球科学、天文学、工程学、社会行为学等。
我国在十五期间有863支持口勺中国国家网格(CNGrid,863-10主题)和中国空间信
息网格(SIG,863-13主题)、教育部支持的中国教育科研网格(ChinaGrid)、上海市支持
的上海网格(ShanghaiGrid)等。中国国家网格拥有包括香港地区在内的10个节点,聚合
计算能力为每秒18万亿次,目前拥有408个顾客和360个应用。中国教育科研网格
ChinaGrid连接了20所高校的计算设施,运算能力达每秒3万亿次以上,开发并实现了生
物信息、流体力学等五个科学研究领域日勺网格经典应用。十一五期间,国家对网格支持的
力度更大,通过973和863、自然科学基金等途径对网格技术进行了大力支持。973计划
有“语义网格的基础理论、模型与措施研究”等,863计划有“高效能计算机及网格服务
环境”、“网格地理信息系统软件及其重大应用”等,国家自然科学基金重大研究计划有
“网络计算应用支撑中间件”等项目。
就像云计算可以分为laaS、PaaS和SaaS三种类型同样,网格计算也可以分为三种类
型:计算网格、信息网格和知识网格⑹。计算网格日勺目的是提供集成多种计算资源的、虚
拟化的计算基础设施。信息网格的目的是提供一体化的智能信息处理平台,集成多种信息
系统和信息资源,消除信息孤岛,使得顾客能按需获取集成后的精确信息,即服务点播
(ServiceonDemand)和一岁到位口勺服务(OneClickisEnough)。知识网格⑻研究一体化日勺
智能知识处理和理解平台,使得顾客能以便地公布、处理和获取知识。
需要阐明的是,目前大家对网格的认识存在一种误解,认为只有使用Globus
Toolkit等著名网格中间件的应用才是网格。我们认为,只要是遵照网格理念,将一定
范围内分布的异构资源集成为有机整体,提供资源共享和协同工作服务的平台,均可以
认为是网格。这是由于,由于网格技术非常复杂,必然有一种从不规范到规范化的过
程,应当承认差异存在的客观性。虽然网格界从一开始就致力于构造可以实现全面互操
作的环境,但由于网格处在信息技术前沿、许多领域尚未定型、已公布的个别规范过于
复杂导致易用性差等原因,既有网格系统多针对详细应用采用合用口勺、个性化日勺框架设
计和实现技术等,导致网格系统之间互操作困难,这也是开放网格论坛OGF(Open
GridForum)提出建立不一样网格系统互通机制计划GIN(GridInteroperationNow)的
原因。从另一种角度看,虽然建立全球统一的网格平台尚有很长的路要走,但并不阻碍
网格技术在多种详细的应用系统中发挥重要的作用。
网格计算与云计算日勺关系如表1-1所示。
表1-1网格计算与云计算的比较
网格“算Nil算
目的共享高性能计算力和数据资源,实现资源共享和协同工作提供通用的计算平台和存:储空间,提供多种软件服务
资源来源不一样机构同一机构
资源类型异构资源同构资源
资源节点高性能计算机服务器/PC
虚拟化视图虚拟组织虚拟机
计算类型紧耦合问题为主松耦合问题
应用类型科学计算为主数据处理为主
顾客类型科学界商业社会
付费方式免费(政府山资)按量计贽
原则化有统一I向国际原则OGSA/WSRF尚无原则,但己经有了开放云计算联盟OCC__________
网格计算在概念上争论数年,在体系构造上有三次大日勺变化,在原则规范上花费了大
量口勺人力,所设定的目口勺又非常远大——要在跨平台、跨组织、跨信任域的极其复杂的异
构环境中共享资源和协同处理问题,所要共享的资源也是五花八门一从高性能计算机、
数据库、设备到软件,甚至知识。云计算临时不管概念、不管原则,Google云计算与亚
马逊云计算日勺差异非常大,云计算只是对它们此前所做事情新日勺共同日勺时髦叫法,所共享
的存储和计算资源临时仅限于某个企业内部,省去了许多跨组织协调的问题。以Google
为代表的云计算在内部管理运作方式上日勺简洁一如其界面,能省的功能都省略,Google
文献系统甚至不容许修改已经存在的文献,只容许在文献后追加数据,大大减少了实现难
度,并且借助其无与伦比日勺规模效应释放了前所未有的能量。
网格计算与云计算的关系,就像是OSI与TCP/IP之间的关系:国际原则化组织
(ISO)制定的OSI(开放系统互联)网络原则,考虑得非常周到,也异常复杂,在数年之
前就考虑到了会话层和表达层的问题。虽然很有远见,但过于理想,实现的难度和代价非
常大。当OSIH勺一种简化版一TCP/IP诞生之后,将七层协议简化为四层,内容也大大
精简,因而迅速获得了成功。在TCP/IP一统天下之后数年,语义网等问题才被提上议事
日程,开始为TCP/IP补课,增长其会话和表达日勺能力。因此,可以说OSI是学院派,
TCP/IP是现实派;OSI是TCP/IP的基础,TCP/IP又推进了OSI的发展。两者不是“成者
为王、败者为寇”,而是滚动发展。
没有网格计算打下的基础,云计算也不会这样快到来。云计算是网格计算的一种简化
实用版,一般意义的网格是指此前实现日勺以科学研究为主的网格,非常重视原则规范,也
非常复杂,但缺乏成功的商业模式。云计算是网格计算的一种简化形态,云计算日勺成功也
是网格H勺成功。网格不仅要集成异构资源,还要处理许多非技术的协调问题,也不像云计
算有成功的商业模式推进,因此实现起来要比云计算难度大诸多。但对于许多高端科学或
军事应用而言,云计算是无法满足需求的,必须依托网格来处理。
目前,许多人声称网格计算失败了,云计算取而代之了,这其实是一种错觉。网格计
算已经有十数年历史,不如刚兴起时那样引人注目是正常的。实际上,有些政府主导、范
围较窄、用途特定日勺网格,已经获得了决定性H勺胜利。代表性H勺有美国日勺TeraGrid和欧洲
的EGEE等,这些网格每天均有几十万个作业在上面执行。未来的I科学研究主战场,将建
立在网格计算之上。在军事领域,美军的全球信息网格GIG已经囊括超过700万台计算
机,规模超过既有日勺所有云计算数据中心计算机总和。
相信很快口勺未来,建立在云计算之上的I“商业2.0”与建立在网格计算之上的“科学
2.0”都将获得成功。
参照文献
[1]MichaelArmbrust,ArmandoFox,andReanGriffith,etal.AbovetheClouds:ABerkeley
ViewofCloudComputing,mimeo,UCBerkeley,RADLaboratory,2023
[2]IanFoster,CarlKesselman,andSteveTuecke.TheAnatomyoftheGrid:EnablingScalable
VirtualOrganizations.InternationalJournalofHighPerformanceComputingApplications,
15(3),2023
[3]刘鹏.提出一种实用H勺网格实现方式——网格计算池模型,2023
[4]PengLiu,YaoShi,San-liLi,ComputingPool——aSimplifiedandPracticalComputational
GridModel,theSecondInternationalWorkshoponGridandCooperativeComputing(GCC
2023),Shanghai,Dec7-10,2023,publishedinLectureNotesinComputerScience(LNCS),
Vol.3032,Heidelberg:Springer-Verlag,2023
[5]PengLiu,YaoShi,FrancisC.M.Lau,Cho-LiWang,San-LiLi,GridDemoProposal:
AntiSpamGrid,IEEEInternationalConferenceonClusterComputing,HongKong,Dec1-4,
2023,selectedasoneoftheexcellentGridresearchprojectsfortheGridDcmosession
[6]李国杰.信息服务网格——第三代Internet.计算机世界,2023年第40期
[7]Foster,L,C.Kesselman,andS.Tuecke,TheAnatomyoftheGrid:EnablingScalable
VirtualOrganizations.InternationalJournalofHighPerformanceComputingApplications,
2023.15(3):p.200-222
[8]H.Zhuge,TheKnowledgeGrid,WorldScientificPublishingCo.,Singapore,2023
第2章Goog加云计算原理
Google拥有全球最强大aI搜索引擎。除了搜索业务以外,Google尚有GoogleMaps、
GoogleEarth、Gmail、YouTube等多种业务,包括刚诞生的GoogleWave。这些应用的共
性在于数据量巨大,并且要面向全球顾客提供实时服务,因此Google必须处理海量数据
存储和迅速处理问题。Google口勺诀窍在于它发展出简朴而又高效的技术,让多达百万台
的廉价计算机协同工作,共同完毕这些前所未有H勺任务,这些技术是在诞生几年之后才被
命名为Google云计算技术。Google云计算技术详细包括:Google文献系统GFS、分布式
计算编程模型MapReduce>分布式锁服务Chubby和分布式构造化数据存储系统Bigtable
等二中,GFS提供了海量数据的存储和访问的能力OdapReduce使得海量信息时并行
处理变得简朴易行,Chubby保证了分布式环境下并发操作的同步问题,Biglable使得海量
数据的管理和组织.1•分以本章将对这四种关键技术进行详细简介。
2.1Google文献系统GFS
Google文献系统(JGoogleFileSyslem,GFS)是一种大型的分布式文献系统。它为
Google云计算提供海量存储,并且与Chubby>M叩Reduce以及Bigtable等技术结合十分
紧密,处在所有关键技术的底层。由于GFS并不是一种开源的系统,我们仅仅能从
Google公布的技术文档来获得一点理解,而无法进行深入的研究。文献[1]是Google公布
的有关GFS的最为详尽日勺技术文档,它从GFS产生的背景、特点、系统框架、性能测试
等方面进行了详细日勺论述。
目前主流分布式文献系统有RedHat日勺GFS131(GlobalFileSyslem)、IBM的GPFS⑷、
Sun的Lustre⑸等。这些系统一般用于对硬件设施条件规定
较高。以Lustre文献系统为例,它只对元数据管理器MDS提供容错处理方案,而对于详
细日勺数据存储节点OST来说,则依赖其自身来处理容错的问题。例如,Lustre推荐OST
节点采用RAID技术或SAN存储区域网来容错,但由于Lustre自身不能提供数据存储日勺
容错,一旦OST发生故障就无法恢复,因此对OST的稳定性就提出了相称高H勺规定,从
而大大增长了存储的成本,并且成本会伴随规模的扩大线性增长。
正如李开复所说日勺那样,创新当然重要,但有用日勺创新更重要。创新的I价值,取决于
一项创新在惭犷、♦小和可行■这三个方面日勺综合体现。GoogleGFS的新奇之处并不在
于它采用了多么令人惊讶日勺技术,而在于它采用廉价的商用机器构建分布式文献系统,同
步将GFS的设计与Google应用的特点紧密结合,并简化其实现,使之可行,最终到达创
意新奇、有用、可行的完美组合。GFS使用廉价的商用机器构建分布式文献系统,将容错
的任务交由文献系统来完毕,运用软件口勺措施处理系统可靠性问题,这样可以使得存储的
成本成倍下降。由于GFS中服务器数目众多,在GFS中服务器死机是常常发生事情,甚
至都不应当将其视为异常现象,那么怎样在频繁的故障中保证数据存储的安全、保证提供
不间断的数据存储服务是GFS最关键的问题。GFS的精彩在于它采用了多种措施,从多
种角度,使用不一样的
2.1.1系统架构
GFS的系统架构如图2-1⑴所示。GFS将整个系统日勺节点分为三类角色:Client(客户
端)、Master(主服务器)和ChunkServer(数据块服务器)。Client是GFS提供应应用程
序日勺访问接口,它是一组专用接口,不遵守POSIX规范,以库文献的形式提供。应用程
序直接调用这些库困数,并与该库链接在一起。Master是GFSW、J管理节点,在逻辑上只
有一种,它保留系统日勺元数据,负责整个文献系统的管理,是GFS文献系统中的大脑。
ChunkServer负责详细『寸存储工作。数据以文献内)形式存储在ChunkServer上,Chunk
Server的个数可以有多种,它的数目直接决定了GFS日勺规模。GFS将文献按照固定大小
进行分块,默认是64MB,每一块称为一种Chunk(数据块),每个Chunk均有一种对应
的索引号(Index)。
图2-1GFS体系构造
客户端在访问GFS时,首先访问Master节点,获取将要与之进行交互的Chunk
Server信息,然后直接访问这些ChunkServer完毕数据存取。GFSH勺这种设计措施实现了
控制流和数据流时分离。Client与Master之间只有控制流,而无数据流,这样就极大地减
少了MasterH勺负载,使之不成为系统性能的一种瓶颈。Client与ChunkServer之间直接传
播数据流,同步由于文献被提成多种Chunk进行分布式存储,Client可以同步访问多种
ChunkServer,从而使得整个系统I/O高度并行,系统整体性能得到提高。
相对于老式H勺分布式文献系统,GFS针对Google应用的特点从多种方面进行了简
化,从而在一定规模下到达成本、可靠性和性能日勺最佳平衡。详细来说,它具有如下几种
特点。
1.采用中心服务器模式
GFS采用中心服务器模式来管理整个文献系统,可以大大简化设计,从而减少实现难
度。Master管理了分布式文献系统中的所有元数据。文献划分为Chunk进行存储,对于
Master来说,每个ChunkServer只是一种存储空间。Client发起的!所有操作都需要先通过
Master才能执行。这样做有许多好处,增长新的ChunkServer是一件十分轻易的事情,
ChunkServer只需要注册到Master上即可,ChunkServer之间无任何关系。假如采用完全
对等日勺、无中心的I模式,那么怎样将ChunkServer日勺更新信息告知到每一种Chunk
Server,会是设计口勺一种难点,而这也将在一定程度上影响系统的扩展性。Master维护了
一种统一日勺命名空间,同步掌握整个系统内ChunkServer的状况,据此可以实现整个系统
范围内数据存储口勺负载均衡。由于只有一种中心服务器,元数据的一致性问题自然处理。
当然,中心服务器模式也带来某些固有欧J缺陷,例如极易成为整个系统日勺瓶颈等。GFS采
用多种机制来防止Master成为系统性能和可靠性上的瓶颈,如尽量控制元数据口勺规模、
对Master进行远程备份、控制信息和数据分流等。
2.不缓存数据
缓存机制是提高文献系统性能日勺一种重要手段,通用文献系统为了提高性能,一一般需
要实现复杂的缓存(Cache)机制。GFS文献系统根据应用的特点,没有实现缓存,这是
从必要性和可行性两方面考虑日勺。从必要性上讲,客户端大部分是流式次序读写,并不存
在大量日勺反复读写,缓存这部分数据对系统整体性能日勺提高作用不大;而对于Chunk
Server,由于GFS的I数据在ChunkServer上以文献的形式存储,假如对某块数据读取频
繁,当地的文献系统自然会将其缓存。从可行性上讲,怎样维护缓存与实际数据之间H勺一
致性是一种极其复杂的问题,在GFS中各个ChunkServer的稳定性都无法保证,加之网
络等多种不确定原因,一致性问题尤为复杂。此外由于读取的数据量巨大,以目前的内存
容量无法完仝缓存。对于存储在Master中的元数据,GFS采用了缓存方略,GFS中Client
发起的所有操作都需要先通过Master。Master需要对其元数据进行频繁操作,为了提高操
作日勺效率,Master日勺元数据都是直接保留在内存中进行操作;同步采用对应的压缩机制减
少元数据占用空间口勺大小,提高内存的运用率。
3.在.顾客态下实现
文献系统作为操作系统的重要构成部分,其实现一般位于操作系统底层。以Linux为
例,无论是当地文献系统如Ext3文献系统,还是分布式文献系统如Lustre等,都是在内
核态实现的。在内核态实现文献系统,可以更好地和操作系统自身结合,向上提供兼容的
POSIX接口。然而,GFS却选择在顾客态下实现,重要基于如下考虑。
1)在顾客态下实现,直接运用操作系统提供日勺POSIX编程接口就可以存取数据,无
需理解操作系统的内部实现机制和接口,从而减少了实现的难度,并提高了通用性。
2)POSIX接口提供日勺功能更为丰富,在实现过程中可以运用更多的特性,而不像内
核编程那样受限。
3)顾客态下有多种调试工具,而在内核态中调试相对比较困难。
4)顾客态下,MasterChunkServer都以进程的方式运行,单个进程不会影响到整
个操作系统,从而可以对其进行充足优化。在内核态下,假如不能很好地掌握其特性,效
率不仅不会高,甚至还会影响到整个系统运行日勺稳定性。
5)顾客态下,GFS和操作系统运行在不一样日勺空间,两者耦合性减少,从而以便
GFS自身和内核H勺单独升级。
4.只提供专用接口
一般的分布式文献系统一般都会提供一组与POSIX规范兼容的接口。其长处是应用
程序可以通过操作系统日勺统一接口来透明地访问文献系统,而不需要重新编译程序。GFS
在设计之初,是完全面向Google口勺应用的,采用了专用的文献系统访问接口。接口以库
文献日勺形式提供,应用程序与库文献一起编译,Google应用程序在代码中通过调用这些
库文献的IAPI,完毕对GFS文献系统口勺访问。采用专用接口有如下好处。
1)减少了实现的难度。一般与POSIX兼容的接口需要在操作系统内核一级实现,而
GFS是在应用层实现口勺。
2)采用专用接口可以根据应用日勺特点对应用提供某些特殊支持,如支持多种文献并
发追加的接口等。
3)专用接口直接和Client、Master>ChunkServer交互,减少了操作系统之间上下文
的切换,减少了复杂度,提高了效率。
2.1.2容错机制
1.Master容错
详细来说,Master上保留了GFS文献系统H勺三种元数据。
1)命名空间(NameSpace),也就是整个文献系统的目录构造。
2)Chunk与文献名的映射表。
3)Chunk副本H勺位置信息,每一种Chunk默认有三个副本。
首先就单个Master来说,对于前两种元数据,GFS通过操作日志来提供容错功能。
第三种元数据信息则直接保留在各个ChunkServer」:,当Master启动或ChunkServer向
Master注册时自动生成。因此当Master发生故障时,在磁盘数据保留完好的状况下,可
以迅速恢复以上元数据。为了防止Master彻底死机的状况,GFS还提供了Master远程日勺
实时备份,这样在目前的GFSMaster出现故障无法工作H勺时候,此外一台GFSMaster可
以迅速接替其工作。
2.ChunkServer容错
GFS采用副本的I方式实现ChunkServer日勺容错。每一种Chunk有多种存储副本(默
认为三个),分布存储在不一样丛JChunkServer±0副本『、J分布方略需要考虑多种原因,
如网络的拓扑、机架时分布、磁盘日勺运用率等。对于每一种Chunk,必须将所有的副本所
有写入成功,才视为成功写入。在其后日勺过程中,假如有关的副本出现丢失或不可恢复等
状况,Master会自动将该副本复制到其他ChunkServer,从而保证副本保持一定口勺个数。
尽管一份数据需要存储三份,仿佛磁盘空间日勺运用率不高,但综合比较多种原因,加之磁
盘口勺成本不停下降,采用副本无疑是最简朴、最可靠、最有效,并且实现的难度也最小口勺
一种措施。
GFS中的每一种文献被划提成多种Chunk,Chunk时默认大小是64MB,这是由于
Google应用中处理的文献都比较大,以64MB为单位进行划分,是一种较为合理的选
择。ChunkServer存储的|是Chunk『寸副本,副本以文献形式进行存储。每一种Chunk以
Block为单位进行划分,大小为64KB,每一种Block对应一种32bit的校验和。当读取一
种Chunk副本时,ChunkServer会将读取的数据和校验和进行比较,假如不匹配,就会返
回错误,从而使Client选择其他ChunkServer上日勺副本。
2.1.3系统管理技术
严格意义上来说,GFS是一种分布式文献系统,包括从硬件到软件日勺整套处理方案。
除了上面提到日勺GFS的某些关键技术外,尚有对应的系统管理技术来支持整个GFS的应
用,这些技术也许并不一定为GFS所独有。
1.大规模集群安装技术
安装GFSH勺集群中一般有非常多的节点,文献⑴中最大日勺集群超过1000个节点,而
目前的Google数据中心动辄有万台以上的机器在运行。那么,迅速地安装、布署一种
GFS出J系统,以及迅速地进行节点的系统升级等,都需要对应的技术支撑。
2.故障检测技术
GFS是构建在不可靠的廉价计算机之上的文献系统,由于节点数目众多,故障发生十
分频繁,怎样在最短的时间内发现并确定发生故障日勺ChunkServer,需要有关的集群监控
技术。
3.节点动态加入技术
当有新的ChunkServer加入时,假如需要事先安装好系统,那么系统扩展将是一件十
分啰嗦的事情。假如可以做到只需将裸机加入,就会自动获取系统并安装运行,那么将会
大大减少GFS维护的工作量。
4.节能技术
有关数据表明,服务器的耗电成本不小于当时日勺购置成本,因此Google采用了多种
机制来减少服务器口勺能耗,例如对服务器主板进行修改,采用蓄电池替代昂贵的UPS(不
间断电源系统),提高能量的运用率。RichMiller在一篇有关数据中心的博客文章中表
达,这个设计让Google的UPS运用率到达99.9%,而一般数据中心只能到达92%〜
95%。
2.2并行数据处理MapReduce
MapReduce是Google提出的一种软件架构,是一种处理海量数据日勺并行编程模式,
用于大规模数据集(一般不小于1TB)日勺并行运算。“M叩(映射)”、“Reduce(化简)”
的概念和重要思想,都是从函数式编程语言和矢量编程语言借鉴来日勺⑸。正是由于
M叩Reduce有函数式和矢量编程语言的共性,使得这种编程模式尤其适合于非构造化和构
造化的海量数据的搜索、挖掘、分析与机器智能学习等。
2.2.1产生背景
MapReduce这种并行编程模式思想最早是在1995年提出的,文献[6]初次提出了
“map”和“fold”日勺概念,和目前Google所使用的“Map”和“Reduce”思想是相吻
合电
与老式口勺分布式程序设计相比,MapReduce封装了并行处理、容错处理、当地化计
算、负载均衡等细节,还提供了一种简朴而强大日勺接口。通过这个接口,可以把大尺度欧I
计算自动地并发和分布执行,从而使编程变得非常轻易。还可以通过由一般PC构成的巨
大集群来到达极高日勺性能。此外,MapReduce也具有很好H勺通用性,大量不一样的问题都
可以简朴地通过MapReduce来处理。
MapReduce把对数据集日勺大规模操作,分发给一种主节点管理下日勺各分节点共同完
毕,通过这种方式实现任务的可靠执行与容错机制。在每个时间周期,主节点都会对分节
点日勺工作状态进行标识,一旦分节点状态标识为死亡状态,则这个节点的所有任务都将分
派给其他分节点重新执行。
据有关记录,每使用一次Google搜索引擎,Google的后台服务器就要进行10"次运
算。这样庞大的运算量,假如没有好的负载均衡机制,有些服务器日勺运用率会很低,有些
则会负荷太重,有些甚至也许死机,这些都会影响系统对顾客H勺服务质量。而使用
MapReduce这种编程模式,就保持了服务器之间的均衡,提高了整体效率。
2.2.2编程模型
M叩Reduce日勺运行模型如图2-2所示。图中有M个Map操作和R个Reduce操作。
简朴地说,一种Map函数就是对一部分原始数据进
行指定的操作。每个Map操作都针对不一样日勺原始数
据,因此M叩与M叩之间是互相独立的,这就使得它们
可以充足并行化。一种Reduce操作就是对每个M叩所产
生日勺一部分中间成果进行合并操作,每个Reduce所处理
的Map中间成果是互不交叉日勺,所有Reduce产生欧|最终
图2-2MapReduceR勺运行模型
止果通过简朴连接就形成了完整的成果集,因此Reduce也可以在并行环境下执行。
在编程的时候,开发者需要编写两个重要函数:
Map:(in_key,in_value)玲{(key;,value。\j=1…攵}
Reduce:(key,[valuei,...,value,,;])玲(key,final_value)
Map和Reduce的I输入参数和输出成果根据应用Htl不一样而有所不一样。Map日勺输入
参数是in_key和in_value,它指明了Map需要处理口勺原始数据是哪些。M叩的输出成果
是一组vkey,value〉对,这是通过M叩操作后所产生日勺中间成果。在进行Reduce操作之
前,系统已经将所有Map产生W、J中间成果进行了归类处理,使得相似key对应的一系列
value可以集结在一起提供应一种Reduce进行归并处理,也就是说,Reduce日勺输入参数
是(key,[value1,…,value加]Reduce的I工作是需要对这些对应相似keyH勺value值进行归
并处理,最终形成(key,final_value)的I成果。这样,一种Reduce处理了一种key,所有
Reduce的成果并在一起就是最终止果。
例如,假设我们想用M叩Reduce来计算一种大型文本文献中各个单词出现的次数,
M叩口勺输入参数指明了需要处理哪部分数据,以〈在又本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 805-2014浦东鸡
- DB31/T 683-2013花椰菜生产技术规范
- DB31/T 668.9-2012节能技术改造及合同能源管理项目节能量审核与计算方法第9部分:制冷系统
- DB31/T 522-2023通风机系统节能改造技术规范
- DB31/T 392-2018工业旅游景点服务质量要求
- DB31/T 1212-2020冷水机组节能现场检测技术要求
- DB31/T 1208-2020湿垃圾处理残余物的生物稳定性评价方法
- DB31/T 1160-2019畜禽养殖过程细菌耐药性监测技术规范
- DB31/T 1111-2018采摘体验基地旅游服务规范
- DB31/T 1044-2017军队离休退休干部服务管理机构服务规范
- 信息技术基础知识试题及答案
- 中国鸦胆子油行业市场现状调查及前景战略研判报告
- 2025雅思考试写作专项预测试卷:时态与语态运用试题
- 高中生物易错点
- 车库赠送协议书范本
- 旅拍安全协议书
- 会展危机事件与管理应对策略
- 2025年江苏南通苏北七市高三三模高考数学试卷试题(含答案详解)
- 2025届高考押题作文10篇(含题目)
- 顺丰公司外包协议合同书
- 安全意识提升策略试题及答案
评论
0/150
提交评论