第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx

上传人:wj 文档编号:18913825 上传时间:2024-02-11 格式:PPTX 页数:80 大小:6.48MB
下载 相关 举报
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第1页
第1页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第2页
第2页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第3页
第3页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第4页
第4页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第5页
第5页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第6页
第6页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第7页
第7页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第8页
第8页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第9页
第9页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第10页
第10页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第11页
第11页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第12页
第12页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第13页
第13页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第14页
第14页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第15页
第15页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第16页
第16页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第17页
第17页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第18页
第18页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第19页
第19页 / 共80页
第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx_第20页
第20页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx

《第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx》由会员分享,可在线阅读,更多相关《第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx(80页珍藏版)》请在冰点文库上搜索。

第2讲-wty-云计算技术原理-系统虚拟化-2013.3.12.pptx

2012-2013学年春季研究生选修课程云计算技术原理CloudComputing:

PrinciplesandTechnologies教学组:

胡春明,李建欣,沃天宇,林学练2013年3月12日下午16:

00-18:

00新主楼B216第二讲系统虚拟化技术原理WHY?

系统虚拟化提出的是什么?

WHAT?

系统虚拟化的本质是什么?

HOW?

系统虚拟化实现的几种方式?

内容提要3.1云计算和虚拟化云计算和虚拟化3.2虚拟化技术发展简史3.3系统虚拟化技术3.4虚拟化技术应用网络计算尝试4GridP2PPervasiveClusterCloudUbiquitous分布、动态、异构高效、灵活、可靠、可伸缩云计算简化实现机制云计算的特点超大规模虚拟化高可靠性通用性高可扩展性按需服务极其廉价Multi-tenant7资源极大丰富和利用率低的矛盾8根据美国国家标准局(NIST)的调查结果,全球数据中心中包含的1180万台服务器其CPU平均利用率只有15%据IDC统计,截止2008年全球PC出货量已经连续6年逐年增加,2008年全年全球PC出货量比2007年增长了10.5%我的切入点是:

这个问题为什么会发生?

为什么在资源利用率严重不足的情况下,企业对计算机的需求却逐年递增?

对这样数据的通常解读:

要解决这个问题,需要加强资源共享为什么?

谨慎的说,一定有很多原因起综合作用但只要一个原因,就可以解释为什么出现这个现象9为什么旧服务器计算能力没有完全利用,新应用必须购买新服务器因为当前操作系统的机制,不能为当前应用的运行行提供行之有效的隔离环境,影响了资源共享举例:

为什么现有系统隔离性不够文件系统隔离软件运行不仅需要可执行程序,也需要数据文件、DLL等;这些依赖文件在磁盘的位置、内容、版本等,可能与其它软件造成冲突网络隔离网络化软件需要占用操作系统的网络资源,包括网卡、协议栈、IP地址、端口等等,这些依赖资源可能与其他软件发生冲突管理域隔离应用的运行和维护往往需要高安全权限;而传统操作系统管理权限过于简单:

管理员、普通用户;难以对管理员的管理范围进行限制,难以对应用使用的资源进行访问控制10ApplicationOperatingSystemHardwareSoftwareUserUserinterfaceboundtoexecutionHardwarelimitedinphysicallocationOSboundtospecifichardwareApplicationboundtospecificOSApplicationOperatingSystemHardwareSoftwareUserSaaSSoftwareasaServiceHaaSHardwareasaService可伸缩性要求/终端适配开发成本低投入低成本快速响应13成千上万的像papaya一样的快速成长中的移动互联网应用企业,如何应对快速增长的业务需求对运营支撑资源伸缩性带来的挑战?

内容提要3.1云计算和虚拟化3.2虚拟化技术发展简史虚拟化技术发展简史3.3系统虚拟化技术3.4虚拟化技术应用OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革1952年IBM701,“国防计算器”,月租金15000美元;无无OS,每个软件的程序员都要从头开始编写程序。

,每个软件的程序员都要从头开始编写程序。

昂贵的资源(处理机、存储器)如何提高利用效率如何提高利用效率?

降低作业间的闲置间隔!

