Re: [請益] Cambridge VM/XEN 是 Killer AP 嗎 ?
==> 在 ggg12345.bbs@ptt.cc (ggg) 的文章中提到:
> ※ 引述《mingchieh.bbs@bbs.cis.nctu.edu.tw (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過去就好了,不是嗎?
另外,關於你的標題裡的"Kill AP",這裡的AP應該是「應用程式」吧?
XEN算是AP嗎.....
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
討論串 (同標題文章)
完整討論串 (本文為第 4 之 22 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章