云计算平台及关键技术_第1页
云计算平台及关键技术_第2页
云计算平台及关键技术_第3页
云计算平台及关键技术_第4页
云计算平台及关键技术_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章云计算平台及关键技术3.1主要云计算平台3.2云计算的关键技术3.3云计算的计算模型3.4小结 3.1主要云计算平台

1.Google的云计算基础设施

Google的云计算基础设施是在最初为搜索应用提供服务的基础上逐步扩展的,它主要由分布式文件系统GoogleFileSystem(GFS)、大规模分布式数据库BigTable、程序设计模式MapReduce、分布式锁机制Chubby等几个既相互独立又紧密结合的系统组成。GFS是一个分布式文件系统,能够处理大规模的分布式数据。图3-1所示为GFS的体系结构。系统中每个GFS集群由一个主服务器和多个块服务器组成,被多个客户端访问。主服务器负责管理元数据,存储文件和块的名空间、文件到块之间的映射关系以及每个块副本的存储位置;块服务器存储块数据,文件被分割成为固定尺寸(64MB)的块,块服务器把块作为Linux文件保存在本地硬盘上。为了保证可靠性,每个块被缺省保存3个备份。主服务器通过客户端向块服务器发送数据请求,而块服务器则将取得的数据直接返回给客户端。图3-1

GFS的体系结构

2.IBM的“蓝云”计算平台

IBM的“蓝云(BlueCloud)”计算平台由一个数据中心、IBMTivoli监控(Tivoli

Monitoring

)软件、IBMDB2数据库、IBMTivoli部署管理(TivoliProvisioningManager)软件、IBMWebSphere应用服务器(ApplicationServer)以及开源虚拟化软件和一些开源信息处理软件共同组成,如图3-2所示。“蓝云”采用了Xen、PowerVM虚拟技术和Hadoop技术,以帮助客户构建云计算环境。“蓝云”软件平台的特点主要体现在虚拟机以及所采用的大规模数据处理软件Hadoop。该体系结构图侧重于云计算平台的核心后端,未涉及用户界面。由于该架构是完全基于IBM公司的产品设计的,所以也可以理解为“蓝云”产品架构。图3-2

IBM“蓝云”的体系结构

3.Sun的云基础设施

Sun提出的云基础设施体系结构包括服务、应用程序、中间件、操作系统、虚拟服务器、物理服务器等6个层次。图3-3形象地体现了“云计算可描述在从硬件到应用程序的任何传统层级提供的服务”的观点。图3-3

Sun的云计算平台

4.微软的WindowsAzure云平台

如图3-4所示,微软的WindowsAzure云平台包括4个层次。底层是全球基础服务层(GlobalFoundationService,GFS),由遍布全球的第四代数据中心构成;云基础设施服务层(CloudInfrastructureService)以WindowsAzure操作系统为核心,主要从事虚拟化计算资源管理和智能化任务分配;WindowsAzure之上是一个应用服务平台,它发挥着构件(buildingblock)的作用,为用户提供一系列的服务,如Live服务、NET服务、SQL服务等;最上层是客户服务层,如WindowsLive、OfficeLive、ExchangeOnline等。图3-4微软的WindowsAzure云平台架构

5.Amazon的弹性计算云

Amazon是最早提供云计算服务的公司之一,该公司的弹性计算云(ElasticComputeCloud,EC2)平台建立在公司内部的大规模计算机、服务器集群上,为用户提供网络界面操作在“云端”运行的各个虚拟机实例(Instance)。用户只需为自己所使用的计算平台实例付费,运行结束后,计费也随之结束。弹性计算云用户使用客户端通过SOAPover

HTTPS协议与Amazon弹性计算云内部的实例进行交互,如图3-5所示。弹性计算云平台为用户或者开发人员提供了一个虚拟的集群环境,在用户具有充分灵活性的同时,也减轻了云计算平台拥有者(Amazon公司)的管理负担。弹性计算云中的每一个实例代表一个运行中的虚拟机。用户对自己的虚拟机具有完整的访问权限,包括针对此虚拟机操作系统的管理员权限。虚拟机的收费也是根据虚拟机的能力进行费用计算的,实际上,用户租用的是虚拟的计算能力。图3-5

