云计算与并行计算复习Word格式.docx

上传人:b****5 文档编号:20830334 上传时间:2023-01-25 格式:DOCX 页数:16 大小:23.14KB
下载 相关 举报
云计算与并行计算复习Word格式.docx_第1页
第1页 / 共16页
云计算与并行计算复习Word格式.docx_第2页
第2页 / 共16页
云计算与并行计算复习Word格式.docx_第3页
第3页 / 共16页
云计算与并行计算复习Word格式.docx_第4页
第4页 / 共16页
云计算与并行计算复习Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

云计算与并行计算复习Word格式.docx

《云计算与并行计算复习Word格式.docx》由会员分享,可在线阅读,更多相关《云计算与并行计算复习Word格式.docx(16页珍藏版)》请在冰豆网上搜索。

云计算与并行计算复习Word格式.docx

混合云由公有云和私有云共同构成

公有云促进了标准化,节约了资金投入,为应用程序提供了很好的灵活性;

私有云尝试进行定制化,可以提供更高的有效性、弹性、安全性和隐私性;

混合云则处于两者中间,在资源共享方面进行了折中。

云的核心是服务器集群(或虚拟机集群)。

集群节点用作计算节点,少量的控制节点用于管理和监视云活动。

用户作业的调度需要为用户创建的虚拟集群分配任务。

数据中心和超级计算机在网络需求方面也不相同。

超级计算机使用客户设计的高带宽网络,如胖树或3D环形网络;

数据中心网络主要是基于IP的商业网络

云平台设计目标:

可扩展性、虚拟化、有效性和可靠性

2.云平台提供的服务类型

6层的云服务,范围从硬件、网络和配置到基础设施、平台和软件应用

上三层

Iaas(基础设施即服务)Paas(平台即服务)Saas(软件即服务)

硬件即服务(HaaS)网络即服务(NaaS)位置即服务(配置即服务)(LaaS)。

数据中心的虚拟化资源形成互联网云,向付费用户提供硬件,软件,存储,网络和服务以运行他们的应用。

云计算提供了一个虚拟化的按需动态供应硬件,软件和数据集的弹性资源平台.

①基础设施即服务(IaaS):

这个模型将用户需要的基础设施(即服务器,存储,网络和数据中心构造)组合在一起。

用户可以在使用客户机操作系统的多个虚拟机上配置和运行指定的应用。

②平台即服务(PaaS):

这个模型使用户能够在一个虚拟的平台上配置用户制定的应用。

PaaS包括中间件,数据库,开发工具和一些运行时支持(如Web2.0和Java)。

3.软件即服务(SaaS):

这是指面向数千付费云用户的初始浏览器的应用软件。

SaaS模型应用于业务流程,工业应用,客户关系管理,企业资源计划,人力资源和合作应用。

3.Google的核心技术(……包括默认文件?

大小)

谷歌的云计算应用程序的构成要素包括存储大量数据的GFS、为应用程序开发者提供的MapReduce编程框架、用于分布式应用程序锁服务的Chubby和为访问结构化或半结构化数据的BigTable存储服务。

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)->

结果数据字符串。

支持查询,插入和删除操作。

4.怎样分析与计算系统的可用性

可用性表示系统对用户可用的时间百分比,即系统正常运行的时间百分比。

可用性分析:

HA(highaccessibility)是所有集群,网络,P2P网络和云计算系统所期望的。

如果系统有一个长的平均故障时间(MeanTimeToFailure,MTTF)和短的修复时间(MeanTimeToRepair,MTTR),那么这个系统就是高度可用的。

系统可用性形式化定义如下:

系统可用性=MTTF/(MTTF+MTTR)(大多数集群通过转移故障节点来达到高可用性的目的)。

5.虚拟化的基本概念,硬件虚拟化的基本类型,虚拟化软件,目前市场上开源的vmare版本所支持的指令集

虚拟化:

虚拟化是一种计算机体系结构技术,其中,多个虚拟机共享同一台物理硬件机器。

虚拟化的思想是分离软硬件以产生更好的系统性能。

虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源

硬件虚拟化:

硬件虚拟化分为:

