2010年9月24日 星期五

Quantifying Performance Properties of Virtual Machine 的關鍵字義瞭解

課程:45101論文研討(一)
日期:99年9月24日
時間:13:50~15:40
地點:S401
編輯:資工產碩一張金燦


Quantifying Performance Properties of Virtual Machine-的關鍵字義瞭解

果然是不一樣,今天聽研二的前輩們做的論文研究探討,真的有霧煞煞的感覺,下課後趕緊回家找資料研讀一下,既然霧茫茫了,以前只知道有VM,在架設Linux時以曾跑過KVM,但就是不懂,真的只能如老師說的先就關鍵字的部分,來看看自己能吸收多少囉!

首先當然是就虛擬機器的用語-Hypervisor作瞭解(前輩好像要提,可是最後還是沒提到):

什麼是 Hypervisor,指的是虛擬化的平台,也就是可以讓兩個或多個的作業系統共用同一部電腦的監督程式:
1. 能在主機執行多種的作業系統(OS)。
2. 為每一虛擬機器提供獨立的執行環境。
3. 管理介於虛擬機器Guest OS與主機底層的硬體資源。

現有 Virtualization 的區分,共有三種模式:

1. Fully Virtualization:透過純粹的軟體模擬硬體的方式,再讓Guest OS在虛擬的硬體上運作的方式,主要就是透過Binary translation的方式作為虛擬與真實硬體間的溝通,其效能較差。

2. Para-virtualization:準虛擬化,需要修改客戶端的OS,以取得更高的執行效率。會採用這樣的技術係因早前的CPU設計的關係,衍生出修改Guest OS的方法,使得VM在執行應用程式時,就不用再花時間檢查程式碼,以提高執行的效能,但是其最大的缺點在修改Guest OS,在GNU的架構下的還好解決,如果是封閉式的,如MS的話就只能期待MS的修改了。

3. Native Virtualization(Hardware-Assisted-Virtualization):Intel VT-X以及 AMD-V就是由Intel以及AMD對新的x86 CPU硬體做修改,以符合VM架構的要求;在這種架構的電腦上跑VM的話,就不再需要Para-virtualization對Guest

OS的修改,也不需要Fully Virtualization對執行程式做程式碼的檢查了,可以說是完全的VM了。


Hypervisor的型態:
1. Hypervisor直接架構在底層硬體之上,不是在實體電腦的作業系統中

  VM1   VM2
  ----- -----
  Hypervisor
  ------------
   Hardware

2. Hypervisor架構在作業系統之上,由作業系統管理VM的運作

  VM1   VM2
  ----- -----
  Hypervisor
  ------------

    OS
  ------------
   Hardware

根據Hypervisor搭配核心的不同,分有:Monolithic hypervisor以及Microkernel hypervisor兩種,Monolithic hypervisor主要係將對應的Driver架構於Hypervisor中,在同一部電腦中架構出多少個VM,在Hypervisor就會相對應的Driver被建構出來,如此Hypervisor的運作會比較頻繁。而Microkerne Hypervisor則建構於Hypervisor上之VM中,也就是Driver在虛擬環境中直接使用,使得Hypervisor的使用上會更穩定。



網站參考:
paper: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4732162
http://www.dotblogs.com.tw/nel/archive/2010/06/01/15542.aspx
http://en.wikipedia.org/wiki/Virtualization
http://oasis.csie.ntu.edu.tw/2009_fall_network/slides/45.docx (Server Farm with Virtualization)
http://www.syscom.com.tw/Industry_Observation_Detail.aspx?EPAID=44 (鄭健忠前輩的發表文章)

沒有留言:

張貼留言