Amazon的弹性计算云

6.学术领域提出的云平台

LuisM.Vaquero等人从云计算参与者的角度设计了一种云计算平台的层次结构。该结构中,服务提供商负责为服务消费者提供通过网络访问的各种应用服务,基础架构提供商以服务的形式提供基础设施给服务提供商,从而降低服务提供商的运行成本,提供了更大灵活性和可伸缩性。美国伊利诺伊大学(UniversityofIllinois)的RobertL.Grossman等人提出并实现了一种基于高性能广域网的云计算平台Sector/Sphere,实验测试显示性能方面优于Hadoop。澳大利亚墨尔本大学(UniversityofMelbourne)的RajkumarBuyya等人提出了一种面向市场资源分配的云计算平台原型,其中包括用户(User/Broker)、服务等级协议资源分配(SLAResourceAllocator)、虚拟机(VM)、物理机器(Physical

Machine

)等4个实体(层次)。 3.2云计算的关键技术

1.快速部署(RapidDeployment)

自数据中心诞生以来,快速部署就是一项重要的功能需求。数据中心管理员和用户一直在追求更快、更高效、更灵活的部署方案。云计算环境对快速部署的要求将会更高。首先,在云环境中资源和应用不仅变化范围大而且动态性高。用户所需的服务主要采用按需部署方式。其次,不同层次云计算环境中服务的部署模式是不一样的。另外,部署过程所支持的软件系统形式多样,系统结构各不相同,部署工具应能适应被部署对象的变化。

2.资源调度(ResourceDispatching)

资源调度是指在特定环境下,根据一定的资源使用规则,在不同资源使用者之间进行资源调整的过程。这些资源使用者对应着不同的计算任务,每个计算任务在操作系统中对应于一个或者多个进程。虚拟机的出现使得所有的计算任务都被封装在一个虚拟机内部。虚拟机的核心技术是虚拟机监控程序,它在虚拟机和底层硬件之间建立一个抽象层,把操作系统对硬件的调用拦截下来,并为该操作系统提供虚拟的内存和CPU等资源。目前VMwareESX和CitrixXenServer可以直接运行在硬件上。由于虚拟机具有隔离性,可以采用虚拟机的动态迁移技术来完成计算任务的迁移。

3.大规模数据处理(MassiveDataProcessing)

以互联网为计算平台的云计算会广泛地涉及大规模数据处理任务。由于大规模数据处理操作非常频繁,很多研究者在从事支持大规模数据处理的编程模型方面的研究。当今世界最流行的大规模数据处理的编程模型可以说是由Google公司所设计的MapReduce编程模型。MapReduce编程模型将一个任务分成很多更细粒度的子任务,这些子任务能够在空闲的处理节点之间调度,使得处理速度越快的节点处理越多的任务,从而避免处理速度慢的节点延长整个任务的完成时间。

4.大规模消息通信(MassiveMessageCommunication)

云计算的一个核心理念就是资源和软件功能都是以服务的形式发布的,不同服务之间经常需要进行消息通信协作,因此,可靠、安全、高性能的通信基础设施对于云计算的成功至关重要。异步消息通信机制可以使得云计算每个层次中的内部组件之间及各个层次之间解耦合,并且保证云计算服务的高可用性。目前,云计算环境中的大规模数据通信技术仍处于发展阶段。

5.大规模分布式存储(MassiveDistributedStorage)

分布式存储要求存储资源能够被抽象表示和统一管理,并且能够保证数据读/写操作的安全性、可靠性、性能等各方面要求。分布式文件系统允许用户像访问本地文件系统一样访问远程服务器的文件系统,用户可以将自己的数据存储在多个远程服务器上,分布式文件系统基本上都有冗余备份机制和容错机制,以保证数据读/写的正确性。云环境的存储服务基于分布式文件系统并根据云存储的特征做了相应的配置和改进。典型的分布式文件系统有Google公司设计的可伸缩的GoogleFileSystem(GFS)。目前,在云计算环境下的大规模分布式存储方面已经有了一些研究成果和应用。Google公司设计的用来存储大规模结构化数据的分布式存储系统BigTable用来将网页存储成分布式的、多维的、有序的图。

6.虚拟化技术