全虚拟化和基于主机的虚拟化。

全虚拟化不需要修改主机操作系统。

它依赖于二进制翻译来陷入和虚拟化一些敏感,不可虚拟化的指令执行。

客户操作系统和他们的应用由非临界和临界指令构成。

在基于主机的系统虚拟化中,主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间。

主机操作系统仍旧负责管理硬件。

客户操作系统安装并运行在虚拟化层之上。

特定的应用可运行在虚拟机中。

半虚拟化:

半虚拟化需要修改客户操作系统。

半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。

完全虚拟化:

xen的完全虚拟化与半虚拟化的区别是,完全虚拟化需要cpu支持硬件虚拟化,而半虚拟化不需要cpu支持硬件虚拟化。

也就是,cpu支持了硬件虚拟化,xen配置完成后就是完全虚拟化,cpu不支持就是半虚拟化。

三种实现技术:

1、模拟软件emulation通过模拟器模拟所有的指令,不通知虚拟化出来的操作系统它的运行环境。

2、虚拟化一部分特权指令或者使用二进制日志转换技术。

3、让cpu支持硬件虚拟化。

被虚拟化出来的操作系统上执行的指令,会运行在被虚拟化出来的硬件上,就是完全虚拟化。

CPU,内存和I/O设备的虚拟化

VMM(虚拟机监视器),它负责管理计算机系统的硬件资源。

每次应用程序访问硬件时,VMM都会捕获该访问请求

CPU、内存和I/O设备的虚拟化

为支持虚拟化,处理器利用硬件辅助虚拟化,引入一种特殊的运行模式和指令,使得VMM和客户操作系统可运行在不同模式中,客户操作系统及其应用程序的所有敏感指令会陷入到VMM中。

虚拟化的硬件支持

现代操作系统和处理器允许多个进程同时运行。

如果处理器中没有保护机制,那么不同进程的所有指令都可以直接访问硬件,很容易导致系统崩溃。

因此,所有处理器都至少需要两种模式(用户模式和管理模式)来确保对临界区硬件的受控访问。

运行在管理模式的指令称为特权指令,其他指令为非特权指令。

CPU虚拟化

虚拟机的非特权指令直接在物理主机中运行

关键指令可以分为三类:

特权指令、控制敏感指令和行为敏感指令。

特权指令需要在特权模式中执行,当在特权模式之外执行特权指令时会发生陷入。

控制敏感指令尝试改变使用资源的配置。

行为敏感指令根据资源的配置情况会有不同的行为,包括在虚拟内存中进行的负载和存储操作。

VMM运行在管理模式时,CPU支持在用户模式运行虚拟机的特权指令和非特权指令,则该CPU体系结构是可虚拟化的。

RISC的所有控制敏感指令和行为敏感指令都是特权指令,RISC的CPU体系结构是天然可虚拟化的。

内存虚拟化

客户操作系统和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映射,共两级映射。

客户操作系统仍旧负责从虚拟地址到虚拟机的物理内存地址的映射,VMM负责将客户物理内存映射到实际的机器内存上

I/O虚拟化

I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。

实现I/O虚拟化有三种方式:

全设备模拟:

一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。

半虚拟化:

是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。

前端驱动运行在DomainU中,而后端驱动运行在Domain0中,它们通过一块共享内存交互。

直接I/O虚拟化:

让虚拟机直接访问设备硬件。

它能获得近乎本地的性能,并且CPU开销不高。

6.KVM实现原理(怎样实现硬件虚拟化的监控),内存虚拟化的基本机制,I/O虚拟化实现方式

KVM的实现原理:

内存虚拟化机制

进一步,也应该支持MMU虚拟化,并且对客户操作系统透明,客户操作系统仍旧负责从虚拟地址到虚拟机的物理内存地址的映射,但是客户操作系统并不能直接访问实际硬件内存,VMM负责将客户物理内存映射到实际的机器内存上。

8、I/O虚拟化实现方式

实现I/O虚拟化有三种方式:

一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。

是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。

让虚拟机直接访问设备硬件。

内存虚拟化的页表机制

