武汉理工大学云计算考试总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.什么是云计算:答:云是虚拟计算机资源池。云可以处理各种不同的负载,包括批处理式后端作业和交互式用户界面应用。云通过迅速提供虚拟机或物理机允许负载被快速配置和划分。云支持冗余,自恢复,高可扩展编程模型,以允许负载从许多不可避免的硬件/软件错误中恢复。最终,云计算系统可以通过实时监视资源来确保分配在需要时平衡。来源:数据爆炸促发了云计算的思想。2.云平台提供的服务类型:数据中心的虚拟化资源形成互联网云,向付费用户提供硬件,软件,存储,网络和服务以运行他们的应用。云计算提供了一个虚拟化的按需动态供应硬件,软件和数据集的弹性资源平台.①基础设施即服务(IaaS):这个模型将用户需要的基础设施(即服务器,存储,网络和数据中心构造)组合在一起。用户可以在使用客户机操作系统的多个虚拟机上配置和运行指定的应用。②平台即服务(PaaS):这个模型使用户能够在一个虚拟的平台上配置用户制定的应用。PaaS包括中间件,数据库,开发工具和一些运行时支持(如Web2.0和Java)。3.软件即服务(SaaS):这是指面向数千付费云用户的初始浏览器的应用软件。SaaS模型应用于业务流程,工业应用,客户关系管理,企业资源计划,人力资源和合作应用。3.Google的核心技术GoogleMapReduce(Map:对一组数据元素进行某种重复式的处理,Reduce:对Map中间结果进行某种进一步的结果整理)(MapReduce把whatneedtodo与howtodo分开了)(设计思想:scaleoutnotup,assumefailuresarecommon,movingprocessingtodata,processdatasequentiallyandavoidrandomaccess)上升到架构:统一架构,为程序员隐藏系统层细节。GoogleGFSgooglegfs是一个基于分布式集群的大型分布式文件系统,为MapReduce计算框架提供底层数据存储和数据可靠性支撑。Master上保存了GFS文件系统的三种元数据:①命名空间,即整个分布式文件系统的目录结构。②Chunk与文件名的映射表3.Chunk副本的位置信息,每个Chunk默认有3个副本。GFS中每个数据块划分缺省为64MB。每个数据块会分别在3个不同的地方复制副本;每一个数据块,仅当3个副本都成功时,才认为数据保存成功。每个数据块再划分为64KB的子块,每个子块有一个32位的校验和。BigTable:GFS是一个文件系统,难以提供对结构化数据的存储和访问管理。为此Google在GFS之上又设计了一个结构化数据存储和访问管理系统-----BigTable,为应用程序提供比单纯文件系统更方便,更高层的数据操作能力。BigTable对存储在表中的数据不做任何解释,一律视为字符串,具体数据结构的实现由用户自行定义。BigTable查询模型(row:string,column:string,time:int64)-结果数据字符串。支持查询,插入和删除操作。Amdah1定律:假设单处理器执行给定程序所需时间共为T分钟。必须串行执行的代码为α(串行瓶颈)。可以由n个处理器并行执行的代码为1-α。总共执行时间为αT+(1-α)T/n.加速比=S=T/(αT+(1-α)T/n)=1/(α+(1-α)/n),由此当α趋近于0时加速比将达到n.固定负载问题:并行处理的系统效率E=S/n.并行处理的系统效率E=S/n=1/[an+1-a]系统效率通常非常低,特别是n很大时,这是因为实际情况只有几个处理器在工作。Gustafson定律:当使用一个大规模集群时,为了实现更高的效率,我们必须考虑扩大问题规模来匹配集群的能力。设W是给定程序的负载,当使用n个处理器系统时,用户将负载扩展为W’=aW+(1-a)nW。扩展加速比定义如下S’=W’/W=a+(1-a)n.效率表达式E=S’/n=a/n+(1-a)。对于固定负载应采用Amdahl定律。为了解决扩展规模的问题,应采用Gustafson定律。可用性分析:HA(highaccessibility)是所有集群,网络,P2P网络和云计算系统所期望的。如果系统有一个长的平均故障时间(MeanTimeToFailure,MTTF)和短的修复时间(MeanTimeToRepair,MTTR),那么这个系统就是高度可用的。系统可用性形式化定义如下:系统可用性=MTTF/(MTTF+MTTR)(大多数集群通过转移故障节点来达到高可用性的目的)。虚拟化:虚拟化是一种计算机体系结构技术,其中,多个虚拟机共享同一台物理硬件机器。虚拟化的思想是分离软硬件以产生更好的系统性能。硬件虚拟化:硬件虚拟化分为:全虚拟化和基于主机的虚拟化。全虚拟化不需要修改主机操作系统。它依赖于二进制翻译来陷入和虚拟化一些敏感,不可虚拟化的指令执行。客户操作系统和他们的应用由非临界和临界指令构成。在基于主机的系统虚拟化中,主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间。主机操作系统仍旧负责管理硬件。客户操作系统安装并运行在虚拟化层之上。特定的应用可运行在虚拟机中。半虚拟化:半虚拟化需要修改客户操作系统。半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。完全虚拟化:xen的完全虚拟化与半虚拟化的区别是,完全虚拟化需要cpu支持硬件虚拟化,而半虚拟化不需要cpu支持硬件虚拟化。也就是,cpu支持了硬件虚拟化,xen配置完成后就是完全虚拟化,cpu不支持就是半虚拟化。三种实现技术:1、模拟软件emulation通过模拟器模拟所有的指令,不通知虚拟化出来的操作系统它的运行环境。2、虚拟化一部分特权指令或者使用二进制日志转换技术。3、让cpu支持硬件虚拟化。被虚拟化出来的操作系统上执行的指令,会运行在被虚拟化出来的硬件上,就是完全虚拟化。虚拟化实现的层次:1.指令集体系结构级2.硬件抽象级3.操作系统级4.库支持级5.应用程序级CPU,内存和I/O设备的虚拟化VMM(虚拟机监视器),它负责管理计算机系统的硬件资源。每次应用程序访问硬件时,VMM都会捕获该访问请求虚拟化软件:开源虚拟化:OracleVM、CitrixXen、RedHatKVM商业虚拟化:IBMPowerVM、微软Hyper-V、VMwarevSphereVMware:要求处理器必须支持Intel的VT或AMD的AMD-V伪指令。KVM的实现原理:KVM是一个基于Linux的半虚拟化系统,是Linux2.6.20内核的一部分。内存管理和调度由存在的Linux内核执行,KVM则负责其余部分,这使得KVM比其他需要控制整个机器的hypervisor简单许多。KVM是一个基于硬件辅助的半虚拟化工具,对性能进行了改进,且支持未修改的客户操作系统,如Windows,Linux,Solaris和其他Unix变种。内存虚拟化机制客户操作系统和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映射,共两级映射。进一步,也应该支持MMU虚拟化,并且对客户操作系统透明,客户操作系统仍旧负责从虚拟地址到虚拟机的物理内存地址的映射,但是客户操作系统并不能直接访问实际硬件内存,VMM负责将客户物理内存映射到实际的机器内存上。8、I/O虚拟化实现方式I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。实现I/O虚拟化有三种方式:全设备模拟:一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。半虚拟化:是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。前端驱动运行在DomainU中,而后端驱动运行在Domain0中,它们通过一块共享内存交互。直接I/O虚拟化:让虚拟机直接访问设备硬件。它能获得近乎本地的性能,并且CPU开销不高。内存虚拟化的页表机制由于客户操作系统的每个页表在VMM中都有一个独立页表与之对应,VMM中的页表称为影子页表。嵌套的页表在虚拟内存系统中额外增加了一层映射。MMU负责由操作系统定义的虚拟地址到物理地址的转换。然后,使用Hypervisor定义的其他页表将物理内存地址转换为机器地址。VMware使用影子页表进行虚拟内存到机器内存的地址转换。当客户操作系统修改了虚拟内存到物理内存的映射时,VMM会及时更新影子页表。内存的迁移实现的功能内存迁移在虚拟机迁移时很重要,因此内存迁移一个重要的功能是实现虚拟机的迁移,可以将虚拟机的内存实例从一个物理节点迁移至另一个物理节点虚拟化软件层基本功能P88虚拟化软件层的主要功能是将一个主机的物理硬件虚拟化为可被各虚拟机互斥使用的虚拟资源。(这可以在不同的操作层实现)虚拟化软件通过在计算机系统的不同层插入虚拟化层来创建虚拟机抽象。通常的虚拟化层包括指令集体系结构(InstructionSetArchitecture,ISA)级、硬件抽象级、操作系统级、库支持级和应用程序级互联网上配置云平台的方式公有云、私有云、混合云单一系统映像包括哪些内容单系统映象(Single-systemimage,SSI)是分布式计算的一种模式,使用一个多网络的通用接口,分布式数据库,或者多个服务器,但对用户而言是一个系统。换句话说,该操作系统环境由系统中的所有节点共享。其内容包括:进程迁移,许多单系统镜像提供进程迁移的功能。进程在一个节点可是运行,出于资源平衡或者管理的原因,然后被迁移另一节点运行。当一个进程从一个节点迁移到另一个节点时,其他相关的资源(比如IPC资源)可能也一同跟着迁移。进程检测,单个进程空间,单个根节点,单个I/O空间,单个IPC空间,以及集群IP地址。巨大的Web搜索引擎和海量的数据并行处理硬件平台。强大的数据处理服务能力编程题Wordcount传统串行处理方式//没有读取文件/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packagewordcount;importjava.util.*;/****@authorPANJINTIAN*/publicclassWordCount{/***@paramargsthecommandlinearguments*/publicstaticvoidmain(String[]args){String[]text=newString[]{helloworld,helloeveryone,sayhellotoeveryoneintheworld};Hashtableht=newHashtable();for(inti=0;i3;i++){StringTokenizerst=newStringTokenizer(text[i]);while(st.hasMoreTokens()){Stringword=st.nextToken();if(!ht.containsKey(word)){ht.put(word,newInteger(1));}else{intwc=((Integer)ht.get(word)).intValue()+1;ht.put(word,newInteger(wc));}}}for(Iteratoritr=ht.keySet().iterator();itr.hasNext();){Stringword=(String)itr.next();System.out.print(word+:+(Integer)ht.get(word)+;);}}}读取文件并且打印数量最多的前三个:/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/packagewordcount;importjava.util.*;importjava.io.*;/****@authorPANJINTIAN*/publicclassWordCount{/***@paramargs

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功