虚拟化的核心理念是以透明的方式提供抽象的底层资源,这种抽象方法并不受地理位置或底层资源的物理配置所限。就技术本身而言,它并不是全新的事物,早在20世纪70年代就已经在IBM的虚拟计算系统中得以应用。随着云计算的兴起,虚拟化技术再次成为研究热点,究其原因主要在于:首先,计算机系统在功能变得日益强大的同时,本身也越来越难以管理;其次,当计算系统发展到以用户为中心的阶段时,人们更关心的是如何通过接口和服务来满足复杂多变的用户需求。由于虚拟化技术能够灵活组织多种计算资源,解除上、下层资源的绑定和约束关系,提升资源使用效率,发挥资源聚合效能,为用户提供个性化和普适化的资源使用环境,因而得到高度重视。利用虚拟化技术,能够有效整合数据中心所有的硬件资源、虚拟服务器和其他基础设施,并通过高效的管理和调度为上层应用提供动态、可伸缩、灵活的基础设施平台,从而满足云计算随需扩展、按需部署、即需即用的需求。不过,各种虚拟化技术各有优势和不足,例如目前主流的半虚拟化技术,其虚拟机管理系统带来的CPU额外开销较少但内存性能开销较大,因此原有的CPU密集型应用能够较好地迁移到虚拟化平台上来,而内存或I/O密集型应用(如数据库等)就会遇到较大的性能问题。因此,如何融合各种虚拟化方法的优势,按照应用任务的需求,将各种资源进行动态共享和灵活配置,使计算系统具备按需构建能力,都是云计算中需要深入研究的问题。

3.3云计算的计算模型

1.GFS——Google文件系统

桌面应用和Internet应用有着巨大的差别。GFS是Google公司开发的专属分布式文件系统,为了在大量廉价硬件上提供有效、可靠的数据访问而设计。

GFS针对Google的核心数据存储和使用需求进行优化,用于保存搜索引擎所产生的大量数据。Google的Internet搜索计算借鉴函数式编程模式,函数式操作不会修改原始数据而总是产生新的计算结果数据。因而GFS的应用特点是产生大量的巨型文件,通常以读为主,可以追加但很少重写,具有非常高的吞吐率。

GFS的设计将节点分成两类:一个主节点和大量的块服务器。块服务器用来保存数据文件。每个数据文件被划分成64MB大小的块,每个块都有一个唯一的64位标签以维护文件到块的逻辑映射。主节点只是存储数据块的元数据,包括64位标签到块位置及其组成的文件的映射表,数据块副本位置,哪些进程正在读/写或“按下”某一数据块的“快照”以便复制副本等信息。主节点定期从块服务器接收、更新,以保持元数据的最新状态。

变更操作授权通过限时租用实现,主节点在一定时期内只限时给一个进程授予修改数据块的权限。被修改的数据块服务器作为主数据块将更改信息同步到其他块服务器上的副本,通过多个冗余副本提供可靠性和可用性。应用程序通过查询主节点从而获取文件/块的地址,然后直接和数据块服务器联系并最终取得相应的数据文件。

目前在Google中有超过200个Google文件系统集群,一个集群可以由1000甚至5000台机器构成。Google证明了用最廉价的机器搭建的云同样可以提供高可靠的计算和存储系统。任务布置1.控制物料、热量、压力三大平衡,保持两器流化通畅。2.根据反应再生系统操作规程调整控制参数。图2-3反应再生系统仿真DCS图简述右图反应再生系统工艺流程。

一、正常操作反应再生系统的正常操作主要是温度、压力、汽提蒸汽和反应深度等的控制,着重控制物料、热量、压力三大平衡,保持两器间流化通畅,在安全平稳的前提下取得最高的产品收率和最好的产品质量,工艺参数的控制主要就是针对上述要求进行调节的。(一)温度控制:反应再生系统主要控制的温度点有:原料预热温度、反应器出口温度、再生器床层温度等。

