看板Programming
标 题Re: [请益] Cambridge VM/XEN 是 Killer AP 吗 ?
发信站交大资科_BBS (Thu May 24 12:27:16 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!cis_nctu
==> 在 [email protected] (ggg) 的文章中提到:
> ※ 引述《[email protected] (Bug J.)》之铭言:
> : 这一段话就很怪了,intel推出的功能,不管是Xen、VMware...都可以用
> : 但都需要都需要重写,而其实Intel所新加入的功能,
> : 在以前的IBM的CPU就有了,实际上是来看由於CPU效能的提升没处用,
> : 加上近几年就有很多paper是再讨论VM的东西,
> : 因此要走到VM的架构是一种相当可能的趋势,Intel也才会跟进
> XEN 只对 Intel-VT 与 AMD-V 系列的 CPU 才会支援 MicroSoft OS 的
> virtualization. 应该是不改 MicroSoft OS 的核心.
没错,这是在HVM的架构下才可能不改source code、binary而支援,
但是XEN在初期的设计理念上,就是想利用「只」改hardware相关的
source code而让提升传统让人诟病的效能问题,
所以要「不改code支援」这和最初的理念本来就不同
也才会有最初在「没有开放WINDOWS SOURCE的状况下」,windwos不能跑在
Xen上的的问题
如果当初XEN在设计上就是要full virtualization,那就不会有这样的问题
> : XEN改binary code?VMWare才是吧,Xen是改source code,
> 谢谢更正, XEN 只改 source code.
> Vmware 会改所在宿主 os (下层)与寄居 os (上层)的核心, 改的方式可
这句话还是错的,VMware提供了多种版本的Virtual machine,
你讲的那一种,是他的Workstation系列,
ESX系列的不用接host OS(你所谓的宿主),而是把ESX server直接装在bare machine,
(参考
http://www.vmware.com/products/vi/esx/)
> 以透过 source , 若没有 source 就用 binary code. MicroSoft 不公开
> 其 source code 因此对 Vmware 颇有意见, 也另买一家公司与之对抗.
> XEN 提供其用 source 改过的 宿主 OS , 其宿主 OS 与寄居 OS 原来都
> 没有 MicroSoft OS , 但若用 Intel-VT 与 AMD-V 的 CPU 就能支援寄居
> OS (上层) 迳自使用 MicroSoft OS.
你所谓的「宿主OS」,应该叫host OS,而寄居OS,应该叫「guest OS」
如果你的要求是「不改source code」,那目前VMWare已经做到了,
如果你要求还要加上「不改binary」,那麽的确在X86系统里,
必须有VT或是V才行,理由很简单,因为X86原本得设计就没有考量到
virtualization的状况,例如他有相当多的sentive instruction,
不是priviledge instruction,造成即使你是ghost OS,
还是可以直接抓到不应该知道的「实际资料」
> : 他把hardware相关的code改掉了,也因为他是「有OS支援」,
> : 所以才会比VMWare快,而因为他改了OS的下层所以叫"para"-virtualization
> : (这里不讨论HVM的架构),VMWare则是改runtime改binary,因此你在装的时候,
> : 不需要拿到「专门为VMWare改过的OS」,任何现存的OS可以直接RUN,
> : 这样是叫full virtualization,两个优缺点很明显可以从上面看出来
> : 而以现今intel和AMD对HVM的支援,要达到full virtualization的确相对简单多,
> : 但是不代表他速度会比para-virtualization快,实际上还是有paper提出,
> : 以目前Intel/AMD所提供的能力,实际上你用软体技术反而还有更好的效能
> : 请参考
> : Keith Adams and Ole Agesen在上年的ASPLOS '06所提出的论文
> : A COMPARISON OF SOFTWARE AND HARDWARE TECHNIQUES FOR X86 VIRTUALIZATION
> 谢谢这个回应.
> 透过 386 VM 硬体拦截敏感指令就会先跑到最底层的 VM Mornitor (BIOS ROM)或
VMM和BIOS ROM是不搭嘎的东西,为什麽会放在一起?不能理解....
> 宿主 OS 核心(最先掌控者), 再由之转到 VMware 或 XEN 支援虚拟化的中转层软
> 体, 最後又转到宿主请其做实体动作, 最後又回到寄居 OS 的核心.
> ParaVirtualization 原来是更改宿主与寄居 OS 核心, 改写寄居 os 敏感指令为
> 片段程式码使之不必经过硬体拦截而是迳自衔接底层对应段来回. 软体迳自衔接
> 当然是比多绕一圈的 VM386 硬体拦截速度快, 但 Intel-VT 与 AMD-V 是在 VM86
> 之外另提供一个额外的最底层拦截点, 概念上变成为可调整目的地的快速开关转接
> 点, 虽不是最短的迳自衔接, 但能快速转接. 主要的好处就是可以不必改寄居 OS
> (最上层)的核心.
> : 软体引导硬体...我个人反倒觉得是市场趋势影响,如果这算是软体引导硬体,
> : 那或许是吧。
> : 会不会是killer?感觉不会....,但是根据IDC和AFC这两年的预测,
> : 在2010年会有超过70%的server是用virtual machine或是grid的架构
> 这应该是纯脆只就 VM (XEN/Vmware) 与 Intel-VT , AMD-V 带来的迁移方便性
> 而言. 如果, Client/server 端都利用 异质CPU 与 VM 技术使得 X86 电脑能快
依据目前很多地方的统计,你讲因该是他们最不需要的答案....
由企业角度来看
很多台古老的实体机器 和 一台有很多VM同时在上面RUN的机器 成本上那个比较低?
那个管理比较方便?请以空间、耗电、散热、管理等方面来看整体考量
又 如果企业里给员工用的PC,实际上都有一个管理专用的VM在跑,
而另外一个VM才是真的给员工用的,这时如果员工发现电脑有问题,
打电话给管理员,管理员就可以直接透过管理用的VM远端进来看状况,
这样以企业的角度来看,可以节省管理员的成本
> 速模拟执行异质 CPU 指令, 状况就会因 X86 的用户数量而改观.
执行异质CPU现在也有,但是不是X86,随便举一个是PowerPC,
他就是可以执行X86指令,但是他本身的ISA却不是X86的,
或是你可以查Trnasmeta的Crusoe CPU
> > 这种技术可以用在 non-x86 cpu 吗 ? 这需要硬体改甚麽 ?
> : Why not? IBM早有了
> 486 CPU 支援硬体的 浮点运算器 FPU , 有挂与不挂都是全透通衔接, 不挂
> 会自动跑到对应的软体做模拟, VM 里的 Virtual I/O 就像可插拔的 FPU ,
> 可以动态的挂上去支援或拔除, 拔除时就跳转到对应的软体做虚拟 I/O , 如
> 果这不是 FPU 而是异质的 CPU, 会让 PC 回生所有的老爷软体(如电玩)吗 ?
如果再不知道那个DEVICE的spec.的状况下,那没人可以模拟吧?
如果知道,软体摸拟後直接把DATA PASS过去就好了,不是吗?
另外,关於你的标题里的"Killer AP",这里的AP应该是「应用程式」吧?
XEN算是AP吗.....
--
* Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>