RSS订阅
RSS订阅TT服务器

全面分析微软虚拟化技术Hyper-V(下)

2008-8-28  选择字号:  | |
打印本文章

导读:Hyper-V一个关于性能的重要特性:多处理器虚拟机,在Windows Server 2008内核以及Hyper-V Hypervisor中加入了一个创新设计,尽可能防止出现自旋锁的长时间等待条件。

关键词:Hyper-V 多处理器 虚拟机 自旋锁

正在加载数据...

  Hyper-V还具有一个关于性能的重要特性:多处理器虚拟机,Hyper-V支持4 CPU的Windows Server 2008虚拟机,和2 CPU的Windows Server 2003虚拟机。多处理器虚拟机并不是Hyper-V才具有的特性,VMware的ESX Server早已经实现4 CPU的虚拟机,并且是在各种操作系统下(WMware Workstation也能提供2 CPU的虚拟机)。

  如果服务器工作负载需要很高的性能,我们可以考虑使用多处理器的虚拟机。数据库服务器可以消耗掉大量的处理器资源,这时,多处理器虚拟机就是很必须的,就像我们做过的测试那样。当然,只有当工作负载确实需要的时候,才应该使用多处理器虚机,因为管理更多的处理器会带来一些额外的开销。就像早期Window NT具有单处理器和多处理器两种内核一样(单处理器版本去掉了一些多处理器才有的如同步之类的模块,并作了相关优化)。

Hyper-V

  进程状态及其转换示意图,进程的就在这些状态之间“旋转”

  众所周知,为了保护共享数据,需要一些同步机制,例如锁、信号量等。通常,多处理器操作系统内核和驱动会采用自旋锁(Spin Lock,类似于互斥锁,但是保持时间更短。更详细的信息可以参考《Windows Internals》第四版,P152)的机制,在获得自旋锁之前,线程并不会阻塞,而是一直处于自旋状态,前提是自旋锁只会保持很短的时间。然而在虚拟化条件下,这个前提会被打破,因为虚拟处理器是按照时间片进行调度的。如果在保持自旋锁的时候竞争虚拟处理器,则其他虚拟处理器就要自旋很长时间,导致CPU循环的浪费。

  在Windows Server 2008内核以及Hyper-V Hypervisor中加入了一个创新设计,尽可能防止出现自旋锁的长时间等待条件,如果确实存在长时间等待条件,也会有效地加以检测并对其进行处理。这个方法叫做自旋锁启发方法,未实现自旋锁启发方法的虚拟机系统将停在一个紧凑循环上旋转以等待其他虚拟处理器释放自旋锁,通常这个旋转可能会阻塞其中一个硬件CPU,从而降低虚拟化性能。而在自旋锁启发式操作系统中,自旋锁代码会在将要发生旋转时通过Hypercall API通知Hyper-V Hypervisor管理程序,这样Hypervisoer管理程序就可以立即调度执行另一个虚拟处理器并降低不必要的CPU使用。Hyper-V还在调度程序和内存虚拟化逻辑上进行了优化以使它们在大多数临界区中都不会被锁定,从而确保多处理器系统能够获得很好的延展性。

  在前些天的媒体测试见面会上,微软中国的工程师展示了Hyper-V虚拟机的效率,表明4 CPU的Windows Server 2008虚拟机,其延展性可以和物理4 CPU系统一较高下。当然,具体的提升仍然需要通过测试来评估。

  注:自旋锁启发方法其实不完全是Hyper-V的内容,它更多是Windows Server 2008的核心内容。Vista也实现了这个自旋锁启发方法。

  不知不觉间说了很多显得有些深涩的内容,不过Hyper-V的特点总结起来就是:VT/AMD-V实现、微内核设计、VSP/VSC虚拟设备驱动架构以及虚拟处理器自旋锁启发架构,这些特性糅合在一起就形成了独特的Hyper-V。此外,28美元的价格(或者,购买Windows Server 2008:免费)也很值得一提。

服务器虚拟化

  微软服务器虚拟化战略的里程碑:Hyper-V

  更好的性能、更广泛的兼容性、更强的安全性,以及更便宜——这就是Hyper-V,从2003年收购Connetix后就沉寂的微软并没有睡着。从最早的Terminal Services,到早期的Virtual PC、Virtual Server、SoftGrid,到今天Hyper-V的推出,这些看似不经意的动作,现在看来均是为其全面的虚拟化战略实施做铺垫。而经过这样一系列的铺垫,微软从数据中心到桌面虚拟化、全面的端到端的虚拟化战略已经正式部署完毕,我们已经可以看到,虚拟化市场即将到来的一场暴风雨。


详解Hyper-V技术
 全面分析微软虚拟化技术Hyper-V(中)
 全面分析微软虚拟化技术Hyper-V(下)
 全面分析微软虚拟化技术Hyper-V(上)

原文出处:http://server.it168.com/a2008/0822/201/000000201492.shtml
来源:IT168    作者:Lucifer    
相关的专家答疑
如何创建一台基于Linux内核的虚拟机或者KVM?如何安装Windows和Ubuntu作为KVM虚拟环境里的虚拟操作系统?
由于虚拟化进入了服务器环境,这个新技术在把服务器变得更可靠的同时,使备份明显变得更复杂了。
虚拟化技术走到今天,其实已经到了一个亟需变革的时代。而微软的Hyper-V则成为了撬动这个变革的一个关键支撑点。
当微软对一个Hyper-V Server安装不要求服务器许可证和客户系统访问许可证(CAL)时,它如何与VMware更少的操作系统进行竞争?
在“服务器管理器”或者“Hyper-V管理器”中,可以很方便地对虚拟机进行管理。那添加虚拟硬盘的方法有哪些呢?
ESX是性能比较稳定的虚拟化产品,但是也存在一些安全漏洞。ESXi是VMware免费嵌入式hypervisor,它也存在安全缺陷。对于这两款产品,我们该如何安全地管理它们?本指南将从网络和管理方面入手,提供一些实用技巧。
在前面的专题“Hyper-V指南”中,我们探讨了Hyper-V的虚拟架构、系统要求及与其他产品之间的竞争。在本指南中,我们将具体描述如何管理Hyper-V、如何对Hyper-V备份以及如何进行性能优化等。
在之前的专题里,我们学习了如何运行ESX Server以及它与免费的VMware Server的比较。在本专题中,我们将详细描述VMware ESX Server子操作系统性能的技巧。
最新更新
专家答疑
技巧
Anil Desai
你推荐使用虚拟机优化器吗?使用的时候需要注意哪些情况呢?我没有你所提的虚拟机优化器产品的任何经验,我询问了……
Joe Foran
当谈及Xen时,我会听到如准虚拟化、hypervisor和HVM。这些术语到底是什么意思?简而言之,它们是描述Xen如何运行的结构条款。不像……
Serdar Yegulalp
无论何时我使用Virtual Server的虚拟机远程控制客户端,都会碰到许多问题,如远程机滞后或重复击键或不响应。我该怎么办?