由于客户操作系统的每个页表在VMM中都有一个独立页表与之对应,VMM中的页表称为影子页表。

嵌套的页表在虚拟内存系统中额外增加了一层映射。

MMU负责由操作系统定义的虚拟地址到物理地址的转换。

然后,使用Hypervisor定义的其他页表将物理内存地址转换为机器地址。

VMware使用影子页表进行虚拟内存到机器内存的地址转换。

当客户操作系统修改了虚拟内存到物理内存的映射时,VMM会及时更新影子页表。

4.内存迁移的实现功能

内存的迁移实现的功能

内存迁移在虚拟机迁移时很重要,因此内存迁移一个重要的功能是实现虚拟机的迁移,可以将虚拟机的内存实例从一个物理节点迁移至另一个物理节点

5.云平台处理的应用类型

6.互联网配置云系统的方式(……私有云,)

公有云、私有云、混合云

7.单一系统镜像包括哪些内容

(1)单系统镜像特征:

单一系统、单一控制、对称性、位置透明性

(2)单系统镜像(SSI)包括单一入口、单文件层次、单一I/O空间、单一网络机制、单一控制点、单一作业管理系统、单一内存空间和单一进程空间。

(3)SSI额外特征:

单一作业管理系统所有集群作业能够由任意节点提交到单一作业管理系统。

单一用户接口用户通过单一图形界面使用集群。

单一进程空间各节点的所有用户进程形成单一进程空间,并且共享统一进程认证机制。

SSI集群化的中间件在集群应用的三个层次上,中间件支持各种SSI特征。

管理级该级处理用户应用程序,并且提供

作业管理系统。

编程级该级提供单一文件层次(NFS、xFS、

AFS、Proxy)和分布式共享内存

实现级该级支持单一进程空间、检查点机

制、进程迁移和单一I/O空间。

8.虚拟化软件层的基本功能

虚拟化实现的层次

引入虚拟化后,不同用户应用程序由自身的操作系统(即客户操作系统)管理,并且那些客户操作系统可以独立于主机操作系统同时运行在同一个硬件上,这通常是通过新添加一个称为虚拟化层的软件来完成,该虚拟化层称为hypervisor或虚拟机监视器(VirtualMachineMonitor,VMM)

指令集体系结构级:

代码解释和动态二进制翻译

硬件抽象级:

虚拟化一个计算机硬件资源

操作系统级:

在单一物理服务器上创建隔离的容器和操作系统实例

库支持级:

库接口的虚拟化

应用程序级:

进程级虚拟化、高级语言

(HighLevelLanguage,HLL)虚拟机

虚拟化软件层的主要功能是将一个主机的物理硬件虚拟化为可被各虚拟机互斥使用的虚拟资源。

(这可以在不同的操作层实现)

虚拟化软件通过在计算机系统的不同层插入虚拟化层来创建虚拟机抽象。

通常的虚拟化层包括指令集体系结构(InstructionSetArchitecture,ISA)级、硬件抽象级、操作系统级、库支持级和应用程序级

编程题

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;

i<

3;

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();

}

读取文件并且打印数量最多的前三个:

importjava.io.*;

FileReaderfr=null;

try{

fr=newFileReader("

C:

\\Users\\PANJINTIAN\\Desktop\\wordCount.txt"

);

catch(IOExceptione)

BufferedReaderbf=newBufferedReader(fr);

Strings=null;

while((s=bf.readLine())!

=null)

StringTokenizerst=newStringTokenizer(s);

intmax=0;

intfmax[]=newint[3];

Stringfword[]=newString[3];

intnumber;

Stringkey=null;

StringMword=null;

key=(String)itr.next();

number=(Integer)ht.get(key);

if(number>

=max)

max=number;

Mword=key;

fmax[i]=max;

fword[i]=Mword;

ht.remove(Mword);

max=0;

从文件读入文本并将结果写入另外一个文件中

FileWriterfw=null;

Stringvalue=null;

Stringrecord=null;

try

fw=newFileWriter("

\\Users\\PANJINTIAN\\Desktop\\result.txt"

true);

BufferedWriterbw=newBufferedWriter(fw);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1