作者ggg12345 (ggg)
看板Programming
标题Re: [请益] Cambridge VM/XEN 是 Killer AP 吗 ?
时间Thu May 24 09:28:10 2007
※ 引述《[email protected] (Bug J.)》之铭言:
: ==> 在 [email protected] (ggg) 的文章中提到:
: > Cambridge 去说服 Intel 与 AMD 改良 CPU
: > 的 Virtual Architecture , 两家都出了配合此功能的 CPU .
: > 不碰 MicroSoft 的 OS code 全然照跑不误.
: 这一段话就很怪了,intel推出的功能,不管是Xen、VMware...都可以用
: 但都需要都需要重写,而其实Intel所新加入的功能,
: 在以前的IBM的CPU就有了,实际上是来看由於CPU效能的提升没处用,
: 加上近几年就有很多paper是再讨论VM的东西,
: 因此要走到VM的架构是一种相当可能的趋势,Intel也才会跟进
XEN 只对 Intel-VT 与 AMD-V 系列的 CPU 才会支援 MicroSoft OS 的
virtualization. 应该是不改 MicroSoft OS 的核心.
: > IBM VM 最出名的例子就是让 360 之前的 CPU (如 7XXX) 上
: > 的 OS 与 AP 都可在不同指令的 IBM 360 上执行, 所以让 360
: > 继承了众多原先发展的软体, 得到相容 re-use 的优势.
: > 不过, XEN/VM 需要衔接上下两层软体, 所以 paravirtualization
: > 是类似用改 binary code 的方法做衔接, 也就是类似台湾最熟悉的
: > 拦截, 转向, 再接回的插接方法. 若不这样做, 就是用硬体配合,
: > Intel-VT , AMD-V 都是配合做的硬体.
: XEN改binary code?VMWare才是吧,Xen是改source code,
谢谢更正, XEN 只改 source code.
Vmware 会改所在宿主 os (下层)与寄居 os (上层)的核心, 改的方式可
以透过 source , 若没有 source 就用 binary code. MicroSoft 不公开
其 source code 因此对 Vmware 颇有意见, 也另买一家公司与之对抗.
XEN 提供其用 source 改过的 宿主 OS , 其宿主 OS 与寄居 OS 原来都
没有 MicroSoft OS , 但若用 Intel-VT 与 AMD-V 的 CPU 就能支援寄居
OS (上层) 迳自使用 MicroSoft 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)或
宿主 OS 核心(最先掌控者), 再由之转到 VMware 或 XEN 支援虚拟化的中转层软
体, 最後又转到宿主请其做实体动作, 最後又回到寄居 OS 的核心.
ParaVirtualization 原来是更改宿主与寄居 OS 核心, 改写寄居 os 敏感指令为
片段程式码使之不必经过硬体拦截而是迳自衔接底层对应段来回. 软体迳自衔接
当然是比多绕一圈的 VM386 硬体拦截速度快, 但 Intel-VT 与 AMD-V 是在 VM86
之外另提供一个额外的最底层拦截点, 概念上变成为可调整目的地的快速开关转接
点, 虽不是最短的迳自衔接, 但能快速转接. 主要的好处就是可以不必改寄居 OS
(最上层)的核心.
: > Intel 如果再进一步配合开放 micro-code 达到 customer
: > MicroProgrammable 的境界时, 会不会让硬体 "相容" 发挥作用
: > 使软体的可移植性更高 ?
: > 这会是 Killer Technology 吗 ? 还有这是软体引导硬体,
: > 改良与弭补硬体的功能特性吧 !
: 软体引导硬体...我个人反倒觉得是市场趋势影响,如果这算是软体引导硬体,
: 那或许是吧。
: 会不会是killer?感觉不会....,但是根据IDC和AFC这两年的预测,
: 在2010年会有超过70%的server是用virtual machine或是grid的架构
这应该是纯脆只就 VM (XEN/Vmware) 与 Intel-VT , AMD-V 带来的迁移方便性
而言. 如果, Client/server 端都利用 异质CPU 与 VM 技术使得 X86 电脑能快
速模拟执行异质 CPU 指令, 状况就会因 X86 的用户数量而改观.
:
> 这种技术可以用在 non-x86 cpu 吗 ? 这需要硬体改甚麽 ?
: > 可以外挂吗 ?
: Why not? IBM早有了
486 CPU 支援硬体的 浮点运算器 FPU , 有挂与不挂都是全透通衔接, 不挂
会自动跑到对应的软体做模拟, VM 里的 Virtual I/O 就像可插拔的 FPU ,
可以动态的挂上去支援或拔除, 拔除时就跳转到对应的软体做虚拟 I/O , 如
果这不是 FPU 而是异质的 CPU, 会让 PC 回生所有的老爷软体(如电玩)吗 ?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.5.5