(二)压力控制反应再生系统主要控制的压力点有:再生器压力、反应沉降器压力等。(三)汽提蒸汽(四)再生烟气氧含量的控制若再生烟气氧含量过高,再生器稀相易发生二次燃烧;过低时,再生器定碳量不易控制到低于0.1%,且易发生碳堆。该参数是判断再生器工况的一个重要参数。(五)反应深度的控制反应深度是裂化反应过程转化率高低的标志。可通过观察富气和粗汽油产率及回炼油罐和分馏塔底液位高低来判断。反应深度过高,裂化反应过程中会将汽油、轻柴油及中间产物进一步裂化,进而转化为气体和焦炭。反应深度的变化反映在分馏塔底液面变化是非常明显的。当分馏操作平稳,回炼油罐液面恒定,分馏塔底液面上升,说明反应深度减少。

2.BigTable——数据库系统

BigTable是Google构建在GFS及Chubby(一种分布式锁服务)之上的一种压缩、高效的专属数据库系统,是一种结构化的分布式存储系统。这种数据库是一个稀疏的分布式多维度有序映射表,具有支持行关键字、列关键字以及时间戳3个维度的索引,允许客户端动态地控制数据的表现形式、存储格式和存储位置,满足应用程序对读/写局部化的具体要求。

数据库表通过划分多个子表使其保持约200MB大小,从而实现针对GFS的优化。子表在GFS中的位置记录在多个特殊的被称为META1的子表的数据库中,通过查询唯一的META0子表来定位META1子表。BigTable的设计目的是为了支持PB级数据库,可以分布在上万台机器上,更多的机器可以方便加入而不必重新配置。

3.MapReduce——分布式计算编程模型

GFS和BigTable用于解决大规模分布环境中可靠地存储数据问题,而MapReduce则是Google提出的一个软件框架,以支持在大规模集群上的大规模数据集(通常大于1TB)的并行计算。MapReduce是真正涉及云计算的计算模型。

1)MapReduce的软件架构

MapReduce架构设计受到函数式程序设计中的两个常用函数——映射(Map)和化简(Reduce)的启发,用来开发Google搜索结果分析时大量计算的并行化处理,比如文献词频的计算等。在函数式程序设计中,Map和Reduce都是构建高阶函数的工具。映射将某个给定的作用于某类元素的函数应用于该类元素的列表,并返回至一个新的列表,其中的元素是该函数作用到原列表中的每个元素得到的结果。比如:Mapf[v1,v2,…,vn]=[f(v1),f(v2),…,f(vn)]。从这里可以看出,这些f函数的计算是可以并行计算的。

MapReduce计算模型对于有高性能要求的应用以及并行计算领域的需求非常适合。当需要对大量数据做同样计算的时候,就可以对数据进行划分,然后将划分的数据分配到不同的机器上分别作计算。化简将一个列表中的元素按某种计算方式(函数)进行合并。比如把一个二元运算f扩展到n元运算:Reducef[v1,v2,…,vn]=f(v1,(reducef[v2,…,vn])=f(v1,f(v2,(reducef[v3,…,vn]))=f(v1,f(v2,f(…f(vn-1,vn)…))。

MapReduce计算模型将前面映射操作所算得的中间结果采用化简进行合并,以得到最后结果。

2)MapReduce的执行过程

MapReduce通过将输入数据自动切片而将映射调用分布在多台机器上,进而再对中间结果的键值空间进行划分而将化简调用分布到多台机器上。

首先将数据文件切分成M片,然后启动集群上的多个程序拷贝。

一份特殊的拷贝是主节点,而其他的则均为从节点。主节点将“映射”或“化简”的任务分配给空闲的从节点。

被赋予映射任务的从节点读入相应输入数据片内容,分析其键值对并将其传递给用户定义的映射函数。映射函数产生的中间结果的键值对在内存中缓存。缓存的键值对定期写入本地磁盘,由划分函数分成R块。这些缓存的键值对在本地磁盘中的地址被传回主节点,由其负责将地址转发给化简从节点。

当一个化简从节点收到主节点发来的地址时,它用远程过程调用读取映射缓存在磁盘里的数据。当化简从节点从其分块读取所有中间数据时,先按键值对其排序,从而使相同键的所有数据被放置在一起。

化简从节点迭代处理这些有序的中间数据,针对每个中间键值,MapReduce计算模型将对应的一组中间值传给用户的化简函数。化简函数的输出被追加到该化简块。

当所有映射和化简任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论