TWI438690B - 用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統 - Google Patents

用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統 Download PDF

Info

Publication number
TWI438690B
TWI438690B TW097133213A TW97133213A TWI438690B TW I438690 B TWI438690 B TW I438690B TW 097133213 A TW097133213 A TW 097133213A TW 97133213 A TW97133213 A TW 97133213A TW I438690 B TWI438690 B TW I438690B
Authority
TW
Taiwan
Prior art keywords
processor
information processing
virtual machine
shared
processing system
Prior art date
Application number
TW097133213A
Other languages
English (en)
Other versions
TW200917128A (en
Inventor
Mukund P Khatri
Robert Hormuth
Original Assignee
Dell Products Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products Lp filed Critical Dell Products Lp
Publication of TW200917128A publication Critical patent/TW200917128A/zh
Application granted granted Critical
Publication of TWI438690B publication Critical patent/TWI438690B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Description

用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統 發明領域
本發明與資訊處理系統有關,更加特別地,與處理器架構間的虛擬機器(VM)遷移有關。
發明背景
隨著資訊的價值與利用的不斷增加,個人與企業尋求更多用來處理和儲存資訊的方法。一個使用者可得的選擇是資訊處理系統。一資訊處理系統一般為企業、個人或為了達到其他的目的而處理、編輯、儲存和/或傳送資訊或資料,藉此允許使用者利用資訊的價值。由於技術和資訊處理需要且要求在不同使用者或應用之間有所不同,所以資訊處理系統也可根據哪些資訊被處理、資訊如何被處理以及有多少資訊被處理、儲存或傳送,以及資訊被處理、儲存或傳送的速度及效率而改變。資訊處理系統的改變便於資訊處理系統一般化或被組配用於特定的使用者或諸如財務交易處理、航空定位、企業資料儲存或全球通訊的特定用途。此外,資訊處理系統可包括各種各樣的可被組配用來處理、儲存以及傳送資訊的硬體及軟體元件,以及可包括一或多個電腦系統、資料儲存系統以及網路系統。
與資訊處理系統有關的一個問題是虛擬化技術,該虛擬化技術是指資訊處理系統資源的抽象。更加特別地,虛擬化技術以其他系統、應用或終端使用者與那些 資源互動的方式隱藏資訊處理系統資源的實體特性。虛擬化技術包括使一單一實體資源(諸如一伺服器、一作業系統、一應用或儲存裝置)看起來像是發揮多個邏輯資源的作用;或者使多個實體資源(諸如儲存裝置或伺服器)看起來像是一單一邏輯資源。
虛擬化技術在企業資訊處理系統環境中特別普遍。當執行一VM遷移(即從一系統(邏輯或實體)向另一系統移動一虛擬機器)時通常期望使用虛擬化技術。然而,在VM遷移,特別是線上上VM遷移(即當在一系統上執行的一VM遷移到另一系統時,其中系統在該遷移過程中不處於停機或暫停狀態)的情況下,不同CPU供應商以及甚至來自同一供應商之各代產品間的架構問題可能本身就存在。該架構問題通常由供應商間以及同一供應商之各代間的不同特徵產生。因此,例如,當試圖將執行串流延伸指令集補充版本4(SSE4)的一線上虛擬機器遷移到只能夠支援SSE版本3(SSE3)而不支援SSE4指令集的一系統時產生一個問題。當被遷移的VM不處於一線上狀態時(例如在一停機或暫停狀態操作),該VM遷移問題也可能存在。
當一應用下載並執行一處理器識別(例如一CPUID)指令時,該問題本身存在。該指令返回一處理器識別符(ID)以及特徵資訊。一應用基於給定CPU的特徵與指令集使用該資訊來設定佔用哪條路徑。CPUID指令及結果的例子可在“Intel64 and IA-32 Architectures Software Developer’s Manual-Volume 2A-Instruction Set Reference, A-M”中找到。當一應用線上且執行一給定指令集和/或特徵集時,系統間的線上遷移只可以在目標系統與源系統具有相同特徵支援的情況下發生。例如,標注先前技術的第1圖顯示一範例程式下載的一流程圖。
當一應用程式不發出一處理器識別指令來做出程式碼路徑決定時,另一與VM遷移有關的問題可能存在。在這種情況下,該應用程式不知道完整處理器指令與特徵集。
發明概要
根據本發明,提出了一種用於執行一VM遷移的方法,其管理一集用區中的一組機器的一特徵集或行為從一虛擬機器到另一虛擬機器的線上遷移。在某些實施例中,在該集用區中的機器可被組配以模擬某一特徵集來致能相似集用區間的VM遷移。該模擬可透過遮蔽一特徵集的報告或致能/去能一特徵集來實現。對硬體中的模擬暫存器的處理(即在模擬模式下操作時對特徵集的操作)在一韌體(例如一基本輸入輸出系統(BIOS))位準,而不是一作業系統或超管理器位準發生。
更加特別地,在一實施例中,本發明與一種用於在多個資訊處理系統之間執行虛擬機器遷移的方法有關。該方法包括識別在該等多個資訊處理系統中具有一共用特徵集的處理器,該共用特徵集包含指令集位準的相容性;聚集具有包含該共用特徵集的處理器的資訊處理系 統,以提供一類似資訊處理系統集用區;以及在該類似資訊處理系統集用區中執行從第一資訊處理系統到一資訊處理系統的一虛擬機器遷移,該虛擬機器遷移從一資訊處理系統到另一資訊處理系統移動一虛擬機器。
在另一實施例中,本發明與用於在多個資訊處理系統之間執行虛擬機器遷移的一裝置有關。該裝置包括用於識別在該等多個資訊處理系統中具有一共用特徵集的處理器的裝置,該共用特徵集包含指令集位準的相容性;用於聚集具有包含該共用特徵集的處理器的資訊處理系統的裝置以提供一類似資訊處理系統集用區;以及用於在該類似資訊處理系統集用區中執行從一第一資訊處理系統到一資訊處理系統的一虛擬機器遷移的裝置,該虛擬機器遷移從一資訊處理系統到另一資訊處理系統移動一虛擬機器。
在另一實施例中,本發明與一資訊技術環境有關,該資訊技術環境包括多個資訊處理系統以及用於在該等多個資訊處理系統之間執行虛擬機器遷移的一系統。該等多個資訊處理系統中的每一系統包括一處理器,以及耦接到該處理器的記憶體。該用於執行虛擬機器遷移的系統包括可被一處理器執行的指令,用於識別在該等多個資訊處理系統中具有一共用特徵集的處理器,該共用特徵集包含指令集位準的相容性;聚集具有包含該共用特徵集的處理器的資訊處理系統以提供一類似資訊處理系統集用區;以及在該類似資訊處理系統集用區中執行從一第一資訊處 理系統到一資訊處理系統的一虛擬機器遷移,該虛擬機器遷移從一資訊處理系統到另一資訊處理系統移動一虛擬機器。
圖式簡單說明
透過參考該等所附圖式,本發明可被更好地理解,以及本發明的許多目的、特徵和優點對於在本技術領域的那些通常知識者而言將清晰可見。在該等若干圖式中使用相同的參考數字指定一相同或相似元件。
第1圖被標注先前技術且顯示一範例程式下載的一流程圖;第2圖顯示一資訊處理系統的一系統方塊圖;第3圖顯示BIOS操作的一流程圖;第4圖顯示一用於執行VM遷移的系統的操作的一流程圖。
較佳實施例之詳細說明
現簡要參考第2圖,其顯示了一資訊處理系統200的一系統方塊圖。該資訊處理系統200包括一處理器202,諸如一顯示器、一鍵盤、一滑鼠的輸入/輸出(I/O)裝置204,相關聯控制器,包括諸如隨機存取記憶體(RAM)的易失性記憶體以及諸如唯讀記憶體(ROM)和硬磁碟驅動機的非易失性記憶體的記憶體206,以及諸如軟式磁碟和驅動機或CD-ROM磁碟和驅動機的其他儲存裝置208,以及各種其他子系統210,所有這些都藉由一或多條匯流排212互 連。該記憶體206包括一基本輸入輸出系統(BIOS)228以及一VM遷移模組230。
提出致能執行一VM遷移的VM遷移模組230,其對一集用區中的一組機器的同一特徵集或行為的線上遷移進行管理。在某些實施例中,在該集用區中的機器可被組配來模擬某一特徵集以致能類似集用區間的VM遷移。該模擬可透過遮蔽一特徵集的報告或致能/去能一特徵集來實現。對硬體中的模擬暫存器的處理(即在模擬模式下操作時對特徵集之硬體暫存器的操作)是在一韌體位準(諸如藉由該BIOS),而不是一作業系統或超管理器位準發生。
為了達到本揭露的目的,一資訊處理系統可包括任何工具或操作以計算、分類、處理、發送、接收、擷取、產生、切換、儲存、顯示、表明、檢測、記錄、再生產、處理或利用任何形式的資訊、情報或用於企業、科學、控制或其他目的的資料的工具的總和。例如,一資訊處理系統可以是一個人電腦、一網路儲存裝置或任何其他合適的裝置,且可以在大小、形狀、性能、功能及價格方面有所不同。該資訊處理系統可包括隨機存取記憶體(RAM)、諸如中央處理單元(CPU)或硬體或軟體控制邏輯的一或多個處理資源、ROM以及/或者其他類型的非易失性記憶體。該資訊處理系統的額外元件可包括一或多個磁碟驅動機、一或多個用於與外部裝置通訊的網路埠以及諸如鍵盤、滑鼠以及視訊顯示器的各種各樣的輸入和輸出(I/O)裝置。該資訊處理系統也可包括一或多條可操作以在該等各種硬體 元件之間傳送通訊訊息的匯流排。
參考第3圖,其顯示了BIOS操作的一流程圖。每一資訊處理系統處理器202包括該BIOS 228可操作的VM遷移暫存器。在這些暫存器中的是去能(或遮蔽)特徵的儲存位置。該處理器202使用各種暴露於軟體之特徵的這些儲存位置。此外,每一系統的處理器202包括用來返回CPUID的一虛擬CPUID(vCPUID)欄位以及諸如步進式系列資訊的其他資源資訊。當BIOS 228設定這些欄位時,該BIOS 228也設定了一特別模組暫存器(MSR),該暫存器使VM遷移暫存器在接收CPUID指令後返回已修改的資料。因此該等MSR作用如同將與特定處理器實施有關的資訊提供給BIOS的控制暫存器。
因此,當該BIOS 228開始執行時,一基板管理控制器服務處理器(BMC)(或一些其他可以旁路該BMC的應用程式介面(API))在步驟310將最小公分母(LCD)資訊提供給該BIOS 228。接下來在步驟320,該BIOS 228產生處理器識別指令(諸如一CPUID指令),以及將結果儲存在一暫存式記憶體中。接下來在步驟330,在每一資訊處理系統上的BIOS 228使用最小公分母輸入來去能硬體中的特徵,以及相應地設定虛擬CPUID欄位。接下來,該BIOS 228選擇性地在該MSR中設定一位元來致能對該虛擬CPUID暫存器及在該虛擬CPUID暫存器中已被識別的特徵的使用。在步驟340,然後該BIOS 228向該BMC發信結束以允許帶外通訊訊息,如果需要的話。因此,在該系統中的處理器被組配具 有如同該最小公分母的特徵。因此,該CPU ID/系列/步階式資訊被設定以允許線上遷移在不運行到架構邊界的情況下發生。該操作可在一系統上透過系統基礎被執行或藉由一共用AP橫跨一系統集用區被執行。
參考第4圖,其顯示了一VM遷移操作的一流程圖。一般而言,用於執行VM遷移的系統使用BIOS 228執行一硬體特徵去能和虛擬CPUID操作。用於執行VM遷移的系統230被一資訊技術(IT)管理應用410執行。
更加特別地,在步驟420,該IT管理應用410為一組系統中被期望用來執行VM遷移的系統收集CPUID資訊。然後共用系統被自動地或手動地聚集。例如,在某些實施例中,在步驟430,一IT管理員(或一些其他操作該IT管理應用410的使用者)象徵性地聚集(例如透過拖拉和丟棄)系統以識別相似的系統集用區(即符合某一最小公分母的系統)。例如,一集用區可能包括一第一製造商SSE3集用區432a、一第一製造商SSE4集用區432b、一第二製造商SSE3集用區432c、一通用製造商集用區432d。每一集用區包括一相對應的識別434。
接下來在步驟440,用於執行VM遷移的系統230向帶外系統(及選擇性地帶內系統)廣播與每一該集用區相對應的特徵。在步驟442,然後該系統在該等帶外系統上等待以識別每一系統應與哪一集用區相關聯。在步驟444,與該等已組配集用區的每一集用區相匹配的系統間的線上遷移現在可使用任何VM遷移軟體發生。
在每一執行系統中,在步驟450,BMC接收新的VM遷移組態,以及將該資訊保存在系統的BIOS域中,以在重啟操作期間擷取。在步驟460,BIOS在重啟後首次下載到每一該系統上時,該BIOS 228透過設定一虛擬遷移欄位(例如一vCPUID欄位)(當可得時)直接遮蔽在相對應系統的特徵集中的差異。因此,當CPUID指令被執行時,每一該系統返回被BIOS致能/去能的特徵以及IT管理應用設定的任何CPUID。在步驟470,然後BMC用該IT管理應用記錄該系統。該記錄包括系統被組配用於一具有某些特徵的特定CPU ID以及系統已加入一特定系統集用區的資訊。
因此,透過允許一IT管理員使集用區下降到諸如任何x86相容性位準的任何處理器相容性位準(即任何最小公分母),用於執行VM遷移的系統允許處理器架構邊界的交叉。
本發明較佳地適於獲得上述優點以及於此所固有的其他優點。儘管本發明已透過參考本發明的特定實施例被敍述、描述及定義,但是這些參考並不意味著是對本發明的限制,沒有此類限制被推斷。本發明能夠進行相當數量的在形式及功能層面的修改、改變和等價,如在本相關技術領域中的那些通常知識者將想到的那些。已敍述和描述的實施例僅是例子,並不是本發明之範圍的詳盡表述。
例如,在另一實施例中,一超管理器二進制轉譯可被用來執行該VM遷移。更加特別地,當一系統集用區被識別時,IT管理軟體決定最小公分母特徵集以及將該特 徵集廣播給在每一系統上執行的一超管理器。當一應用程式被下載到一系統上時,該超管理器執行該程式的二進制轉譯。即該超管理器搜尋CPUID指令以及用產生該CPUID指令之一期望返回值的一備選執行路徑取代,以欺騙該應用程式。因此,在該組中的所有機器看起來像是用同一特徵集執行。
例如,原始碼可能是:.....MOV EAX,INPUT CPUID[使用返回旗標來設定程式碼執行路徑的程式碼]....
而已修改的程式碼可能是:....MOV EAX,INPUT JMP[CPUID_replacement_function]跳到一備選例行程序[使用返回旗標來設定程式碼執行路徑的程式碼].....:CPUID_replacement_function/ 保存輸入變數 /CPUID_function_call_input=EAX;/ 從群集管理(cluster mgmt)輸入 /HYPERVISOR_common_denominator=XYZ;/ 執行原始CPUID來獲取CPU特徵 / MOV EAX,CPUID_function_call_input;CPUID[根據HYPERVISOR_common_denominator]Return;
又例如,在另一實施例中,當執行VM遷移時,CPUID陷阱操作可被使用。更加特別地,該陷阱操作設陷CPUID指令的結果。然後該BIOS 228中的一處置器一個二進制轉譯操作。
例如,在TRAP操作的情況下,一示範指令流可能如下:MOV EAX,INPUT CPUID[使用返回旗標來設定程式碼執行路徑的程式碼]
而包括該陷阱特徵的已修改程式碼可能是:MOV EAX,INPUT CPUID/ 運行且居於EAX、EBX、ECX、EDX /TRAP HANDLER[根據HYPERVISOR_common_denominator設定EAX、EBX、ECX、EDX...]Return;[使用返回旗標來設定程式碼執行路徑的程式碼]
為了支援該模式,處理器要允許CPUID指令來致能一例外事件以及為該處置器分配一向量位置。接收該 例外事件後,該處理器轉到該處置器的向量位置。該方法不同於在被虛擬化技術(VT)致能的處理器的VM_EXIT操作,因為不是所有的處理器被VT致能,與藉由BIOS僅在現有的帶外管理層面中這樣做相對,試圖將公分母傳遞到帶內超管理器增加了管理層面(management plane)的複雜性(增加了另一層面),允許CPUID陷阱提供在一終端使用者可能想要改變一給定系統的特徵集以允許執行一特定程式的一虛擬和管理環境外的其他用途,以及需要較少的處理器邏輯改變以欺騙一應用程式。
又例如,上述的實施例包括執行某些任務的軟體模組。於此所討論的軟體模組可包括腳本、程式組或其他可執行檔案。該等軟體模組可被儲存在諸如磁碟驅動機的機器可讀或電腦可讀儲存媒體中。根據本發明之一實施例的被用於儲存軟體模組的儲存裝置可以是軟式磁碟、硬碟或諸如CD-ROM或CD-R的光碟。根據本發明之一實施例的被用於儲存韌體或硬體模組的儲存裝置也可以包括一半導體基記憶體,該記憶體可以永久性地、可移式地或遠端地耦接到一微處理器/記憶體系統。因此,該等模組可被儲存在一電腦系統記憶體中以組配該電腦系統來執行該模組的功能。其他新型及各種類型的電腦可讀儲存媒體可被用來儲存於此所討論的模組。因此,在本技術領域中的那些通常知識者將認識到將功能分成模組是為了說明的目的。備選實施例可把多個模組的功能融合到一單一模組中,或者可施加模組功能的備選分解。例如,一用於彙集子模組 的軟體模組可被分解,藉此每一子模組執行其功能,以及將控制直接傳遞到另一子模組。
因此,本發明意欲僅受限於所附申請專利範圍的精神和範圍,對所有層面中的等價給予充分的認識。
200‧‧‧資訊處理系統
202‧‧‧處理器
204‧‧‧輸入/輸出(I/O)裝置
206‧‧‧記憶體
208‧‧‧其他儲存裝置
210‧‧‧其他子系統
228‧‧‧基本輸入輸出系統(BIOS)
230‧‧‧VM遷移模/VM遷移系統
310~340‧‧‧流程步驟
410~470‧‧‧流程步驟
432a‧‧‧第一製造商SSE3集用區
432b‧‧‧第二製造商SSE4集用區
432c‧‧‧第二製造商SSE3集用區
432d‧‧‧通用製造商集用區
434‧‧‧識別
第1圖被標注先前技術且顯示一範例程式下載的一流程圖;第2圖顯示一資訊處理系統的一系統方塊圖;第3圖顯示BIOS操作的一流程圖;第4圖顯示一用於執行VM遷移的系統的操作的一流程圖。
410~470‧‧‧流程步驟
432a‧‧‧第一製造商SSE3集用區
432b‧‧‧第二製造商SSE4集用區
432c‧‧‧第二製造商SSE3集用區
432d‧‧‧通用製造商集用區
434‧‧‧識別

Claims (9)

  1. 一種用於執行多個資訊處理系統間的虛擬機器遷移的方法,其包含以下步驟:識別在該等多個資訊處理系統中具有一共用特徵集的處理器,該共用特徵集包含指令集位準的相容性,至少一些該等處理器對應於各別的資訊處理系統;聚集具有包含該共用特徵集的處理器的資訊處理系統以提供一類似資訊處理系統集用區;以及在該類似資訊處理系統集用區中執行從一第一資訊處理系統到一資訊處理系統的一虛擬機器遷移;且其中該共用特徵集包含一共用處理器製造商、一共用處理器代以及一共用指令集之中的至少一個;並且,每一該處理器包含虛擬機器遷移暫存器,該等虛擬機器遷移暫存器受該資訊處理系統的韌體控制,以修改該處理器中的特徵報告,對該特徵報告的該修改有助於一共用特徵集的識別。
  2. 如申請專利範圍第1項所述之方法,其中該識別步驟進一步包含以下步驟:在每一該處理器上執行一處理器識別操作,該處理器識別操作為每一該處理器返回處理器識別資料。
  3. 如申請專利範圍第1項所述之方法,其中:該等虛擬機器遷移暫存器使該處理器回應於一處理器識別操作而報告已修改的識別資料。
  4. 一種具有用於執行多個資訊處理系統間的虛擬機器遷移之一處理器,該裝置包含:用於識別在該等多個資訊處理系統中具有一共用特徵集的處理器的裝置,該共用特徵集包含指令集位準的相容性,至少一些該等處理器對應於各別的資訊處理系統;用於聚集具有包含該共用特徵集的處理器的資訊處理系統的裝置以提供一類似資訊處理系統集用區;以及用於在該類似資訊處理系統集用區中執行從一第一資訊處理系統到一資訊處理系統的一虛擬機器遷移的裝置;且其中該共用特徵集包含一共用處理器製造商、一共用處理器代以及一共用指令集之中的至少一個;並且,每一該處理器包含虛擬機器遷移暫存器,該等虛擬機器遷移暫存器受該資訊處理系統的韌體控制,以修改該處理器中的特徵報告,對該特徵報告的該修改有助於一共用特徵集的識別。
  5. 如申請專利範圍第4項所述之裝置,其中該用於識別的裝置進一步包含:用於在每一該處理器上執行一處理器識別操作的裝置,該處理器識別操作為每一該處理器返回處理器識別資料。
  6. 如申請專利範圍第4項所述之裝置,其中: 該等虛擬機器遷移暫存器使該處理器回應於一處理器識別操作而報告已修改的識別資料。
  7. 一種資訊技術系統,其包含:多個資訊處理系統,該等多個資訊處理系統中的每一系統包含:一處理器;以及耦接到該處理器的記憶體;一用於執行該等多個資訊處理系統間的虛擬機器遷移的系統,該用於執行虛擬機器遷移的系統包含可由一處理器執行的指令,用於:識別在該等多個資訊處理系統中具有一共用特徵集的處理器,該共用特徵集包含指令集位準的相容性,至少一些該等處理器對應於各別的資訊處理系統;聚集具有包含該共用特徵集的處理器的資訊處理系統以提供一類似資訊處理系統集用區;以及在該類似資訊處理系統集用區中執行從一第一資訊處理系統到一資訊處理系統的一虛擬機器遷移;且其中該共用特徵集包含一共用處理器製造商、一共用處理器代以及一共用指令集之中的至少一個;並且,每一該處理器包含虛擬機器遷移暫存器,該等虛擬機器遷移暫存器受該資訊處理系統的韌體控制,以修改該處理器中的特徵報告,對該特徵報告的該修改有助於一共用特徵集的識別。
  8. 如申請專利範圍第7項所述之資訊技術系統,其中該等用於識別的指令進一步包含用於以下操作的指令:在每一該處理器上執行一處理器識別操作,該處理器識別操作為每一該處理器返回處理器識別資料。
  9. 如申請專利範圍第7項所述之資訊技術系統,其中:該等虛擬機器遷移暫存器使該處理器回應於一處理器識別操作而報告已修改的識別資料。
TW097133213A 2007-09-06 2008-08-29 用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統 TWI438690B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/850,946 US8127296B2 (en) 2007-09-06 2007-09-06 Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration

Publications (2)

Publication Number Publication Date
TW200917128A TW200917128A (en) 2009-04-16
TWI438690B true TWI438690B (zh) 2014-05-21

Family

ID=40381871

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097133213A TWI438690B (zh) 2007-09-06 2008-08-29 用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統

Country Status (5)

Country Link
US (1) US8127296B2 (zh)
EP (2) EP2048578B1 (zh)
CN (1) CN101382906B (zh)
SG (1) SG150490A1 (zh)
TW (1) TWI438690B (zh)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US9043640B1 (en) * 2005-08-26 2015-05-26 Open Invention Network, LLP System and method for event-driven live migration of multi-process applications
US8082344B2 (en) * 2007-02-12 2011-12-20 Microsoft Corporation Transaction manager virtualization
US8352952B2 (en) 2008-12-01 2013-01-08 Citrix Systems, Inc. Systems and methods for facilitating virtualization of a heterogeneous processor pool
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
US8332848B2 (en) * 2009-03-12 2012-12-11 Red Hat Israel, Ltd. Mechanism for staged upgrades of a virtual machine system
JP2010272055A (ja) * 2009-05-25 2010-12-02 Sony Corp 情報処理装置および方法、並びにプログラム
US8458284B2 (en) * 2009-06-12 2013-06-04 International Business Machines Corporation Systems and methods for efficient live application migration within bandwidth constrained networks
US8359374B2 (en) * 2009-09-09 2013-01-22 Vmware, Inc. Fast determination of compatibility of virtual machines and hosts
US8370473B2 (en) 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US9027017B2 (en) * 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of virtual resources within a data center environment
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers
CN102959506B (zh) 2010-06-22 2017-04-26 慧与发展有限责任合伙企业 用于计划应用部署的方法和系统
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US9851969B2 (en) 2010-06-24 2017-12-26 International Business Machines Corporation Function virtualization facility for function query of a processor
US10521231B2 (en) 2010-06-24 2019-12-31 International Business Machines Corporation Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor
US8239863B2 (en) 2010-06-29 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for migrating a virtual machine
US8484653B2 (en) * 2010-07-28 2013-07-09 Red Hat Israel, Ltd. Mechanism for delayed hardware upgrades in virtualization systems
US9081613B2 (en) 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8959220B2 (en) 2010-11-02 2015-02-17 International Business Machines Corporation Managing a workload of a plurality of virtual servers of a computing environment
US8984109B2 (en) 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof
US9253016B2 (en) 2010-11-02 2016-02-02 International Business Machines Corporation Management of a data network of a computing environment
US8966020B2 (en) 2010-11-02 2015-02-24 International Business Machines Corporation Integration of heterogeneous computing systems into a hybrid computing system
CN102594652B (zh) 2011-01-13 2015-04-08 华为技术有限公司 一种虚拟机迁移方法、交换机、虚拟机系统
JP5766346B2 (ja) * 2011-04-07 2015-08-19 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ソフトウェア・オブジェクトをバックグラウンドで移動させる方法及び装置
CN102164184A (zh) * 2011-04-22 2011-08-24 广州杰赛科技股份有限公司 云计算网络中计算机实体的接入和管理方法及云计算网络
CN102137167B (zh) * 2011-04-29 2014-01-08 中国人民解放军国防科学技术大学 不间断运行的虚拟机迁移方法及装置
US8533714B2 (en) 2011-05-03 2013-09-10 International Business Machines Corporation Dynamic virtual machine domain configuration and virtual machine relocation management
US8578378B2 (en) * 2011-07-28 2013-11-05 Intel Corporation Facilitating compatible interaction, at least in part
CN103782276B (zh) * 2011-09-13 2017-07-04 英派尔科技开发有限公司 从原始虚拟机到目的地虚拟机的操作转移
US20130083690A1 (en) * 2011-10-04 2013-04-04 International Business Machines Corporation Network Adapter Hardware State Migration Discovery in a Stateful Environment
CN102521048A (zh) * 2011-11-17 2012-06-27 浪潮(北京)电子信息产业有限公司 批量处理虚拟机的方法和系统
CN103136060B (zh) * 2011-11-23 2016-10-05 联想(北京)有限公司 运行控制方法和运行控制装置
US9678776B2 (en) * 2011-12-30 2017-06-13 International Business Machines Corporation Suppress newer facilities when simulating an older machine
US9323563B2 (en) * 2012-02-28 2016-04-26 Red Hat Israel, Ltd. Determining virtual machine migration in view of a migration rule
US9430238B2 (en) 2012-03-16 2016-08-30 International Business Machines Corporation Run-time-instrumentation controls emit instruction
US9367316B2 (en) 2012-03-16 2016-06-14 International Business Machines Corporation Run-time instrumentation indirect sampling by instruction operation code
US9465716B2 (en) 2012-03-16 2016-10-11 International Business Machines Corporation Run-time instrumentation directed sampling
US9411591B2 (en) 2012-03-16 2016-08-09 International Business Machines Corporation Run-time instrumentation sampling in transactional-execution mode
US9158660B2 (en) 2012-03-16 2015-10-13 International Business Machines Corporation Controlling operation of a run-time instrumentation facility
US9405541B2 (en) 2012-03-16 2016-08-02 International Business Machines Corporation Run-time instrumentation indirect sampling by address
US9280447B2 (en) 2012-03-16 2016-03-08 International Business Machines Corporation Modifying run-time-instrumentation controls from a lesser-privileged state
US9454462B2 (en) 2012-03-16 2016-09-27 International Business Machines Corporation Run-time instrumentation monitoring for processor characteristic changes
US9471315B2 (en) 2012-03-16 2016-10-18 International Business Machines Corporation Run-time instrumentation reporting
US9250902B2 (en) 2012-03-16 2016-02-02 International Business Machines Corporation Determining the status of run-time-instrumentation controls
US9442824B2 (en) 2012-03-16 2016-09-13 International Business Machines Corporation Transformation of a program-event-recording event into a run-time instrumentation event
US9483268B2 (en) 2012-03-16 2016-11-01 International Business Machines Corporation Hardware based run-time instrumentation facility for managed run-times
US9292319B2 (en) 2012-03-28 2016-03-22 Google Inc. Global computing interface
US9129124B2 (en) * 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
US9438466B1 (en) * 2012-06-15 2016-09-06 Juniper Networks, Inc. Migrating virtual machines between oversubscribed and undersubscribed compute devices
TWI469054B (zh) * 2012-12-11 2015-01-11 Inventec Corp 虛擬機器的管理系統及其方法
CN103095821B (zh) * 2013-01-05 2015-07-01 国都兴业信息审计系统技术(北京)有限公司 一种基于虚拟机迁移识别的持续审计系统
US9729517B2 (en) * 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration
US9684529B2 (en) * 2013-02-21 2017-06-20 Red Hat Israel, Ltd. Firmware and metadata migration across hypervisors based on supported capabilities
CN104111867B (zh) * 2013-04-19 2017-10-17 杭州迪普科技股份有限公司 一种虚拟机迁移装置及方法
WO2014204453A1 (en) * 2013-06-19 2014-12-24 Empire Technology Development, Llc Processor-optimized library loading for virtual machines
EP3018583A4 (en) * 2013-07-02 2017-02-15 Fujitsu Limited Virtual machine management method, virtual machine management device, and virtual machine management program
US9760390B2 (en) 2013-07-16 2017-09-12 Empire Technology Development Llc Processor identification for virtual machines
US9317326B2 (en) 2013-11-27 2016-04-19 Vmware, Inc. Consistent migration of a group of virtual machines using source and destination group messaging
CN103617070B (zh) * 2013-11-27 2017-01-04 华为技术有限公司 虚拟机迁移方法及装置
US9652326B1 (en) 2014-01-24 2017-05-16 Amazon Technologies, Inc. Instance migration for rapid recovery from correlated failures
US9792431B1 (en) * 2014-02-11 2017-10-17 Veritas Technologies Llc Systems and methods for selectively masking data on virtual storage devices
WO2016003646A1 (en) * 2014-06-30 2016-01-07 Unisys Corporation Enterprise management for secure network communications over ipsec
US9542201B2 (en) 2015-02-25 2017-01-10 Quanta Computer, Inc. Network bios management
US11068291B2 (en) * 2016-01-22 2021-07-20 Sony Interactive Entertainment Inc. Spoofing CPUID for backwards compatibility
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
CN106648826B (zh) * 2016-09-09 2018-06-19 北京百度网讯科技有限公司 用于热迁移虚拟机的方法和装置
CN106406819B (zh) * 2016-09-30 2019-01-01 广州华多网络科技有限公司 一种cpu的指令集兼容方法及其终端
CN107621970B (zh) * 2017-10-16 2021-02-05 郑州云海信息技术有限公司 一种异构cpu的虚拟机迁移方法和装置
US10877751B2 (en) * 2018-09-29 2020-12-29 Intel Corporation Spoofing a processor identification instruction
US11226839B2 (en) 2019-02-27 2022-01-18 International Business Machines Corporation Maintaining compatibility for complex functions over multiple machine generations
CN109933411B (zh) * 2019-03-31 2021-03-30 山东超越数控电子股份有限公司 一种在线修改虚拟机内部配置系统及方法
US11803407B1 (en) * 2020-09-29 2023-10-31 Amazon Technologies, Inc. Emulation layer for overcoming incompatibilities in virtual machine instance migration
CN113065851A (zh) * 2021-04-08 2021-07-02 中国建设银行股份有限公司 一种基于流程机器人的信息处理方法及相关装置
CN114860389B (zh) * 2022-07-07 2022-10-25 中兴软件技术(南昌)有限公司 虚拟机迁移方法、装置、可读存储介质及计算机设备

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698017B1 (en) 1999-07-16 2004-02-24 Nortel Networks Limited Software migration on an active processing element
US7210147B1 (en) 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6701333B2 (en) 2001-07-17 2004-03-02 Hewlett-Packard Development Company, L.P. Method of efficient migration from one categorization hierarchy to another hierarchy
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7065549B2 (en) 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7171546B2 (en) 2002-05-23 2007-01-30 Adams Phillip M CPU life-extension apparatus and method
US7080242B2 (en) * 2002-12-19 2006-07-18 Hewlett-Packard Development Company, L.P. Instruction set reconciliation for heterogeneous symmetric-multiprocessor systems
US7203944B1 (en) 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20050076186A1 (en) * 2003-10-03 2005-04-07 Microsoft Corporation Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7614055B2 (en) * 2004-06-14 2009-11-03 Alcatel-Lucent Usa Inc. Selecting a processor to run an executable of a distributed software application upon startup of the distributed software application
US7260702B2 (en) * 2004-06-30 2007-08-21 Microsoft Corporation Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US20060020701A1 (en) * 2004-07-21 2006-01-26 Parekh Harshadrai G Thread transfer between processors
US20060069761A1 (en) 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7571154B2 (en) * 2005-01-31 2009-08-04 Cassatt Corporation Autonomic control of a distributed computing system using an application matrix to control application deployment
US7818724B2 (en) * 2005-02-08 2010-10-19 Sony Computer Entertainment Inc. Methods and apparatus for instruction set emulation
JP3942617B2 (ja) * 2005-02-10 2007-07-11 株式会社日立製作所 分散処理システムの計算機資源管理方法
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US8185905B2 (en) * 2005-03-18 2012-05-22 International Business Machines Corporation Resource allocation in computing systems according to permissible flexibilities in the recommended resource requirements
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
US7607129B2 (en) 2005-04-07 2009-10-20 International Business Machines Corporation Method and apparatus for using virtual machine technology for managing parallel communicating applications
US20070198981A1 (en) * 2006-02-17 2007-08-23 Jacobs Paul E System and method for multi-processor application support
US20070204266A1 (en) * 2006-02-28 2007-08-30 International Business Machines Corporation Systems and methods for dynamically managing virtual machines
US20070271560A1 (en) * 2006-05-18 2007-11-22 Microsoft Corporation Deploying virtual machine to host based on workload characterizations
US7802252B2 (en) * 2007-01-09 2010-09-21 International Business Machines Corporation Method and apparatus for selecting the architecture level to which a processor appears to conform
US7673052B2 (en) * 2007-03-21 2010-03-02 International Business Machines Corporation Policy algorithm for selection of compatible systems for virtual server mobility

Also Published As

Publication number Publication date
EP2407881B1 (en) 2019-01-16
EP2048578A2 (en) 2009-04-15
US8127296B2 (en) 2012-02-28
EP2407881A3 (en) 2012-04-18
CN101382906B (zh) 2013-05-15
US20090070760A1 (en) 2009-03-12
SG150490A1 (en) 2009-03-30
TW200917128A (en) 2009-04-16
EP2048578B1 (en) 2013-04-10
EP2407881A2 (en) 2012-01-18
CN101382906A (zh) 2009-03-11
EP2048578A3 (en) 2009-08-12

Similar Documents

Publication Publication Date Title
TWI438690B (zh) 用於執行多個資訊處理系統間的虛擬機器遷移之方法及裝置,以及資訊技術系統
US10013275B2 (en) Executing code referenced from a microservice registry
US9128742B1 (en) Systems and methods for enhancing virtual machine backup image data
US8191063B2 (en) Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8219987B1 (en) Optimized virtual machine specification for provisioning application specific runtime environment
US7313793B2 (en) Method for forking or migrating a virtual machine
US20110083131A1 (en) Application Profile Based Provisioning Architecture For Virtual Remote Desktop Infrastructure
CN102207896A (zh) 虚拟机崩溃文件生成技术
JP2007513405A (ja) ネットワークベース管理におけるプロキシ、情報集約、及び仮想マシン情報の最適化のための方法、装置、及びシステム
US11442765B1 (en) Identifying dependencies for processes for automated containerization
US8793688B1 (en) Systems and methods for double hulled virtualization operations
US9959157B1 (en) Computing instance migration
US11487878B1 (en) Identifying cooperating processes for automated containerization
US20220237025A1 (en) Active build migration in continuous integration environments
US10360614B1 (en) Assessing and rating deployments of resources
Church et al. A survey of cloud-based service computing solutions for mammalian genomics
WO2022100439A1 (en) Workflow patching
Kumar et al. Virtual environments testing in cloud service enviorment: a framework to optimize the performance of virtual applications
US20170185444A1 (en) System for batch processing of workflows for virtualized infrastructure
US11874851B2 (en) Contextual replication profile creation based on data criticality
US20220308908A1 (en) System and method to maintain quality of service associated with cloud application
US20160125016A1 (en) Maintaining storage profile consistency in a cluster having local and shared storage
US10248554B2 (en) Embedding profile tests into profile driven feedback generated binaries
US11720348B2 (en) Computing node allocation based on build process specifications in continuous integration environments
US10169007B1 (en) Service provider network integrated compilation service and runtime system