Re: [請益] Cambridge VM/XEN 是 Killer AP 嗎 ?
※ 引述《mingchieh.bbs@bbs.cis.nctu.edu.tw (Bug J.)》之銘言:
: ==> 在 ggg12345.bbs@ptt.cc (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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 22 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章