国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      分布式i/o資源虛擬化技術的實現(xiàn)方法

      文檔序號:6471031閱讀:199來源:國知局
      專利名稱:分布式i/o資源虛擬化技術的實現(xiàn)方法
      技術領域
      本發(fā)明主要涉及計算機虛擬化技術中的i/o虛擬化領域。主要采用最新的硬 件和軟件相結合的虛擬化技術,將分布于多主機的i/o資源進行虛擬化和整合,
      為上層客戶操作系統(tǒng)構建一個全局虛擬I/0空間,實現(xiàn)客戶操作系統(tǒng)對分布式1/0
      資源的全局管理和使用。屬于計算機技術領域。
      背景技術
      虛擬化的關鍵問題是如何處理客戶(Guest)操作系統(tǒng)中的敏感指令。不同的虛 擬化方法采取不同的處理方式,目前廣泛研究和使用的有三種方法-
      全虛擬化(Full-Virtualization)方法該方法提供了物理硬件的完整模擬, 采用軟件模擬技術處理敏感指令,在虛擬層中完整地構造一個和物理硬件相當的 環(huán)境,Guest操作系統(tǒng)可以不加任何修改地運行于虛擬環(huán)境中。該方法的優(yōu)點是 很明顯的,即Guest操作系統(tǒng)可以不加任何修改地在虛擬機上直接運行,同時也 具有很好的靈活性和擴展性。然而這種技術的缺陷也很明顯,最大的問題就是每 條特權指令的執(zhí)行都要引起用戶模式與特權模式的切換,導致虛擬機的運行效率 很低。典型的服務器虛擬化系統(tǒng)VMwareESXServer和IBM system/370都采用了 全虛擬化方法。
      半虛擬化(Para-Vi加alization)方法該方法通過修改Guest源代碼中涉及 到的敏感指令,用超級調用(hypercall)來代替特權指令,讓盡可能多的指令直 接運行在物理處理器上。典型的服務器虛擬化系統(tǒng)XEN成功地使用了部分虛擬化 方法。Xen通過用超級調用來"包裝"多條特權指令的執(zhí)行,Guest操作系統(tǒng)通 過超級調用讓VMM執(zhí)行特權指令,這樣就可以減少模式切換,提高執(zhí)行效率。 這個方法的效率可達到非虛擬化的常規(guī)執(zhí)行效率的90%以上,但是,為之付出的 代價也很大,需對Guest操作系統(tǒng)代碼進行相當大范圍的修改,移植成本較高, 而且隨著Guest操作系統(tǒng)的升級,其維護成本也很高。此外,將新處理器特性集 成到hypervisor API的代價也比完全虛擬化方法要大得多。
      預虛擬化(Pre-Virtualization)方法德國Karlsruhe大學、澳大利亞新南威
      3爾士大學和IBM共同提出了預虛擬化方法。這是一種提供工具支持的半自動 Guest系統(tǒng)構造方法,利用匯編器的支持,對Guest系統(tǒng)的代碼進行掃描,將其 中的部分特權指令進行靜態(tài)替換,對無法靜態(tài)處理的指令采用profile方法動態(tài) 地尋找并手工替換。這個方法的指導思想是采用編譯工具支持,盡可能地增加可 以直接執(zhí)行的指令,減少需要模擬的指令。采用這個方法基于微內核操作系統(tǒng) L4或者開源Linux構造虛擬機,可以運行經過靜態(tài)翻譯和人工修改的Linux Guest OS,其運行效率也可達到非虛擬化的常規(guī)執(zhí)行效率的90%以上。該方法中 Guest代碼需要人工干預的匯編級半自動掃描和替換修改,也就是說依然需要獲 得源代碼,至少是匯編代碼。
      近年來服務器取得了巨大的發(fā)展,從服務器體系結構的角度來看,商用服務 器呈現(xiàn)出兩個主流的發(fā)展方向,艮Pscale-up (向上擴展)和scale-out (向外擴展)。 所謂scale-up,通常是指將多個處理器和存儲器等系統(tǒng)資源緊密耦合在單個服務 器中,對其整體系統(tǒng)能力的擴展是通過在單個服務器中增加處理器和內存等資源 來實現(xiàn)。scale-up系統(tǒng)一般具有較大的共享內存空間、緊密耦合的內部連接等基 本特征,適于支持具有多個依賴性線程或進程的應用,如數據庫應用等。代表性 的體系結構包括SMP (Symmetric Multiprocessor) 、 NUMA(Non UniformMemory Access Architecture)及CC-NUMA(Coherent-CacheNUMA)等,典型的產品包括 IBM的p系列服務器、HP的Superdome系列服務器以及SUN的Fire E20K/E25K系列服務器等。 一般來說,scale-up系統(tǒng)可提供較高的性能和整機 效率、簡單易用的編程模型以及單一系統(tǒng)映像,具有較高的可編程性,易于管理 和維護,但存在成本偏高、可擴展性有限等缺點。
      所謂scale-out,通常是指將多臺小規(guī)模的中低端服務器松散連接成一個服務 器系統(tǒng),對其整體系統(tǒng)能力的擴展是通過在系統(tǒng)中增加相同或類似配置的中低端 服務器結點來實現(xiàn)。Scale-out系統(tǒng)一般具有分布的非共享內存空間、松散耦合 的外部連接等基本特征,適于支持具有多個非依賴性線程或進程的應用,如Web 應用等。代表性的體系結構包括Cluster (機群)、MPP (Massively ParallelProcessing)等,典型的產品主要是以低端X86服務器為結點,通過以太 網或Infiniband等商用網絡互連而成的機群服務器,如IBM的Cluster1350、深騰 6800及天梭10K/20K等。 一般來說,scale-out系統(tǒng)具有實現(xiàn)成本低、可擴展性 好等優(yōu)勢,但不支持單一系統(tǒng)映像,存在整機應用效率偏低、編程相對復雜、管 理和維護成本較高等問題。
      目前,從服務器體系結構的角度來看,服務器I/0虛擬化技術的發(fā)展也是基 于scale-up和scale-out這兩種趨勢,同時虛擬化技術目前是通過兩個方向來幫助服 務器更加合理地分配資源 一個方向是"分",即把一個物理的服務器虛擬成若干個獨立的邏輯服務器;另一個方向是"合",就是把若干個分散的物理服務器虛擬 為一個大的邏輯服務器。
      VMware和Xen分別采用全虛擬化(Full-Virtualization)和半虛擬化 (Para-Virtualization)技術。全虛擬化是在虛擬層中采用軟件完全模擬物理1/0 設備,但對每條特權指令的執(zhí)行都會引起用戶模式和特權模式的切換,導致1/0 訪問效率低下。半虛擬化通過修改Guest源代碼,用超級調用(hypercall)來代 替特權指令,讓盡可能多的指令直接運行在處理器上。這種方式雖然提高了1/0 訪問的效率,但卻需要對Guest操作系統(tǒng)代碼進行大范圍修改。VMware和Xen均 是虛擬單個物理I/0設備成多個邏輯I/0設備,與本論文的方向不同,但其為客戶 操作系統(tǒng)提供虛擬I/0設備信息的方式可以借鑒。同時,近期在Xen模型下進行直 接I/0訪問的研究也比較多,雖處于理論研究階段,本論文也可以借鑒。
      Virtual Multiprocessor項目是東京大學開發(fā)的基于IA-32機群的分布式 VMM, Virtual Multiprocessor采用了半虛擬化的技術,通過對客戶操作系統(tǒng)的修 改使其與Virtual Multiprocessor協(xié)作完成任務。Virtual Multiprocessor運行于用戶 態(tài),客戶操作系統(tǒng)的I/O設備均以文件的形式存放在宿主操作系統(tǒng)中。若要對物 理I/0設備進行訪問,則需要執(zhí)行宿主操作系統(tǒng)的系統(tǒng)調用,因而效率低下。整 個項目仍處于實驗室階段。
      vNUMA項目vNUMA是澳大利亞新南威爾士大學開發(fā)的基于IA-64機群的 分布式VMM,其直接運行于硬件層之上??蛻舨僮飨到y(tǒng)(Linux)通過半虛擬化的 方式與vNUMA協(xié)作。vNUMA的主要目標在于提供透明的分布式共享存儲用于 科學計算。vNUMA只能對啟動節(jié)點進行I/0操作,大大限制了其對大量I/0資 源的利用率,使得整個系統(tǒng)I/0能力低下。目前仍處于實驗室階段。
      硬件虛擬化技術隨著虛擬化技術研究的蓬勃興起和虛擬機應用快速普及, 為了占領此技術領域的優(yōu)勢地位,兩大處理器廠商Intel和AMD針對IA-32體系 架構的處理器進行了擴展,從硬件上支持虛擬化技術。Intel針對IA-32架構的硬 件虛擬化技術稱為VT-x (Virtual Technology), AMD針對IA-32架構的硬件虛擬 化技術稱為SVC (Safe Virtual Machine)。
      以Intel的VT-x為例,它對IA32體系結構進行了如下擴展。
      1、 增加了一種新的處理器工作模式,稱為VMX (Virtual Machine Extensions) 模式,用于運行虛擬機系統(tǒng)。其中又分為兩個子操作模式,即VMX根(root) 操作模式和VMX非根(not root)操作模式,VMX根操作模式用于運行VMM, VMX非根操作模式用于運行虛擬機VM,這兩種模式都能夠支持四個特權級
      (ring0-ring3)。
      2、 定義了兩種模式切換。由根模式進入非根模式的切換,稱為VM entry由非根模式進入根模式的切換,稱為VMexit。
      3、 增加一個控制結構VMCS (Virtual Machine Control Structure),用于保存 根模式和非根模式的上下文、控制虛擬機運行的相關信息以及控制VM entry和 VMexit過程的相關信息。
      4、 增加IO條用于控制虛擬機的新指令。
      通過配置VMCS可以實現(xiàn)所需的虛擬化策略,使得客戶軟件在執(zhí)行敏感指令 或發(fā)生異常時能夠切換到虛擬機監(jiān)控器VMM,由VMM根據退出原因相應地做 出處理。
      在VT-x技術支持下,可以簡化VMM的設計,可以在不使用二進制動態(tài)翻 譯技術的情況下,實現(xiàn)全虛擬化,即客戶操作系統(tǒng)和應用軟件可以不經修改地運 行于虛擬機中。

      發(fā)明內容
      1目的
      本發(fā)明的目的是提供一種分布式I/0資源虛擬化技術的實現(xiàn)方法,它是針對 近年來大規(guī)模計算機系統(tǒng)I/0資源管理復雜,使用效率低等局限因素,提出一種 有效管理和使用分布式I/O資源的方法。
      2技術方案
      本發(fā)明一種分布式I/0資源虛擬化技術的實現(xiàn)方法,其技術方案如下 分布式I/0資源虛擬化技術實現(xiàn)的是分布式虛擬機監(jiān)控(Distributed Virtual Machine Monitor)(簡稱DVMM)的一個子模塊。DVMM的整體邏輯視圖如圖l 所示,DVMM直接運行于向外擴展(scale-out)架構的硬件之上,為上層客戶操 作系統(tǒng)呈現(xiàn)具有向外擴展(scale-up)架構特性的虛擬機。DVMM的模塊結構圖 如圖2所示,DVMM的結構圖如圖2所示,圖中以兩個節(jié)點為例。DVMM主要包 括如下模塊初始化模塊,eBIOS模塊,指令集虛擬化模塊,1/0虛擬化模塊,中 斷虛擬化模塊,內存虛擬化模塊和通信模塊。
      .本發(fā)明主要實現(xiàn)DVMM中的I/0虛擬化模塊。1/0虛擬化模塊通過I/0虛擬化 技術,實現(xiàn)分布式I/0資源的整合,為客戶操作系統(tǒng)提供全局的虛擬I/0環(huán)境。同 時客戶操作系統(tǒng)不需要做任何修改。
      下面介紹分布式I/0資源虛擬化技術的具體實現(xiàn)方法,以后簡稱分布式I/0資 源虛擬化技術為系統(tǒng)。系統(tǒng)的實現(xiàn)用到了DVMM其他模塊的輔助,包括分布式共享內存(DSM)技術、DVMM的通信模塊和VT-x技術。DSM是DVMM的內存 虛擬化模塊實現(xiàn)的技術,通信模塊是建立在裸機之上的跨物理節(jié)點的通信機制, VT-x技術是指令集虛擬化模塊的所應用的技術,具體請見Intel技術手冊。
      系統(tǒng)的邏輯示意圖如圖3所示,圖中以兩個物理節(jié)點為例。系統(tǒng)中各個物理 節(jié)點機在邏輯上存在主次之分,圖3中左側為主節(jié)點,右側為從節(jié)點,主節(jié)點提 供虛擬的I/0設備模型,I/0設備模型用欽件模擬I/0設備資源呈現(xiàn)給上層客戶操作 系統(tǒng),同時通過設備驅動訪問主節(jié)點的物理I/0設備。系統(tǒng)在各個節(jié)點的實現(xiàn)架 構完全相同,僅是邏輯上存在主次之分,故系統(tǒng)可任選一物理節(jié)點設為主節(jié)點, 其它節(jié)點為從節(jié)點。
      在客戶操作系統(tǒng)運行過程中,當客戶操作系統(tǒng)在主節(jié)點執(zhí)行I/0指令時,直 接訪問主節(jié)點的I/0設備模型,當戶操作系統(tǒng)在從節(jié)點執(zhí)行I/0指令時,需要跨 節(jié)點訪問主節(jié)點的I/O設備模型。DSM技術掌控系統(tǒng)所有的訪存過程,根據這 種需求系統(tǒng)將對I/O設備的訪問分為以下三種指令
      (1) 非訪存類I/0指令即IN, OUT這兩種基于I/0端口訪問的非字符串 I/O指令,不需要訪存。通過DVMM通信模塊將指令發(fā)送到主節(jié)點執(zhí)行并返回 結果這種方式實現(xiàn)。
      (2) 訪存類I/O指令即INS, OUTS這兩種字符串I/O指令,以及對MMIO 進行訪問的需要訪問物理內存的匯編指令。通過DVMM的DSM模塊和通信模 塊輔助實現(xiàn)。
      G)DMA指令DMA控制指令是非字符串I/0指令,DMA指令執(zhí)行時存 在大量的訪存操作。故通過DVMM的DSM模塊和通信模塊輔助實現(xiàn)。 2.1分布式I/0資源虛擬化技術 本節(jié)介紹系統(tǒng)的具體實現(xiàn)結構。圖4以兩個物理節(jié)點為例介紹系統(tǒng)的整體實 現(xiàn)結構。
      如圖4所示,左側為主節(jié)點,右側為從節(jié)點。主從節(jié)點的模塊構件完全一樣, 只是執(zhí)行的具體流程不同。當客戶操作系統(tǒng)的設備驅動程序在主節(jié)點引起虛擬機 退出后,處理器進入根模式,虛擬機退出模塊保存虛擬機退出時的CPU狀態(tài)信 息,然后進行指令解析,將解析后的I/0操作指令信息保存在I/0請求(ioreq) 數據結構中。然后將ioreq直接交給主節(jié)點的I/O設備模型模塊,主節(jié)點的I/O 設備模型模塊根據ioreq中的信息對這個I/O指令進行模擬執(zhí)行,并且將指令返 回的信息保存在ioreq結構中,然后虛擬機進入模塊將ioreq結構中的信息更新 到虛擬機退出時的CPU狀態(tài)信息中,隨后進入虛擬機,處理器進入非根模式, 客戶操作系統(tǒng)繼續(xù)運行。
      當客戶操作系統(tǒng)在從節(jié)點引起虛擬機退出后,I/O虛擬化模塊將此I/O指令分成三類分別進行處理非訪存類I/O指令,訪存類I/O指令,DMA指令。后面 將會講到從節(jié)點處理這三類I/O指令的具體實現(xiàn)方式。 以下部分是各個子模塊的功能說明
      (1) 虛擬機退出
      當客戶操作系統(tǒng)執(zhí)行VT-x所定義的特權指令時,會引起VT-x陷入,處理器 從非根模式進入根模式。對于I/O虛擬化模塊,這些特權指令包括所有的對I/O 設備的訪問指令。PIO指令通過設置VT-x的捕獲指令條件來完成,MMIO訪問 指令通過影子頁表機制引發(fā)缺頁來進入根模式。VMCS結構會保存根操作和非根 操作的上下文、控制虛擬機運行的信息以及控制VM entry和VM exit的信息。 但這時需要對VM的cpu通用寄存器狀態(tài)信息進行保存。虛擬機退出模塊就是保 存cpu通用寄存器狀態(tài)信息到特定數據結構中。
      (2) 虛擬機進入
      虛擬機進入是虛擬機退出的一個相反過程,處理器從根模式返回到非根模式 時,需要將根模式運行中對cpu通用寄存器狀態(tài)信息進行的拷貝回客戶操作系統(tǒng) 中。具體實現(xiàn)與虛擬機退出模塊相同。
      (3) 指令解析
      指令解析模塊根據VT-x中虛擬機退出時所保存的VMCS結構和保存的cpu 通用寄存器狀態(tài)信息。從中讀取此次I/0操作指令的相關標志位,對此I/0指令 進行解析,并保存在ioreq數據結構中。ioreq結構包含一條I/O指令的基本信息, 具體結構與XEN3.2.0中ioreq數據結構相同。
      (4) 判斷主節(jié)點
      主節(jié)點和從節(jié)點DVMM 1/0虛擬化模塊的結構完全相同,僅是處理某些I/0 指令的執(zhí)行過程不同,故需要判斷節(jié)點是否為主節(jié)點,從而采取不同的處理方式 來處理I/0指令。
      判斷主節(jié)點是依據DVMM系統(tǒng)中eBIOS模塊在客戶操作系統(tǒng)啟動時提供的 全局資源表來完成的。
      (5) 1/0設備模型
      I/O設備模型模塊是用軟件完全模擬真實的物理設備,本系統(tǒng)中僅模擬一些最 基本的I/0設備,這包括BIOS, ACPI, APIC,硬盤,顯示器,鼠標,鍵盤, DMA控制器等設備??蛻舨僮飨到y(tǒng)可以向對真實物理設備訪問那樣訪問這些虛 擬設備??蛻舨僮飨到y(tǒng)僅能訪問到這些虛擬設備。同時I/0設備模型模塊還通過 設備驅動完成虛擬設備到真實物理設備的訪問過程。這個模塊主要借鑒了 XEN 設備模型的實現(xiàn)技術。
      下面介紹系統(tǒng)中三種I/O指令訪問模式的具體實現(xiàn)方式。2. 1.1非訪存類I/O指令訪問模式
      非訪存類I/O指令即IN, OUT這兩種基于I/O端口訪問的I/O指令。對于從 節(jié)點發(fā)起的i/o端口訪問,論文采用指令傳輸、遠程執(zhí)行、結果返回這種方式實 現(xiàn)從節(jié)點對主節(jié)點虛擬設備I/O端口的訪問。
      以兩個物理節(jié)點系統(tǒng)為例,非訪存類I/O指令訪問模式實現(xiàn)方案如圖5所示
      如上圖所示,左側為主節(jié)點,右側為從節(jié)點,從節(jié)點為請求節(jié)點。當客戶操 作系統(tǒng)引起從節(jié)點虛擬機退出后,將此指令解析并保存到ioreq結構中,然后調 用DVMM通信模塊將此ioreq結構發(fā)送到主節(jié)點。同時置遠程操作位。遠程操 作位的作用是,如果從節(jié)點未從主節(jié)點接收到此處理后ioreq結構,則從節(jié)點此 次I/0操作不能完成,虛擬機不能進入。
      主節(jié)點運行一個跨節(jié)點I/O請求服務例程,這個例程處理來自于各個從節(jié)點 的ioreq請求,并對不同的ioreq請求采取不同的處理措施,如非訪存類I/O指令 的ioreq請求和DMA的ioreq請求。
      對于非訪存類I/O指令的ioreq,主節(jié)點處理非訪存ioreq程序對此ioreq進行 模擬執(zhí)行,即對I/0設備模型中虛擬設備I/0端口進行訪問操作。將返回的數據 寫到ioreq結構中,同時將此ioreq結構發(fā)回請求節(jié)點。
      請求節(jié)點接受到此ioreq結構后,將此ioreq結構中客戶操作系統(tǒng)需要的信息 寫到CPU狀態(tài)信息保存結構中,然后引起虛擬機進入。此次從節(jié)點發(fā)起的非訪 存類I/0指令就執(zhí)行完成。
      2丄2訪存類I/O指令訪問模式
      訪存類I/O指令即INS, OUTS這兩種字符串I/O指令,以及以MMIO方 式進行訪問時需要訪問MMIO物理內存的匯編指令。
      因為系統(tǒng)中所有對于內存的訪問均由DSM統(tǒng)籌處理,所以訪存類I/O指令執(zhí) 行時必須經過DSM。圖6為從節(jié)點發(fā)起的一個訪存類I/O指令的執(zhí)行過程
      如圖6所示,當客戶操作系統(tǒng)引起從節(jié)點虛擬機退出后,解析此訪存類I/O 指令。發(fā)送DSM請求,此請求主要是讓DSM將所要訪問的頁面定住(pin), 防止DSM將此頁面遷往其他節(jié)點,或者其他節(jié)點的程序訪問此頁面。
      當DSM模塊pin住此頁面之后,處理訪存ioreq模塊會執(zhí)行此訪存I/O指令, 訪問I/O設備模型的虛擬設備I/O內存,同樣將對cpu狀態(tài)信息的修改保存在ioreq 結構中,然后請求DSM執(zhí)行unpin操作,解除對頁面的pin。隨后將ioreq結構 中的信息更新到CPU狀態(tài)信息保存結構中,然后引起虛擬機進入。這次訪存I/0 指令就執(zhí)行完畢。
      DSM在pin和unpin頁面的過程中,有可能需要訪問的頁面不在本地,如圖 5所示,DSM需要pin的虛擬內存的頁面在主節(jié)點物理內存上。對于這種情況,DSM會調用DVMM通信模塊,將主節(jié)點物理內存的目標頁面拷貝到請求節(jié)點 物理內存中,然后I/O設備模型就可以對此頁面進行訪問了。這個過程是由DSM 完成的,論文實現(xiàn)模塊不需要關心這個過程,只需要調用DSM定義的接口就行。
      因為對于跨節(jié)點物理內存的訪問等問題均由DSM解決,所以對于訪存類1/0 指令的執(zhí)行過程來說,主節(jié)點和從節(jié)點均一樣。
      2丄3 DMA指令訪問模式I/O指令
      本文所指的DMA指令主要是IDE硬盤的DMA指令。DMA控制指令也是非 字符串I/O指令,DMA執(zhí)行過程中需要大量訪存操作。圖7示意了從節(jié)點發(fā)起 的一個IDE DMA指令的執(zhí)行過程
      如圖示從節(jié)點發(fā)起一個IDEDMA指令,主節(jié)點的跨節(jié)點I/0請求服務例程 接收到這個DMA ioreq之后,調用主節(jié)點處理DMA ioreq模塊進行處理。然后 IDE DMA處理模塊被調用執(zhí)行。
      IDE DMA處理模塊訪問I/O設備模型,將主節(jié)點物理IDE硬盤的目標數據拷 貝到I/O設備模型的虛擬IDE硬盤DMA緩沖區(qū)中,然后將此緩沖區(qū)中的數據拷 貝到客戶操作系統(tǒng)運行的虛擬內存的目標區(qū)域中。隨后發(fā)送此DMA ioreq發(fā)送 回請求節(jié)點,更新CPU相關信息。隨后引起請求節(jié)點虛擬機進入,結束此次跨 節(jié)點的IDE DMA指令操作。
      IDE DMA處理模塊在將虛擬IDE硬盤DMA緩沖區(qū)中的數據拷貝到虛擬內存 的過程中,需要請求DSM模塊pin住目標虛擬內存區(qū)域,此操作完成之后,同 樣需要unpin此虛擬內存區(qū)域。
      綜上所述,本發(fā)明一種分布式I/0資源虛擬化技術的實現(xiàn)方法,其具體步驟
      如下-
      步驟一實現(xiàn)分布式虛擬機監(jiān)視器系統(tǒng)DVMM中的I/0虛擬化模塊??傮w系統(tǒng)的 實現(xiàn)平臺是聯(lián)想萬全R510服務器,處理器為Xeon3230。
      步驟二總體結構中的基本功能模塊包括虛擬機退出,虛擬機進入,指令解析, 判斷主節(jié)點,I/O設備模型。這些模塊實現(xiàn)過程中用到的現(xiàn)有技術如VT-x, DSM, XEN虛擬化技術;輔助技術為可以在裸機之上的跨物理節(jié)點的通信機制。 步驟三在以上基本功能模塊的基礎上實現(xiàn)三種基本的I/0訪問方式非訪存類 1/0指令,訪存類I/0指令,DMA指令。主要技術點在這三種訪問方式的跨節(jié)點 過程是怎么完成的。
      步驟四三種基本的I/0指令訪問的跨節(jié)點實現(xiàn)方式 *非訪存類I/0指令主要技術步驟為請求節(jié)點將指令通過底層通信傳輸到目標節(jié)點,然后在目
      標節(jié)點執(zhí)行指令,隨后將執(zhí)行結果返回給請求節(jié)點。 *訪存類I/0指令
      主要技術步驟為解析訪存類I/0指令,分析出需要訪問的內存地址,如果
      此次訪存需要跨節(jié)點,則調用DSM將需要訪問的內存遷移到請求節(jié)點,這
      樣進行節(jié)點內部訪問 * DMA指令
      主要技術步驟為對于DMA控制器的訪問指令為非訪存類I/0指令,請求
      節(jié)點采用上述方法將指令傳輸到目標節(jié)點執(zhí)行并返回結果;控制指令給
      DMA控制器發(fā)出內存訪問操作命令,DMA控制器需要從設備向內存寫大量 數據,這個過程同樣需要調用DSM進行內存的操作,方式與上述訪存類1/0 指令相同。
      本發(fā)明主要實現(xiàn)DVMM中的I/0虛擬化模塊。1/0虛擬化模塊通過I/0虛擬化 技術,實現(xiàn)分布式I/0資源的整合,為客戶操作系統(tǒng)提供全局的虛擬I/0環(huán)境。同 時客戶操作系統(tǒng)不需要做任何修改。
      3優(yōu)點與功效
      有效的管理和利用大規(guī)模的計算機系統(tǒng)的I/O資源,可以提高系統(tǒng)的整體性 能,減少系統(tǒng)I/0資源浪費,同時減輕系統(tǒng)的運行和維護成本,提高系統(tǒng)可用性。 本文所述分布式I/O資源訪問的方法,可以實現(xiàn)客戶操作系統(tǒng)對分布式I/O資源 對全局的、有效的管理和利用,同時探索一條未來服務器中I/0技術發(fā)展的可行 道路。


      圖l整個系統(tǒng)結構示意圖
      圖2兩節(jié)點的DVMM模塊示意圖
      圖3分布式I/0資源虛擬化邏輯示意圖
      圖4分布式I/0資源虛擬化實現(xiàn)結構示意圖
      圖5非訪存類I/O指令訪問模式實現(xiàn)方案示意圖
      圖6訪存類I/O指令訪問模式實現(xiàn)方案示意圖
      圖7 DMA指令訪問模式實現(xiàn)方案示意圖具體實施例方式
      見圖l、圖2、圖3、圖4、圖5、圖6、圖7所示,其具體實施步驟如下-步驟一實現(xiàn)分布式虛擬機監(jiān)視器系統(tǒng)DVMM中的I/0虛擬化模塊,總體系統(tǒng) 的實現(xiàn)平臺是聯(lián)想萬全R510服務器,處理器為Xeon3230。 步驟二總體結構中的基本功能模塊包括虛擬機退出,虛擬機進入,指令解析, 判斷主節(jié)點,I/O設備模型。這些模塊實現(xiàn)過程中用到的現(xiàn)有技術如VT-x, DSM, XEN虛擬化技術;輔助技術為可以在裸機之上的跨物理節(jié)點的通信機制。 步驟三在以上基本功能模塊的基礎上實現(xiàn)三種基本的I/0訪問方式非訪存類 1/0指令,訪存類I/0指令,DMA指令。主要技術點在這三種訪問方式的跨節(jié)點 過程是怎么完成的。
      步驟四三種基本的I/0指令訪問的跨節(jié)點實現(xiàn)方式 *非訪存類I/0指令
      主要技術步驟為請求節(jié)點將指令通過底層通信傳輸到目標節(jié)點,然后在目
      標節(jié)點執(zhí)行指令,隨后將執(zhí)行結果返回給請求節(jié)點。 *訪存類I/0指令
      主要技術步驟為解析訪存類I/0指令,分析出需要訪問的內存地址,如果
      此次訪存需要跨節(jié)點,則調用DSM將需要訪問的內存遷移到請求節(jié)點,這
      樣進行節(jié)點內部訪問 * DMA指令
      主要技術步驟為對于DMA控制器的訪問指令為非訪存類I/0指令,請求 節(jié)點采用上述方法將指令傳輸到目標節(jié)點執(zhí)行并返回結果;控制指令給 DMA控制器發(fā)出內存訪問操作命令,DMA控制器需要從設備向內存寫大量 數據,這個過程同樣需要調用DSM進行內存的操作,方式與上述訪存類1/0 指令相同。
      權利要求
      1. 一種分布式I/O資源虛擬化技術的實現(xiàn)方法,其特征在于該方法步驟如下步驟一實現(xiàn)分布式虛擬機監(jiān)視器系統(tǒng)DVMM中的I/O虛擬化模塊,總體系統(tǒng)的實現(xiàn)平臺是聯(lián)想萬全R510服務器,處理器為Xeon3230;步驟二總體結構中的基本功能模塊包括虛擬機退出,虛擬機進入,指令解析,判斷主節(jié)點,I/O設備模型,這些模塊實現(xiàn)過程中用到的現(xiàn)有技術如VT-x,DSM,XEN虛擬化技術;輔助技術為可以在裸機之上的跨物理節(jié)點的通信機制;步驟三在以上基本功能模塊的基礎上實現(xiàn)三種基本的I/O訪問方式非訪存類I/O指令,訪存類I/O指令,DMA指令,主要技術點在這三種訪問方式的跨節(jié)點過程是怎么完成的;步驟四三種基本的I/O指令訪問的跨節(jié)點實現(xiàn)方式;●非訪存類I/O指令主要技術步驟為請求節(jié)點將指令通過底層通信傳輸到目標節(jié)點,然后在目標節(jié)點執(zhí)行指令,隨后將執(zhí)行結果返回給請求節(jié)點;●訪存類I/O指令主要技術步驟為解析訪存類I/O指令,分析出需要訪問的內存地址,如果此次訪存需要跨節(jié)點,則調用DSM將需要訪問的內存遷移到請求節(jié)點,這樣進行節(jié)點內部訪問;●DMA指令主要技術步驟為對于DMA控制器的訪問指令為非訪存類I/O指令,請求節(jié)點采用上述方法將指令傳輸到目標節(jié)點執(zhí)行并返回結果;控制指令給DMA控制器發(fā)出內存訪問操作命令,DMA控制器需要從設備向內存寫大量數據,這個過程同樣需要調用DSM進行內存的操作,方式與上述訪存類I/O指令相同。
      全文摘要
      本發(fā)明是提供一種分布式I/O資源虛擬化技術的實現(xiàn)方法,它是針對近年來大規(guī)模計算機系統(tǒng)I/O資源管理復雜,使用效率低等局限因素,提出一種有效地管理和使用分布式I/O資源的方法。本發(fā)明的要點就是實現(xiàn)分布式虛擬機監(jiān)視器系統(tǒng)DVMM中的I/O虛擬化模塊,I/O虛擬化模塊通過I/O虛擬化技術,對三種I/O指令訪問跨節(jié)點的實現(xiàn),從而實現(xiàn)了分布式I/O資源的整合,為客戶操作系統(tǒng)提供全局的虛擬I/O環(huán)境。本發(fā)明探索出一條未來服務器中I/O技術發(fā)展的可行道路。
      文檔編號G06F13/10GK101425046SQ200810225089
      公開日2009年5月6日 申請日期2008年10月28日 優(yōu)先權日2008年10月28日
      發(fā)明者劉忠麟, 蕭 張, 彭近兵, 李響山, 簫 王, 祝明發(fā), 肖利民 申請人:北京航空航天大學
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1