專利名稱:分布式虛擬機訪問異常的處理方法以及虛擬機監控器的制作方法
技術領域:
本發明涉及計算機技術領域,尤其涉及一種分布式虛擬機訪問異常的處理方法以及虛擬機監控器。
背景技術:
虛擬機(Virtual Machine,簡稱VM)指通過軟件模擬的具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。分布式虛擬化技術是一種將來自多臺物理機器的資源以虛擬的方式重新組合成一臺虛擬機的技術,當安裝在虛擬機上的操作系統運行和使用這些虛擬資源時,部署在每臺物理機器上的分布式虛擬機監控器 (Distributed Virtual Machine Monitor,簡稱DVMM)會截獲敏感的訪問行為,以保證虛擬機對虛擬資源使用的正確性。由于每臺物理機器上的處理器只能訪問本地的內存,因此,DVMM需要截獲虛擬機對遠程內存或遠程內存對本地緩存(cache)的訪問,并將這些訪問事件交給分布式共享內存(Distributed Shared Memory,簡稱DSM)處理,以維護本地緩存與遠程內存的正確性和一致性(Consistent and Coherent)。一般情況下,DVMM捕獲處理器對遠程內存或本地緩存的訪問需要使用處理器的頁面異常(Page Fault,簡稱PF)或嵌套的頁異常(NestedPage Fault)等機制,而這些異常是以物理頁大小為單位(例如4KB、2MB或1GB)產生,即處理器訪問此物理頁內的任一數據都會產生異常,這就導致了假共享問題(False faring)。又如極端的情況,兩個不同物理節點上的處理器需要訪問同一內存地址的一個字節,DSM為了維護這個字節的內存對兩個處理器是一致的,需要截獲處理器對這個內存地址的訪問,又因為內存截獲是以物理頁為單位的,導致處理器對此物理頁中實際共享的地址之外的其他字節的訪問也產生內存異常 (無權限訪問),使DSM觸發處理維持共享內存一致性的過程。假共享降低了 DVMM中緩存的利用率,增加了無意義的網絡通信,加重遠程內存訪問遲延,進而影響分布式虛擬機內存性能。
發明內容
本發明的實施例所要解決的技術問題在于提供一種分布式虛擬機訪問異常的處理方法以及虛擬機監控器,能夠減少假共享的產生,從而提高了分布式虛擬機內存的性能。為解決上述技術問題,本發明的實施例采用如下技術方案一種分布式虛擬機訪問異常的處理方法,包括根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,若所述虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常
4的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,若所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。一種虛擬機監控器,包括子頁查找模塊,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊,用于判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,分布式共享內存,用于在判斷所述虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,指令模擬執行模塊,用于在判斷所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。一種分布式虛擬機,包括多個通過網絡連接的物理服務器,每臺所述物理服務器上均設有虛擬機監控器,所述虛擬機監控器包括子頁查找模塊,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊,用于判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,分布式共享內存,用于在判斷所述虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,指令模擬執行模塊,用于在判斷所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。本發明實施例的分布式虛擬機訪問異常的處理方法以及虛擬機監控器,通過將物理頁劃分為若干個子頁,在物理頁出現訪問異常時,使出現訪問異常的子頁以外的其他子頁能夠被正常訪問,減少了假共享的發生,并在判斷虛擬機沒有所述子頁的訪問權限時,出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁;在判斷具有所述子頁的訪問權限時,模擬執行當前所述訪問異常的指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行,能夠有效解決訪問異常問題,提高了虛擬機內存的性能。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例中分布式虛擬機訪問異常的處理方法的流程示意圖;圖2為本發明實施例中虛擬機監控器的示意圖;圖3為本發明實施例中指令模擬執行模塊的示意圖;圖4為本發明實施例中分布式虛擬機中虛擬機監控器的示意圖。
具體實施例方式本發明實施例提供一種分布式虛擬機訪問異常的處理方法以及虛擬機監控器,能夠減少假共享的產生,從而提高了分布式虛擬機內存的性能。下面結合附圖對本發明實施例做詳細描述。實施例一分布式虛擬機從硬件層面上由分布式虛擬化環境下運行的多個物理服務器組成, 具體包括處理器(Central Processing Unit,簡稱CPU)、虛擬機內存、網卡和高速輸入輸出(I/O)設備。此外,每個物理服務器上均設有虛擬機監控器,通過虛擬機監控器之間相互通信,使得每個物理服務器的處理器可以訪問其他物理服務器的資源,進而組成一個虛擬的聚合的硬件平臺。虛擬機內存對于虛擬機來說是一個隔離的、從零開始且具有連續性的偽物理內存空間,這個內存空間分別對應各物理服務器分配的一段物理內存。虛擬機監控器在每個物理服務器上為分布式虛擬機建立一個PZMG^seudo-physical Address to Machine Physical Address,虛擬機偽地址到機器物理地址的映射關系)表,將GFN轉換成MFN。P2M 表中一部分GFN映射到本地服務器的內存;由于本地物理服務器的處理器不能直接訪問其他物理服務器的內存,因此映射其他物理服務器內存的GFN映射在本地緩存,這個緩存存儲了遠程物理服務器上內存的內容。為了保證本地緩存和遠程內存的一致性,需要在虛擬機監控器中設置分布式共享內存。本實施例提供一種分布式虛擬機訪問異常的處理方法,如圖1所示,該方法包括步驟101、根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁。當某一物理服務器上的處理器訪問虛擬機內存地址中的數據時,DSM需要截獲此處理器對這個內存地址的訪問。本實施例將物理頁劃分為若干個子頁(sub-page),以減小截獲粒度,并為子頁分配子頁地址。因此,當物理頁出現訪問異常時,可查找到出現異常的子頁,物理頁中除出現訪問異常的子頁之外的其他子頁均可正常訪問,通過這種方式大大提高了內存的效率,減少了假共享現象。由于內存地址的訪問是以字節為單位的,因此,為了找到出現異常的子頁,需要獲得子頁的頁內偏移地址。頁內偏移地址是指子頁相對于所在的物理頁的地址,即子頁地址與物理頁的起始地址的差值。訪問異常的物理頁的地址減去物理頁的起始地址即為出現異常的子頁的偏移地址。根據計算出的頁內偏移地址,便可找到出現訪問異常的子頁。步驟102、判斷虛擬機是否具有所述出現訪問異常的子頁的訪問權限。
6
在根據子頁的頁內偏移地址找到出現訪問異常的子頁后,判斷是否具有這個子頁的訪問權限。為了方便子頁的管理,本實施例在虛擬機監控器中設置子頁管理模塊,用于存儲所述子頁的權限信息,如圖2所示,其中,物理頁的權限為所有子頁中權限最低的子頁的權限。一般情況下,權限信息包括可讀可寫(Read feite)、可讀不可寫(Read Only)和不可讀不可寫(INV),權限的級別依次降低。子頁的權限可通過分布式共享內存進行更改。子頁的權限信息在虛擬機監控器維持共享內存一致性時被更新。舉例來說,若某處理器需要對虛擬機內存進行寫操作,在讀取子頁管理模塊中的內容后,發現出現訪問異常的子頁的權限為可讀不可寫,即處理器不能對內存進行寫操作, 因此,此時的處理器不具有這個子頁的訪問權限。步驟103、若所述虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令。在判斷沒有訪問異常的子頁的訪問權限后,虛擬機監控器調用分布式共享內存修復所述子頁,使所述子頁能夠被虛擬機內存訪問,即將所述子頁的權限修改為可讀或者可寫。修復完畢后,虛擬機的處理器重新執行出現異常的指令,由于涉及的虛擬機內存已可讀或者可寫,因此,指令可以被順利的執行,減少了虛擬機監控器處理異常的時間。步驟104、若所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。上下文是進程執行活動全過程的靜態描述,通常把已執行過的進程指令和數據在相關寄存器與堆棧中的內容稱為上文,把正在執行的指令和數據在寄存器和堆棧中的內容稱為正文,把待執行的指令和數據在寄存器與堆棧中的內容稱為下文。本實施例中的虛擬機執行上下文包括虛擬機寄存器、虛擬機內存中的內容和虛擬機控制信息。在判斷虛擬機具有訪問異常的子頁的訪問權限后,虛擬機監控器進一步執行當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行,虛擬機在接收到指令模擬結果后,執行當前指令的下一條指令。虛擬機監控器模擬執行當前訪問異常的指令的過程如下虛擬機內存保存當前指令的原始的執行結果;根據指令集編碼將當前指令進行譯碼,得到指令操作碼和操作數;根據指令操作碼對操作數執行相應的操作,操作成功后,得到新的執行結果,并將與當前指令相關的操作數更新至虛擬機執行上下文。在完成上述步驟后,處理過程從虛擬機監控器返回至虛擬機中,并更新保存在虛擬機執行上下文中的執行結果。通過上述方法,虛擬機監控器就可代替虛擬機處理訪問異常的指令,能夠迅速修復訪問異常的虛擬機內存,從而提高了虛擬機內存的效率。在模擬執行當前指令的過程中,可能會遇到操作數不在當前訪問異常的子頁的情況,而在其他的子頁中,因此,虛擬機監控器首先需要從其他子頁中讀取操作數。故本實施例在判斷具有子頁的訪問權限之后,還包括以下步驟;步驟105、判斷是否具有所述當前指令的內存操作數的訪問權限,步驟106、若沒有所述當前指令的內存操作數的訪問權限,則修復所述內存操作數所在的子頁,使所述內存操作數能夠被訪問。在修復所述內存操作數所在的子頁后,虛擬機監控器便可執行當前訪問異常的指令。本實施例的分布式虛擬機訪問異常的處理方法,通過將物理頁劃分為若干個子頁,在物理頁出現訪問異常時,使出現訪問異常的子頁以外的其他子頁能夠被正常訪問,減少了假共享的發生,并在判斷沒有出現訪問異常的子頁的訪問權限時,修復出現訪問異常的子頁,使所述子頁能夠被虛擬機內存訪問;在判斷具有出現訪問異常的子頁的訪問權限時,執行當前指令,并將執行結果返回給虛擬機執行上下文,使虛擬機完成所述當前指令的執行,能夠有效解決訪問異常,提高了虛擬機內存的性能。實施例二本實施例提供一種虛擬機監控機,如圖2所示,包括子頁查找模塊11、訪問權限判斷模塊12、分布式共享內存13和指令模擬執行模塊14,其中,子頁查找模塊11,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊12,用于判斷虛擬機是否具有所述出現訪問異常的子頁的訪問權限;分布式共享內存13,用于在判斷虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令;指令模擬執行模塊14,用于在判斷虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。本實施例中的虛擬機執行上下文包括虛擬機寄存器、虛擬機內存中的內容和虛擬機控制信息。進一步的,所述訪問權限判斷模塊12還用于判斷是否具有所述當前指令的內存操作數的訪問權限;所述分布式共享內存13還用于在判斷沒有所述內存操作數的訪問權限時,修復所述內存操作數所在的子頁,使所述內存操作數能夠被訪問。本實施例的虛擬機監控機還包括子頁管理模塊10,用于存儲子頁的權限信息。進一步的,所述訪問權限判斷模塊12還用于讀取所述子頁管理模塊中子頁的權限信息,所述物理頁的訪問權限不大于其包括的子頁的訪問權限。所述權限信息包括可讀可寫、可讀不可寫和不可讀不可寫。如圖3所示,本實施例的指令模擬執行模塊14具體包括譯碼單元141,用于根據指令集編碼將當前指令進行譯碼,得到指令操作碼和操作數;執行單元142,用于根據指令操作碼對操作數執行相應的操作,操作成功后,得到執行結果,并將與當前指令相關的操作數更新至虛擬機執行上下文。本實施例的虛擬機監控機各部分的工作原理與實施例一類似,在此不再贅述。本實施例的虛擬機監控機,通過將物理頁劃分為若干個子頁,在物理頁出現訪問異常時,使出現訪問異常的子頁以外的其他子頁能夠被正常訪問,減少了假共享的發生,并通過訪問權限判斷模塊在判斷虛擬機沒有出現訪問異常的子頁的訪問權限時,分布式共享
8內存修復出現訪問異常的子頁,使出現訪問異常的子頁允許被虛擬機內存訪問;在判斷具有出現訪問異常的子頁的訪問權限時,指令模擬執行模塊執行當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成當前指令的執行,能夠有效解決訪問異常,提高了虛擬機內存的性能。實施例三本實施例提供一種分布式虛擬機,如圖4所示,包括多個通過網絡連接的物理服務器,每臺所述物理服務器上均設有虛擬機監控器,所述虛擬機監控器包括子頁查找模塊11,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊12,用于判斷虛擬機是否具有所述出現訪問異常的子頁的訪問權限;分布式共享內存13,用于在判斷虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令;指令模擬執行模塊14,用于在判斷虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。本實施例中的虛擬機執行上下文包括虛擬機寄存器、虛擬機內存中的內容和虛擬機控制信息。進一步的,本實施例的虛擬機監控器還包括子頁管理模塊10,用于存儲子頁的權限信息;通信模塊15,用于實現所述分布式虛擬機中各虛擬機監控器之間的通信,以保證同一內存地址中的信息在不同物理服務器的一致性。本實施例的虛擬機監控機各部分的工作原理與實施例一類似,在此不再贅述。本實施例的分布式虛擬機,通過將物理頁劃分為若干個子頁,在物理頁出現訪問異常時,使出現訪問異常的子頁以外的其他子頁能夠被正常訪問,減少了假共享的發生,并通過虛擬機監控機的訪問權限判斷模塊在判斷虛擬機沒有出現訪問異常的子頁的訪問權限時,分布式共享內存修復出現訪問異常的子頁,使出現訪問異常的子頁允許被虛擬機內存訪問;在判斷具有出現訪問異常的子頁的訪問權限時,指令模擬執行模塊執行當前指令, 并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成當前指令的執行,能夠有效解決訪問異常,提高了虛擬機內存的性能。通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在可讀取的存儲介質中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機, 服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述,僅為本發明的具體實施方式
,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
權利要求
1.一種分布式虛擬機訪問異常的處理方法,其特征在于,包括根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,若所述虛擬機沒有所述出現訪問異常的子頁的訪問權限,修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,若所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。
2.根據權利要求1所述的分布式虛擬機訪問異常的處理方法,其特征在于,在判斷所述虛擬機具有所述出現訪問異常的子頁的訪問權限之后,還包括;判斷是否具有所述當前指令的內存操作數的訪問權限,若沒有所述當前指令的內存操作數的訪問權限,則修復所述內存操作數所在的子頁, 使所述內存操作數能夠被訪問。
3.根據權利要求1所述的分布式虛擬機訪問異常的處理方法,其特征在于,在所述找到出現訪問異常的子頁之后,判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限之前,還包括讀取出現訪問異常的子頁的權限信息,所述物理頁的訪問權限不大于其包括的子頁的訪問權限。
4.根據權利要求3所述的分布式虛擬機訪問異常的處理方法,其特征在于,所述權限信息包括可讀可寫、可讀不可寫和不可讀不可寫。
5.根據權利要求1所述的分布式虛擬機訪問異常的處理方法,其特征在于,所述執行所述當前指令,包括根據指令集編碼將當前指令進行譯碼,得到指令操作碼和操作數;根據指令操作碼對操作數執行相應的操作,操作成功后,得到執行結果,并將與所述當前指令相關的操作數更新至虛擬機執行上下文。
6.根據權利要求1或5所述的分布式虛擬機訪問異常的處理方法,其特征在于,所述虛擬機執行上下文包括虛擬機寄存器、虛擬機內存中的內容和虛擬機控制信息。
7.—種虛擬機監控器,其特征在于,包括子頁查找模塊,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊,用于判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,分布式共享內存,用于在判斷所述虛擬機沒有所述出現訪問異常的子頁的訪問權限, 修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,指令模擬執行模塊,用于在判斷所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。
8.根據權利要求7所述的虛擬機監控器,其特征在于,所述訪問權限判斷模塊還用于判斷是否具有所述當前指令的內存操作數的訪問權限,若沒有所述當前指令的內存操作數的訪問權限,則修復所述內存操作數所在的子頁, 使所述內存操作數能夠被訪問。
9.根據權利要求7所述的虛擬機監控器,其特征在于,還包括 子頁管理模塊,用于存儲子頁的權限信息。
10.根據權利要求9所述的虛擬機監控器,其特征在于,所述訪問權限判斷模塊還用于讀取子頁管理模塊中子頁的權限信息,所述物理頁的訪問權限不大于其包括的子頁的訪問權限。
11.根據權利要求9或10所述的虛擬機監控器,其特征在于,所述權限信息包括可讀可寫、可讀不可寫和不可讀不可寫。
12.根據權利要求7所述的虛擬機監控器,其特征在于,所述指令模擬執行模塊具體包括譯碼單元,用于根據指令集編碼將當前指令進行譯碼,得到指令操作碼和操作數; 執行單元,用于根據指令操作碼對操作數執行相應的操作,操作成功后,得到執行結果,并將與所述當前指令相關的操作數更新至虛擬機執行上下文。
13.根據權利要求7或12所述的虛擬機監控器,其特征在于,所述虛擬機執行上下文包括虛擬機寄存器、虛擬機內存中的內容和虛擬機控制信息。
14.一種分布式虛擬機,包括多個通過網絡連接的物理服務器,每臺所述物理服務器上均設有虛擬機監控器,其特征在于,所述虛擬機監控器包括子頁查找模塊,用于根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,獲得出現訪問異常的物理頁的子頁的頁內偏移地址,并根據所述頁內偏移地址,找到出現訪問異常的子頁,所述物理頁包括若干個子頁;訪問權限判斷模塊,用于判斷所述虛擬機是否具有所述出現訪問異常的子頁的訪問權限,分布式共享內存,用于在判斷所述虛擬機沒有所述出現訪問異常的子頁的訪問權限, 修復所述出現訪問異常的子頁,使虛擬機內存能夠訪問所述出現訪問異常的子頁并重新執行當前指令,指令模擬執行模塊,用于在判斷所述虛擬機具有所述出現訪問異常的子頁的訪問權限,執行所述當前指令,并將執行結果返回給虛擬機執行上下文,使所述虛擬機完成所述當前指令的執行。
15.根據權利要求14所述的分布式虛擬機,其特征在于,所述虛擬機監控器還包括 通信模塊,用于實現所述分布式虛擬機中各虛擬機監控器之間的通信,以保證同一內存地址中的信息在不同物理服務器的一致性。
全文摘要
本發明實施例公開了一種分布式虛擬機訪問異常的處理方法以及虛擬機監控器,涉及計算機技術領域,能夠減少假共享的產生,從而提高了分布式虛擬機內存的性能。本發明實施例的分布式虛擬機訪問異常的處理方法,包括根據虛擬機執行當前指令并訪問虛擬機內存時出現訪問異常的物理頁的地址,找到出現訪問異常的子頁;判斷虛擬機是否具有出現訪問異常的子頁的訪問權限,若虛擬機沒有訪問權限,修復出現訪問異常的子頁,使虛擬機內存能夠訪問出現訪問異常的子頁并重新執行當前指令,若所述虛擬機具有訪問權限,執行當前指令,并將執行結果返回給虛擬機執行上下文,使虛擬機完成所述當前指令的執行。
文檔編號G06F9/455GK102439567SQ201180002122
公開日2012年5月2日 申請日期2011年10月21日 優先權日2011年10月21日
發明者邱軍 申請人:華為技術有限公司