降低作业间的闲置间隔!

代码如何重用?

OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革1950-60批处理:

Mainframe基本功能,排队排队论论、统筹学、统筹学单道批处理单道批处理:

内存中同时仅由1个作业多道批处理多道批处理:

内存中同时可以有多个作业作业执行过程中,需要进行IO,这时CPU是闲置的,浪费严重操作系统的发展BatchProcessing批处理系统在没有人工参与的情况下,顺序执行一系列的程序出现时期:

1950s-1960s特点:

无需人工参与,节约人员排队时间程序和数据保存在卡片上,自动化作业初始化过程同一时刻只有一个软件(作业Job)执行软件运行时,可以以独占的方式使用全部硬件资源不支持多用户、多程序同时运行OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革1964年7月IBM360,向前兼容,保护用户投资CTSS(MIT,1961),Multics(MIT,AT&T,1964),CP/CMS(MIT,IBM)引入进程概念,分时的必须操作系统本身的结操作系统本身的结构如何维护?

构如何维护?

操作系统的发展TimeSharingWhat分时系统将CPU处理时间分割为多个时间片,将时间片分给不同程序,达到多个程序“同时”运行的效果Why分时系统批处理系统一次执行一个程序,I/O过程CPU空转为进一步提高CPU利用率,支持多用户、多进程出现时期(1957-)分时系统的概念最早由BobBemer在1957年提出第一款分时系统CTSS(Compatible)在1961发布两种典型的分时系统1.Multics/Unix(1968/1970)2.IBMVM360/370(1966/1972)典型的分时系统:

Multics/Unix分时导致的变化,和操作系统的设计只有一个程序运行vs多程序同时运行暂停当前程序、进入另一个程序运行中断Interrupt、时间片一个程序独占所有硬件资源vs多个程序共享硬件资源应用软件不能访问所有硬件功能,一部分要通过操作系统指令分级(Ring)、内核、系统调用特别的:

应用软件不能直接访问物理内存,因为物理内存是所有软件共享的页式内存管理(Paging)、虚拟内存硬件HardwareOSVM进程VM进程VM进程特点:

改变了程序访问硬件的方式不支持遗留应用程序典型的分时系统:

IBMVM360/370分时导致的变化,和操作系统的设计只有一个程序运行vs多程序同时运行CMS是单用户单进程操作系统支持多个CMS同时运行一个程序独占所有硬件资源vs多个程序共享硬件资源CMS不能访问所有的硬件资源CMS指令集与硬件指令集不同,由CP进行翻译硬件HardwareCPVMCMS应用VMCMS应用VMCMS应用特点:

不改变程序访问硬件的方式支持遗留OS、应用程序OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革PDP-7/PDP-11UNIX,C语言语言KenThompson(left)andDennisRitchie(right)1983TuringAward1969OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革PDP-7/PDP-11UNIX,C语言KenThompson(left)andDennisRitchie(right)1983TuringAward1969多处理机(网络)时代:

多处理机(网络)时代:

资源怎么管?

资源怎么管?

怎么访问?

怎么访问?

OS的史前阶段批处理分时现代OS网络化OS/分布式OSOS的历史沿革1968ARPANETTCP/IPInternetWeb1968操作系统的网络化分两类(Tanenbaum,1985)NetworkOperatingSystem网络操作系统在传统单机OS上加单独软件层,主要提供联网功能和资源的远程访问,实现多机互联DistributedOperatingSystem分布式操作系统多台机器统一管理形成单一系统,相比网络操作系统,对用户和应用高度透明分布式操作系统的透明性体现在1.数据透明:

用户无需了解文件存储位置2.执行透明:

用户无需关心程序运行位置3.保护透明:

统一的身份管理和安全机制小结一下操作系统的作用?

管理资源、提供硬件访问的统一接口操作系统的发展单任务串行多任务并发单处理器多处理器分布式网络化多任务操作系统的基本原理分时多个用户/任务互不干扰地使用资源不分时的OSCP/M,DOS(共享的需求少(PC),结构简单,管理资源单一(Disk))分时的基本形式(隔离手段)虚拟:

VM(完整地隔离所有资源)(CP/CMS,OS/370)抽象:

进程(隔离处理器、存储器)(UNIX,OS),I/O仍然共享操作系统OperatingSystem通过对软件(Software)的管理,实现计算资源的共享没有操作系统软件对计算资源是独占的有了操作系统资源共享操作系统vs虚拟机虚拟机VirtualMachine支持软件的隔离运行多种分类进程虚拟机、系统虚拟机系统虚拟机批处理BatchProcessing分时系统Time-Sharing?

硬件Hardware操作系统OS软件软件软件硬件软件硬件软件硬件软件硬件Hardware虚拟机监控器VMMVMOSVMOSVMOS硬件HardwareOSVM进程VM进程VM进程进程虚拟机操作系统与虚拟机一个是共享,一个是隔离,看似没有关系虚拟机虚拟机的第一次出现是用于分时操作系统无论是Multics/Unix中的虚拟内存机制,还是VM360/370里面的CP/CMS系统,都是虚拟机虚拟内存进程虚拟机(虚拟机中直接运行应用、封装为进程)CP/CMSVM系统虚拟机(虚拟机中运行操作系统)原因分时系统要求软件通过操作系统暴露的接口访问硬件,而不是直接访问、完全控制因此操作系统需要对软件屏蔽物理资源视图,提供虚拟资源视图从1970-2000这段时期,虚拟机在操作系统之外也得到大量应用Smalltalk/Java高级语言虚拟机、游戏机模拟器、PC模拟器VirtualPC、VMWareAnoperatingsystemisaprogramthat(Tanenbaum,1985)1.controlstheresourcesofacomputer2.providesitsuserswithaninterfaceorvirtualmachine虚拟机续硬件Hardware操作系统OS软件软件高级语言VMM软件软件通过中间语言实现软件可移植性、并提高开发效率硬件Hardware操作系统OS软件软件游戏机模拟器游戏游戏通过模拟器解释其他平台指令集性能问题小硬件HardwareMacOS软件软件VirtualPCPCOSPCOS通过VMM实现同档次平台的仿真性能问题大:

动态翻译硬件HardwarePC操作系统OS软件软件VMWarePCOSPCOS实现相同硬件平台和指令集的仿真性能:

对少数特权指令的解释指令解释动态翻译半虚拟化硬件虚拟化一方面,网络聚合的资源越来越丰富另一方面,单个处理器性能难以按照摩尔定律的要求继续每18个月翻一番散热问题:

目前Intel处理器核心的能量密度已经接近火箭喷射器计算资源的发展CPU发展的瓶颈“weseeaverysignificantshiftinwhatarchitectureswilllooklikeinthefuture.fundamentallythewaywevebeguntolookatdoingthatistomovefrominstructionlevelconcurrencytomultiplecoresperdie.Butweregoingtocontinuetogobeyondthere.Andthatjustwontbeinourserverlinesinthefuture;thiswillpermeateeveryarchitecturethatwebuild.Allwillhavemassivelymulticoreimplementations.”IntelDeveloperForum,Spring2004PatGelsingerChiefTechnologyOfficer,SeniorVicePresidentIntelCorporation10,00010,0001,0001,00010010010101170708080909000001010PowerDensity(W/cmPowerDensity(W/cm22)4004400480088008808080808085808580868086286286386386486486PentiumPentiumprocessorsprocessorsHotPlateHotPlateNuclearReactorNuclearReactorRocketNozzleRocketNozzleSunsSurfaceSunsSurfaceIntelDeveloperForum,Spring2004-PatGelsingerIntelDeveloperForum,Spring2004-PatGelsingerMany-corePeakParallelGOPsMany-corePeakParallelGOPsSingleThreadedPerf10%peryearSingleThreadedPerf10%peryearToGrow,ToKeepUp,ToGrow,ToKeepUp,WeMustEmbraceParallelComputingWeMustEmbraceParallelComputingGOPSGOPS32,76832,7682,0482,0481281281616200420042006200620082008201020102012201220152015TodaysArchitecture:

HeatbecominganTodaysArchitecture:

Heatbecominganunmanageableproblem!

unmanageableproblem!

ParallelismOpportunityParallelismOpportunity80X80X多核的发展面临瓶颈,除了散热问题外,更大的制约来自于应用需求按照摩尔定律发展,CPU的能量密度将超过太阳表面!

一方面,网络聚合的资源越来越丰富另一方面,单个处理器性能难以按照摩尔定律的要求继续每18个月翻一番散热问题:

目前Intel处理器核心的能量密度已经接近火箭喷射器Intel认为:

只有多核化才能继续提升处理器能力结论1:

未来单一处理器的性能提升非常有限结论2:

单机系统也面临网络化朝着片上集群、片上网络、ccNUMA方向发展来源IntelPatGelsinger在2004年IntelDeveloperForum的报告计算资源的发展即使是单机操作系统,也必须考虑网络化资源管理的需求案例分析:

PC平台处理器的发展/OS的发展8086/286386(1986)不仅仅是16到32的升级,增加:

页式内存管理、指令分级、保护模式、TSS寄存器;PC平台上实现分时系统必备功能486,PentiumI/II/II/IV协处理器FPU、指令流水线、MMX、超线程、64bit速度性能提升,对操作系统透明;非特权指令,查漏补缺2004IDF是一个重要的转折点(多核、虚拟化)IntelVT(Vanderpool):

VMEnter,VMExit,VMCS寄存器PC操作系统DOS,Win31,Win95,Win98/MENT1.0,NT3.51,NT4.0,Win2K,WinXP(2001)硬件Hardware虚拟机监控器VMMVMOSVMOSVMOS硬件虚拟化是处理器自386以来最重要的变革预示着操作系统的随之变化的必然性操作系统的变化是一个漫长的过程(15年)我们现在有挑战,但也是机遇19961998200020022004200620081997年年lConnectix公司发型VirtualPC软件l在Mac机器上虚拟x86平台和Windowsl首次采用DynamicRecompiling技术2000年年l开源项目User-modeLinux创建l修改Linux操作系统运行在用户态l首次采用Paravirtualization技术1998年年lVMWare公司成立,发布第一版l在x86架构上虚拟x86机器l首次采用Virtualization技术x86虚拟化技术发展19981996200020022004200620082001年年6月月lConnectix发布VirtualPCforWindowslVirtualPC成为VMWare强劲对手2003年年l剑桥大学开源虚拟机项目Xen1.0发布l继续深化Paravirtualization技术l首次提出在OS内核实现虚拟机抽象层l即Hypervisor技术l2003年3月微软收购Connectix公司l2003年12月EMC收购VMWare公司l2003年12月微软发布VirtualPC2004x86虚拟化技术发展MUSTREAD:

SOSP03XenandtheArtofVirtualization19981996200020022004200620082003年年9月月lIntel公布新的研究:

Vanderpool技术l首次提出在CPU中内置对虚拟机的支持l该技术最大的受益者:

剑桥大学Xen2004年l7月微软发布VirtualServer2005R2l9月AMD也提出Pacifica技术回应Intell9月User-modeLinux正式纳入2.6.9内核l12月Xen2.0正式发布2005年l3月NovellSUSELinux9.2正式包含Xenl3月Novell将Netware移植到Xenl6月FedoraCore4中正式包含Xenx86虚拟化技术发展19981996200020022004200620082005年年4月月lIntel正式发布VirtualizationTech技术规范2005年年5月月lAMD正式发布Pacifica技术规范2005年年12月月lXen3.0发布、正式支持IntelVT技术2006年年2月月lVMWareWorkspace/GSXServer免费2006年年2007年年lIntel、AMD支持VT的芯片全面上市l微软VirtualServer2005R2SP1发布,支持VT技术l微软下一代操作系统Vista发布,内置Hypervisorx86虚拟化技术发展虚拟化名人堂EricTraut发明VirtualPC,DynamicRecompilingStandford学士MicrosoftDistinguishEngineer39MendelRosenblumVMWareco-founder,首席科学家Standford教授SimOS常见虚拟机(Hypervisor)项目BochsKVMVirtualBoxHyper-VServer2008R2WindowsVirtualPCVMwareESXServerXenz/VMzLPARs40http:

/en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines内容提要3.1云计算和虚拟化3.2虚拟化技术发展简史3.3系统虚拟化技术系统虚拟化技术3.4虚拟化技术应用为什么“基于虚拟机”?

RunWindows7inVMunderMacOSXButlerLampson(1992)AllproblemsinComputerSciencecanbesolvedbyanotherlevelofindirection虚拟化分类编程语言层虚拟机(Java)API层虚拟机(Cygwin,VNC)操作系统层虚拟机(LinuxVServer,UML)硬件层虚拟机(XEN,KVM,VMWare,Qemu)虚拟机的特点44Selft-ManagableSelft-ManagableMigrationMigrationPartitioningPartitioningEncapsulationEncapsulationIsolationIsolationVirtualMachine45系统虚拟化技术是虚拟化是在“硬件”和“软件”之间的一种抽象主要的优势:

封装、隔离、灵活、便于迁移有效提高系统可控可管能力增强系统可信保障能力核心:

虚拟机监控器(VMM)由于硬件提供的虚拟化支持,虚拟化后的性能开销可控追求的目标:

轻载、高效PopekandGoldbergvirtualizationrequirements虚拟机监视器(VirtualMachineMonitor,VMM)是一个软件,用于提供虚拟机的抽象(Abstraction)。

等价性一个运行于VMM下的程序,其行为应与直接运行于等价物理机上的同程序的行为完全一致。

资源控制VMM对虚拟资源进行完全控制。

效率性机器指令中经常使用的那一部分应在没有VMM干预下执行。

46http:

/en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirementsGeraldJ.PopekandRobertP.Goldberg(1974).FormalRequirementsforVirtualizableThirdGenerationArchitectures.CommunicationsoftheACM17(7):

412421.Virtualizationrequirements定理定理1:

对于任何传统的第三代计算机,只要其敏感指令是优先级指令的一个子集,就可以为其建立VMM。

理解:

理解:

欲构造一个VMM,其充分条件是所有可能影响VMM正常工作的指令(即敏感指令)能够自陷并将控制权移交给VMM。

这就保证了资源控制;非特权指令则必须(可以)被本地(物理机)执行也就是更有效率地执行。

等价性也得到满足。

47硬件层虚拟机半虚拟化技术(Xen)需要修改客户机操作系统Hypercall机制完全虚拟化技术(KVM)硬件辅助(hardware-assist)虚拟化IntelVT,AMDSVMXenhvm,KVMAddring-1动态指令转换虚拟化扫描指令流识别敏感指令跳转到等价的模拟指令IntelVT技术(KVM采用)Xen半虚拟化技术虚拟什么?

49计算I/O存储未虚拟化(Native)Ring0运行特权指令;Ring3运行非特权指令虚拟化半虚拟化Xen:

将Guestkernel移到ring1硬件完全虚拟化:

KvmHypervisor运行在ring-130本地(未虚拟化)310TheGuestismovedtoring1半虚拟化ApplicationsGuestkernel(dom0anddomU)Hypervisor30硬件完全虚拟化TheHypervisorismovedtoring-1,gueststillruninring0CPU虚拟化MemoryVirtualizationForVM物理地址起始位置都是0,且是连续的IthasfullcontrolovermemoryForVMM(machine)Itseeshardwareaddress,butthereisonlyone“address0”Mustvirtualizeshardwarememoryto“fool”VMsMustprotectitselffromVMResponsibleforallocatingandmanagingmemoryVMaddressingGVA-GPA-HPAKeyIssuesMaintainGPAHPAmappingInterceptguestaccesstoGPA,andtranslateitVM1VM2HardwarePhysicalAddressVirtualAddresstoPhysicalAddress非虚拟环境下的地址转换ShadowPageTableVirtualMMUforguestVMGuestpagetablewillbeloadedtovMMUShadowpagetablewillbeloadedpMMU,usedbyCPUSyncSPTandGPTGuestPageTablesaredy

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2