專利名稱:虛擬環(huán)境中的資源分配的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計算機系統(tǒng),并且特別涉及計算機系統(tǒng)中的虛擬環(huán)境。
背景技術(shù):
在虛擬環(huán)境中,被稱為管理程序(也稱為虛擬機監(jiān)視器)的軟件層在硬件與操作系統(tǒng)之間運行,并提供多個“虛擬”機(VM)的表現(xiàn)或感覺,也稱為分區(qū)。虛擬機是看似對機器硬件具有獨占訪問的虛擬數(shù)據(jù)處理系統(tǒng),但其功能通過在可能并存于機器中的其他虛擬機之間共享硬件資源而實現(xiàn)。物理數(shù)據(jù)處理系統(tǒng)中共享的硬件資源包括但不限于存儲器、 處理器以及輸入/輸出(I/O)設(shè)備。虛擬環(huán)境使多個操作系統(tǒng)能并發(fā)地在相同的數(shù)據(jù)處理系統(tǒng)上運行,似的每個虛擬機或分區(qū)確切地運行操作系統(tǒng)的一個實例。目前,管理程序利用虛擬機接口將諸如處理器、 存儲器頁面、和磁盤的硬件資源分配給一個或多個不同的分區(qū)。管理程序分配這些資源以確保一個或多個分區(qū)互不干擾。諸如存儲器頁面和CPU內(nèi)核的一些資源在不同分區(qū)之間分配,使得在分區(qū)之間沒有物理的資源共享。諸如存儲器總線、一致性總線、可擴(kuò)展端口或存儲器控制器的其他資源在本質(zhì)上不能以獨占方式分配給任何個體分區(qū)。多核處理器芯片的迅速增加加劇了非獨占分配的問題。例如,可以存在當(dāng)前分配給相同芯片上的各個內(nèi)核的多個分區(qū),每個分區(qū)有效地共享相同的數(shù)據(jù)路徑,諸如上文提及的總線。當(dāng)一個分區(qū)運行的負(fù)載使共享的資源飽和并由此使其他分區(qū)饑餓時,共享相同數(shù)據(jù)路徑的分區(qū)可能會受到嚴(yán)重的性能干擾。例如,當(dāng)一個或多個分區(qū)的負(fù)載過度使用存儲器總線、一致性總線、可擴(kuò)展端口和/或I/O總線時,運行在不同分區(qū)上的其他負(fù)載的性能受到不利的影響。
發(fā)明內(nèi)容
公開了一種用于將一個或多個共享的設(shè)備和/或數(shù)據(jù)路徑能力的資源分配給數(shù)據(jù)處理系統(tǒng)中的虛擬環(huán)境的一個或多個分區(qū)的裝置、方法、系統(tǒng)和計算機程序產(chǎn)品。虛擬環(huán)境中的每個分區(qū)管理一個或多個用戶負(fù)載。針對與數(shù)據(jù)處理系統(tǒng)相關(guān)聯(lián)的一個或多個設(shè)備和/或數(shù)據(jù)路徑能力,接收至少一個用戶定義的資源指派。該系統(tǒng)管理一個或多個寄存器, 其被動態(tài)設(shè)置以控制至少一個資源指派。資源指派允許在一個或多個負(fù)載通過分區(qū)被執(zhí)行時執(zhí)行用戶定義的對設(shè)備和/或數(shù)據(jù)路徑能力的定量測量(數(shù)字和/或百分比)。系統(tǒng)支持一個或多個分區(qū)共享帶寬和/或設(shè)備的數(shù)據(jù)路徑能力。負(fù)載以小于或等于用戶定義的資源指派的特定帶寬和/或設(shè)備的數(shù)據(jù)路徑能力而執(zhí)行。系統(tǒng)對每個分區(qū)上運行的負(fù)載進(jìn)行隔離;由此使一個或多個分區(qū)之間不希望的干擾得以最小化。
現(xiàn)在將參考
本發(fā)明的實施方式,僅通過舉例,其中圖1提供了根據(jù)本發(fā)明一個實施方式的可在其中有益地實現(xiàn)本發(fā)明各特征的數(shù)據(jù)處理系統(tǒng)的框圖2是根據(jù)本發(fā)明一個實施方式的被分成一個或多個分區(qū)的多核處理芯片的框圖;圖3所示為根據(jù)本發(fā)明一個實施方式的顯示虛擬環(huán)境中一個或多個分區(qū)的用戶定義的資源指派的資源管理圖形用戶界面的示例;以及圖4所示為根據(jù)本發(fā)明一個實施方式的執(zhí)行事務(wù)以實現(xiàn)一個或多個資源指派的過程的流程圖。
具體實施例方式圖示的實施方式提供了一種用于將一個或多個共享的設(shè)備和/或數(shù)據(jù)路徑能力的資源分配給數(shù)據(jù)處理系統(tǒng)中虛擬環(huán)境的一個或多個分區(qū)的裝置、方法、系統(tǒng)和計算機程序產(chǎn)品。虛擬環(huán)境中的每個分區(qū)管理一個或多個用戶負(fù)載。針對與數(shù)據(jù)處理系統(tǒng)相關(guān)的一個或多個設(shè)備和/或數(shù)據(jù)路徑能力而接收至少一個用戶定義的資源指派。所述系統(tǒng)管理一個或多個寄存器,其被動態(tài)設(shè)置以控制至少一個資源指派。資源指派允許支持在一個或多個負(fù)載通過分區(qū)被執(zhí)行時執(zhí)行用戶定義的對設(shè)備和/或數(shù)據(jù)路徑能力的定量測量(數(shù)字和 /或百分比)。系統(tǒng)支持一個或多個分區(qū)共享帶寬和/或設(shè)備的數(shù)據(jù)路徑能力。負(fù)載以小于或等于用戶定義的資源指派的特定帶寬和/或設(shè)備的數(shù)據(jù)路徑能力而執(zhí)行。系統(tǒng)對每個分區(qū)上運行的負(fù)載進(jìn)行隔離;由此使一個或多個分區(qū)之間不希望的干擾得以最小化。在下列對本發(fā)明示范實施方式的詳細(xì)說明中,可實現(xiàn)本發(fā)明的具體的示范實施方式被足夠詳細(xì)地說明使得本領(lǐng)域技術(shù)人員能實現(xiàn)本發(fā)明,以及可理解可利用其他實施方式且可做出邏輯的、架構(gòu)的、程序的、機械的、電的和其他改變而不背離本發(fā)明的精神和范圍。 因此以下的詳細(xì)說明不是要限制,以及本發(fā)明的范圍被所附權(quán)利要求及其等效所限定。在圖的說明中,相似元件與前面的圖具有相似的名稱和標(biāo)號。其中后面的圖在不同的上下文中使用元件或具有不同功能,為元件提供代表圖號的不同的首位數(shù)字。指派給元件的具體數(shù)字僅用于幫助說明且不暗示著對所述實施方式的任何限制(結(jié)構(gòu)的或功能的或其他)。應(yīng)理解使用具體的組件、設(shè)備和/或參數(shù)名稱(比如執(zhí)行此處所述的用途/邏輯的那些)僅用于舉例且不暗示著對本發(fā)明的任何限制。因此可以不受限制用用于說明此處的組件/設(shè)備/參數(shù)的不同的命名法/術(shù)語實現(xiàn)本發(fā)明。此處所用的每個詞都給出在使用該詞的上下文中最廣泛的解釋?,F(xiàn)在參考圖,并從圖1開始,圖示了一個實施方式中所使用的代表數(shù)據(jù)處理系統(tǒng) (DPS)示例的框圖。DPS可以是計算機、移動設(shè)備、比如個人數(shù)字助理(PDA)、智能電話和/ 或一般可用作處理設(shè)備的其他類型的電子設(shè)備。如圖所示,DPS 100包括至少一個通過系統(tǒng)互聯(lián)/總線110連接到系統(tǒng)存儲器115的處理器或中央處理單元(CPU) 105。也連接到系統(tǒng)總線110的是輸入/輸出(I/O)控制器120,其提供對輸入設(shè)備的連接和控制,圖示了其點擊設(shè)備(或鼠標(biāo))125和鍵盤127。I/O控制器120還提供對輸出設(shè)備的連接和控制, 圖示了其顯示器129。此外,圖示了多媒體驅(qū)動128(例如,壓縮盤讀/寫(⑶RW)或數(shù)字視頻盤(DVD)驅(qū)動)和USB (通用串行總線)端口 126,耦合到I/O控制器120。多媒體驅(qū)動 1 和USB端口 1 使得能插入可移除存儲設(shè)備(例如光盤或拇指驅(qū)動),其上可以存儲數(shù)據(jù)/指令/代碼和/或可從其取回數(shù)據(jù)/指令/代碼。DPS 100還包括存儲117,其中也可以存儲數(shù)據(jù)/指令/代碼和/或可從其取回數(shù)據(jù)/指令/代碼。與DPS 100—起還圖示了網(wǎng)絡(luò)接口設(shè)備(NID) 150,DPS通過其可以連接到一個或多個訪問/外部網(wǎng)絡(luò)170,因特網(wǎng)被提供為一個示例。在這個實施方式中,因特網(wǎng)代表/是使用傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)協(xié)議組以相互通信的世界性的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合。NID150可用于通過到網(wǎng)絡(luò)的訪問點的有線無線連接而操作。網(wǎng)絡(luò)170可以是外部網(wǎng)絡(luò)比如因特網(wǎng)或廣域網(wǎng)(WAN)或內(nèi)部網(wǎng)絡(luò)比如以太網(wǎng)(局域網(wǎng)-LAN)或虛擬專網(wǎng)(VPN)。在一個實施方式中,可以與一個或多個服務(wù)器165—起建立到外部網(wǎng)絡(luò)170的連接,其也可提供數(shù)據(jù)/指令/代碼用于在DPS 100上執(zhí)行。除了 DPS 100的上述硬件組件,本發(fā)明的各種特征通過軟件(或固件)代碼或邏輯完成/支持。例如,管理程序195是允許多個操作系統(tǒng)同時運行在主計算機上的計算機軟件/硬件平臺虛擬軟件。管理程序195直接運行在DPS 100的硬件之上作為硬件控制和客戶操作系統(tǒng)監(jiān)視器以及/或是運行在操作系統(tǒng)環(huán)境中的軟件應(yīng)用。此外,軟件(或固件) 代碼或邏輯存儲在系統(tǒng)存儲器115或其他存儲(例如存儲117)中且被CPU 105執(zhí)行。因此,例如,在系統(tǒng)存儲器115中圖示了許多軟件/固件/邏輯組件,包括虛擬機層175和應(yīng)用135。在虛擬機層175中,管理一個或多個操作系統(tǒng),例如操作系統(tǒng)A (OSA) 130、OS B132 和OS N138(其中N代表有限的數(shù)目)??赡艿牟僮飨到y(tǒng)的示例是Microsoft Windows , 微軟公司的商標(biāo),或GNU /Linux 免費軟件基金會和Linux標(biāo)志研究所的注冊商標(biāo)。虛擬機層175與管理程序195通信和/或由管理程序195生成以管理與管理程序195相關(guān)的一個或多個分區(qū)的負(fù)載。虛擬機層175中還有資源優(yōu)先級指派(RPA)工具140(其在CPU 105上執(zhí)行以提供RPA邏輯)。在實際實施中,RPA工具140可以組合或結(jié)合在虛擬機層 175以提供單個可執(zhí)行組件,當(dāng)對應(yīng)的組合代碼被CPU 105執(zhí)行時,共同提供每個單獨的軟件組件的各種功能。為了簡單,RPA工具140被圖示和說明為獨立的或單獨的軟件/固件組件,其提供具體的功能,如下所述。在一個實施方式中,服務(wù)器165包括軟件部署服務(wù)器,并且DPS100使用網(wǎng)絡(luò)接口設(shè)備150通過網(wǎng)絡(luò)(例如,因特網(wǎng)150)與軟件部署服務(wù)器165通信。然后,RPA工具140可以通過軟件部署服務(wù)器165從網(wǎng)絡(luò)部署或部署在網(wǎng)絡(luò)上。利用這種配置,軟件部署服務(wù)器執(zhí)行與RPA工具140的執(zhí)行相關(guān)的所有功能。因此,不需要DPS 100使用DPS 100的內(nèi)部計算資源來執(zhí)行RPA工具140。CPU 105執(zhí)行RPA工具140以及支持RPA工具140的用戶接口特征的OS A130、0S B132和OS N138。在所述實施方式中,RPA工具140產(chǎn)生/提供若干圖形用戶界面(⑶I) 以支持用戶與RPA工具140的功能特征交互或操作。RPA工具支持和/或?qū)崿F(xiàn)的某些功能產(chǎn)生處理器和/或設(shè)備硬件執(zhí)行的處理邏輯以完成該功能的實現(xiàn)。為了說明的簡單,支持這些各種特征的代碼的集合體在這里稱為RPA工具140。在RPA工具140所提供的軟件代碼/指令/邏輯中,特定于本發(fā)明的是(a)用于接收用于一個或多個設(shè)備的至少一個資源指派的代碼/邏輯;(b)用于將至少一個資源指派與一個或多個分區(qū)相關(guān)聯(lián)的代碼/邏輯; (c)用于支持一個或多個設(shè)備響應(yīng)于接收到至少一個資源指派而以小于或等于至少一個資源指派的能力執(zhí)行一個或多個事務(wù)的代碼/邏輯。根據(jù)所示的實施方式,當(dāng)CPU 105執(zhí)行 RPA工具140時,DPS 100啟動支持以上功能特征以及其他特征/功能的一系列功能過程。 這些特征和功能在下面圖2-圖4的描述中詳述。
本領(lǐng)域技術(shù)人員將理解圖1中的硬件組件和基本配置可以改變。DPS 100中所示的組件不是窮舉的,但是代表用于實現(xiàn)本發(fā)明的最重要的組件。例如,可另外使用其他設(shè)備 /組件或替代所述的硬件。所述的示例對于目前所述實施方式和/或總體發(fā)明不是要暗示架構(gòu)或其他限制。圖1所述的數(shù)據(jù)處理系統(tǒng)可以是例如Armonk N. Y.的國際商業(yè)機器公司的產(chǎn)品IBM eServer pkries系統(tǒng),其運行先進(jìn)的交互執(zhí)行(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)。現(xiàn)在參考圖2,描述了在虛擬環(huán)境中執(zhí)行的一個或多個分區(qū)的多核處理芯片。多核處理芯片250包括分區(qū)A 220、分區(qū)B 230和分區(qū)N四0 (其中“N”代表有限的數(shù)目)。多核處理芯片250還包括RPA工具對0、處理器總線222、存儲器控制器A 252、存儲器控制器 B254、總線寄存器A沈0、總線寄存器B 270以及總線寄存器C 2800分區(qū)A220包括Ll指令高速緩存218、L1數(shù)據(jù)高速緩存228以及L2/L3高速緩存238。多核芯片250上的第二分區(qū)包含2個Ll指令高速緩存218、2個Ll數(shù)據(jù)高速緩存228以及L2/L3高速緩存238。分區(qū)N四0(其中“N”是有限的數(shù)目)代表多核處理芯片250中的第N個分區(qū)。分區(qū)N包括一個或多個(所示為3個)Ll指令高速緩存218、一個或多個Ll數(shù)據(jù)高速緩存228以及一個或多個L2/L3高速緩存238??偩€寄存器A 260是在分區(qū)A220與處理器總線222之間通信的手段。總線寄存器B 270支持分區(qū)B 230與處理器總線222之間的通信,并且分區(qū) N 290與處理器總線222通過總線寄存器C280通信。在一個實施方式中,系統(tǒng)的一個或多個硬件機制支持一個或多個資源指派的執(zhí)行。RPA工具240包括調(diào)節(jié)對共享系統(tǒng)資源的訪問的邏輯。RPA工具240接收將系統(tǒng)資源分配給一個或多個分區(qū)的一個或多個指派。諸如分區(qū)A 220、分區(qū)B 230和分區(qū)N 290的分區(qū)是由虛擬機層175支持的隔離的邏輯單元(如圖1所示),由此執(zhí)行一個或多個操作系統(tǒng)。分區(qū)A 220、分區(qū)B 230和分區(qū)N 290分別與總線寄存器A沈0、總線寄存器B 270和總線寄存器N 280相關(guān)。此外,分區(qū)A 220、分區(qū)B 230和分區(qū)N 290與一個或多個硬件總線相關(guān)聯(lián)。當(dāng)一個或多個分區(qū)接收分配的資源時,相應(yīng)的總線寄存器(總線寄存器A 260, 總線寄存器B 270和/或總線寄存器N 280)根據(jù)接收的資源指派而設(shè)置。當(dāng)一個或多個操作系統(tǒng)事務(wù)與分區(qū)相關(guān)聯(lián)地被執(zhí)行時,相應(yīng)的總線寄存器(總線寄存器A沈0、總線寄存器B 270和/或總線寄存器N 280)實現(xiàn)所請求的指派。例如,RPA 工具240接收用戶定義的(或缺省的)指派,以便將支持分區(qū)A 220的資源使用率限制在能力的20%。為了實現(xiàn)此指派,對于每100個總線周期,總線寄存器A 260允許不多于20 次訪問(事務(wù))(以訪問共享資源)。當(dāng)處理器總線222不忙時(即,沒有來自其他分區(qū)的掛起的請求時),資源容限被放寬。在這種情況下,總線寄存器A 260允許的訪問數(shù)目可以盡可能增加。資源指派支持當(dāng)執(zhí)行一個或多個事務(wù)時對針對處理器總線222的訪問進(jìn)行用戶定義的定量測量。在一個實施方式中,當(dāng)寄存器被指派以多個訪問時,每當(dāng)分區(qū)訪問總線時,寄存器遞減。在一個實例中,總線寄存器A 260被指派以計數(shù)20,每100個總線周期結(jié)束,總線寄存器A 260的計數(shù)被復(fù)位為20。當(dāng)分區(qū)A 220已消耗了對處理器總線222的分配限額(所指派的訪問數(shù)目)時,總線寄存器A 260的計數(shù)達(dá)到0。僅在以下情況下允許分區(qū)A 220對處理器總線222進(jìn)一步的訪問,即,不存在來自另一分區(qū)的訪問總線的未決事務(wù),由此該分區(qū)尚未消耗用戶定義的資源指派(即,消耗的對處理器總線222的訪問的所指指派數(shù)值/能力)。在另一實施方式中,一個或多個操作系統(tǒng)與分區(qū)A 220、分區(qū)B 230和分區(qū)N 290 相關(guān)聯(lián)。總線寄存器A沈0、總線寄存器B 270、總線寄存器N 280和/或一個或多個其他寄存器與分區(qū)A220、分區(qū)B230和分區(qū)N290相關(guān)聯(lián)??偩€寄存器A沈0、總線寄存器B 270、 總線寄存器N 280和/或一個或多個其他寄存器通過RPA工具240 (和/或一個或多個操作系統(tǒng))接收一個或多個資源指派。資源指派通過一個或多個總線寄存器A沈0、總線寄存器B 270和/或總線寄存器N280而實現(xiàn)。在一個實施方式中,總線寄存器B 270可由多個寄存器實現(xiàn),每個寄存器控制特定處理器核對總線的訪問。參考圖2,分區(qū)B 230被示為使用4個具有2個L2/L3高速緩存 238的處理器核。在一個實施方式中,總線寄存器B 270可通過2個物理寄存器實現(xiàn),每一個門控L2/L3高速緩存(238)對總線222的訪問??偩€寄存器A沈0、總線寄存器B 270、 總線寄存器N 280和/或一個或多個其他寄存器與處理器總線222通信,以確保分區(qū)B 230 的總線訪問的計數(shù)正確地完成。例如,L2/L3高速緩存(238)之一對處理器總線222的訪問將導(dǎo)致定額計數(shù)在兩個寄存器處同時減少。這種實現(xiàn)被結(jié)合到L2/L3高速緩存238的高速緩存設(shè)計中。在另一實施方式中,管理程序(類似圖1的管理程序195)允許分區(qū)的搶占,以使硬件利用率最大化??偩€寄存器A 260變成分區(qū)A 220的軟件上下文的部分。類似地,總線寄存器A 260變成用于分區(qū)B 230的寄存器B 270以及用于分區(qū)N 290的寄存器N 280 的軟件上下文的部分。當(dāng)相應(yīng)的分區(qū)(分區(qū)A 220、分區(qū)B 230和分區(qū)N 290)分別被解除分配或重分配時,管理程序必須存儲和恢復(fù)總線寄存器A260、總線寄存器B 270和/或總線寄存器N 280的值。在另一實施方式中,管理程序允許分區(qū)的搶占以使硬件利用率最大化。當(dāng)在分區(qū)中交換時(例如,允許多于系統(tǒng)(服務(wù)器)物理上可用的諸如RAM等資源的分配),管理程序?qū)⒖偩€寄存器重新初始化為相應(yīng)的用戶定義值。圖3所示為資源管理圖形用戶界面(⑶I)。資源管理⑶I 305包含一個或多個資源的類別、資源315、分區(qū)列表、分區(qū)302、資源指派372、可用測量370和下拉菜單選擇375。 資源315包括,但不限于存儲器總線362、1/0總線364、一致性總線366和可擴(kuò)展端口 368。 分區(qū)302包括但不限于分區(qū)A 320、分區(qū)B 330和分區(qū)N 340 (其中N是有限的數(shù)目)。在一個實施方式中,至少一個資源指派與一個或多個設(shè)備或資源相關(guān)聯(lián)。分區(qū) A 320、分區(qū)B 330和分區(qū)N 340與虛擬環(huán)境相關(guān)聯(lián),并且分區(qū)列表被輸出到資源管理⑶I 305。當(dāng)分區(qū)被修改時(從虛擬環(huán)境增加或減少),分區(qū)列表被動態(tài)更新。諸如存儲器總線 362、I/O總線364、一致性總線366和可擴(kuò)展端口 368的資源315與每個分區(qū)相關(guān)聯(lián)。與分區(qū)相關(guān)聯(lián)的資源是預(yù)定義的和/或用戶定義的。當(dāng)從數(shù)據(jù)處理系統(tǒng)(圖1的100)增加和 /或減少一個或多個資源(315)時,資源管理⑶I 305被動態(tài)更新。在另一實施方式中,針對一個或多個設(shè)備而接收至少一個資源指派。資源管理⑶I 305的資源指派372、可用測量370和下拉菜單選擇375支持一個或多個用戶定義的和/或預(yù)定義的輸入被RPA工具140(圖1)接收。例如,資源指派372是定量測量輸入,其可以包括但不限于設(shè)備帶寬的百分比和/或在執(zhí)行一個或多個事務(wù)中利用的設(shè)備數(shù)目。可用測量370描述了選擇的預(yù)定義或缺省定量測量(與各自的資源和分區(qū)相關(guān)聯(lián)),或自動選擇的測量。當(dāng)選擇下拉菜單選擇375時,顯示可用測量370。當(dāng)一個或多個修改在數(shù)據(jù)處理系統(tǒng)中被檢測到和/或接收到時,資源315、分區(qū)302和可用測量370被動態(tài)更新。在一個實施方式中,當(dāng)接收到至少一個資源指派時,一個或多個設(shè)備被允許以小于或等于所述至少一個資源指派的能力執(zhí)行一個或多個事務(wù)。資源管理GUI 305接收用戶定義的用于一個或多個設(shè)備(資源315)的資源分配(資源指派)。例如,在一個或多個事務(wù)期間,存儲器總線362以30%或以下操作用于分區(qū)A 320,并且存儲器總線362以25%操作用于分區(qū)B 330。當(dāng)資源管理⑶I 305接收用于資源指派372的用戶定義的輸入時,一個或多個寄存器動態(tài)調(diào)節(jié)以執(zhí)行用戶定義的資源分配。執(zhí)行用戶定義的資源分配支持指定的設(shè)備(資源)以用戶定義的能力(帶寬)操作用于相關(guān)聯(lián)的分區(qū)。資源管理GUI 305與虛擬機層175(圖1的)直接關(guān)聯(lián)。虛擬機層175控制/管理/提供對寄存器的訪問(與分區(qū)302相關(guān)聯(lián)),如資源管理⑶I 305中輸入的值所指定的。圖4所示為完成所示實施方式的以上過程的方法的流程圖。雖然圖4所示的方法可以是參考圖1-圖3所示的組件說明的,但是應(yīng)理解這僅是為了方便以及當(dāng)實現(xiàn)各種方法時可使用其可替換組件和/或配置。方法的關(guān)鍵部分可以通過DSP 100(圖1)中處理器 105上執(zhí)行的以及控制DSP 100上的具體操作的RPA工具140實現(xiàn),以及因此該方法從RPA 工具140和DSP 100的觀點來說明。圖4所示為當(dāng)收到一個或多個資源指派時執(zhí)行一個或多個事務(wù)請求的過程。圖4 的過程開始于啟動框400并且進(jìn)行到框402,在此一個或多個寄存器與每個分區(qū)中的操作系統(tǒng)相關(guān)聯(lián)。在框404,針對每個分區(qū)而接收一個或多個用戶定義(或缺省)的資源指派。 在框406,一個或多個寄存器被動態(tài)設(shè)置以實現(xiàn)資源指派。在框408,接收一個或多個事務(wù)請求。在框410,確定事務(wù)請求所需的帶寬/能力是否超過一個或多個預(yù)設(shè)置的資源指派(或分配)。如果用于事務(wù)請求的帶寬/能力超過了一個或多個資源指派,過程繼續(xù)到框 414。如果用于事務(wù)請求的帶寬/能力沒有超過一個或多個資源指派,過程繼續(xù)到框412。 在框414,確定是否存在來自其能力尚未被耗盡的分區(qū)的事務(wù)請求。當(dāng)存在來自其能力尚未被耗盡的分區(qū)的事務(wù)請求時,過程繼續(xù)到框416。在框416該請求被重新提交,并且過程繼續(xù)到框408。如果不存在來自其能力未被耗盡的分區(qū)的事務(wù)請求,過程繼續(xù)到框412。在框 412,事務(wù)被執(zhí)行,實現(xiàn)一個或多個資源指派。在框418,過程結(jié)束。在以上流程圖中,一個或多個方法體現(xiàn)在包含計算機可讀代碼的計算機可讀介質(zhì)中,這樣當(dāng)計算機可讀代碼(被處理單元)在計算設(shè)備上被執(zhí)行時,執(zhí)行一系列步驟。在一些實施方式中,不背離本發(fā)明的精神和范圍,方法的某些過程被組合,同時執(zhí)行或按不同順序執(zhí)行,或可能被省略。因此,雖然按特定序列說明和圖示本方法過程,但是使用具體的過程序列并不隱含著對本發(fā)明的任何限制??梢圆槐畴x本發(fā)明的精神和范圍對過程序列做出改變。因此,使用特定的序列不應(yīng)被認(rèn)為是限制,且本發(fā)明的范圍延伸到所附權(quán)利要求及其等價物。本領(lǐng)域技術(shù)人員將理解,本發(fā)明可體現(xiàn)為一種方法、系統(tǒng)和/或計算機程序產(chǎn)品。 因此,本發(fā)明可采取完全硬件實施方式、完全軟件實施方式(包括固件、駐留軟件、微代碼等等)或者組合此處一般稱為“電路”、“模塊”、“邏輯”或“系統(tǒng)”的軟件和硬件方面的實施方式。此外,本發(fā)明可采取介質(zhì)上含有計算機可用程序代碼的計算機可用存儲介質(zhì)上的計算機程序產(chǎn)品的形式。還要理解,本發(fā)明的實施方式中的過程可使用軟件、固件、微代碼或硬件來實現(xiàn)。 作為在軟件、編程代碼(是軟件或固件)中典型地將被存儲在實現(xiàn)本發(fā)明的預(yù)備步驟被存儲在一個或多個機器可讀存儲介質(zhì)中,比如固定(硬)驅(qū)動器、軟盤、磁盤、光盤、磁帶半導(dǎo)體存儲器,比如RAM、ROM、PROM等,因此根據(jù)本發(fā)明形成了一種產(chǎn)品。通過直接從存儲設(shè)備執(zhí)行代碼、通過從存儲設(shè)備將代碼拷貝到另一存儲設(shè)備比如硬盤、RAM等,或通過發(fā)送代碼用于遠(yuǎn)程執(zhí)行使用傳輸型介質(zhì)比如數(shù)字和模擬通信鏈接,使用這種包含編程代碼的產(chǎn)品。 該介質(zhì)可以是電的、磁的、光的、電磁的、紅外的或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。此外,該介質(zhì)可以是可包含、存儲、通信、傳播或傳輸被執(zhí)行系統(tǒng)、裝置或設(shè)備使用或有關(guān)的程序的任何裝置。本發(fā)明的方法可以通過組合包含根據(jù)所述實施方式的代碼的一個或多個機器可讀存儲設(shè)備與執(zhí)行其中包含的代碼的適當(dāng)處理硬件來實現(xiàn)。一種實現(xiàn)本發(fā)明的裝置可以是包含或具有對根據(jù)本發(fā)明編碼的程序的網(wǎng)絡(luò)訪問(通過服務(wù)器)的一個或多個處理設(shè)備以及存儲系統(tǒng)。一般,術(shù)語計算機、計算機系統(tǒng)或數(shù)據(jù)處理系統(tǒng)可被廣義地定義以包含具有執(zhí)行來自存儲器介質(zhì)的指令/代碼的處理器(或處理單元)的任何設(shè)備。因此,雖然結(jié)合帶有安裝的(或執(zhí)行的)軟件的全功能的計算機(服務(wù)器)系統(tǒng)說明了本發(fā)明的所示實施方式,但是本領(lǐng)域技術(shù)人員將理解本發(fā)明的所示實施方式的軟件方面可以作為多種形式的程序產(chǎn)品分發(fā),以及本發(fā)明的所示實施方式同等地應(yīng)用,無論用于實際實現(xiàn)分發(fā)的介質(zhì)的特定類型。通過舉例,介質(zhì)類型的非窮舉列表包括可記錄類型(有形的)介質(zhì)比如軟盤、拇指驅(qū)動器、硬盤驅(qū)動器、⑶ROM、DVD和傳輸型介質(zhì)比如數(shù)字和模擬通信鏈接。雖然已結(jié)合示范實施方式說明了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解可以做出各種改變以及等價物可以替換其元件而不背離本發(fā)明的范圍。而且,可以根據(jù)本發(fā)明的主旨做出很多修改以適配特定系統(tǒng)、設(shè)備或組件而不背離其實質(zhì)范圍。因此,本發(fā)明不限于被公開用于實現(xiàn)本發(fā)明的特定實施方式,但是本發(fā)明將包括落在所附權(quán)利要求范圍中的所有實施方式。而且,使用術(shù)語第一、第二等等并不表示任何順序或重要性,但是術(shù)語第一、第二等等用于區(qū)分一個元件和另一元件。
權(quán)利要求
1.一種用于將一個或多個共享設(shè)備的資源向具有至少一個處理器和虛擬層的數(shù)據(jù)處理系統(tǒng)中的虛擬環(huán)境的一個或多個分區(qū)分配的方法,所述方法包括接收針對一個或多個分區(qū)中的一個或多個設(shè)備的至少一個資源指派; 將所述至少一個資源指派與所述一個或多個分區(qū)相關(guān)聯(lián);以及響應(yīng)于接收所述至少一個資源指派,支持所述一個或多個設(shè)備以小于或等于所述至少一個資源指派的能力來執(zhí)行分區(qū)中的一個或多個事務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,還包括將一個或多個操作系統(tǒng)與所述一個或多個分區(qū)相關(guān)聯(lián); 將所述至少一個資源指派存儲在一個或多個寄存器中; 將所述一個或多個寄存器與所述一個或多個分區(qū)相關(guān)聯(lián);以及通過一個或多個寄存器來執(zhí)行所述資源指派,其中所述一個或多個資源指派管理所述一個或多個設(shè)備的使用。
3.根據(jù)權(quán)利要求1所述的方法,還包括動態(tài)地支持一個或多個寄存器實現(xiàn)所述至少一個資源指派,其中所述至少一個資源指派支持當(dāng)所述一個或多個事務(wù)在所述一個或多個分區(qū)中被執(zhí)行時對設(shè)備使用的預(yù)定義定量測量;以及將對設(shè)備使用的所述定量測量與以下之一相關(guān)聯(lián) 與一個或多個寄存器相關(guān)聯(lián)的訪問計數(shù); 一個或多個設(shè)備的帶寬能力;以及一個或多個設(shè)備的數(shù)目;將所述訪問計數(shù)與所述一個或多個寄存器相關(guān)聯(lián);以及每當(dāng)所述一個或多個寄存器通過處理器總線執(zhí)行事務(wù)請求時,遞減所述一個或多個寄存器中每一個寄存器的所述訪問計數(shù),其中所述處理器總線支持對所述一個或多個設(shè)備的訪問ο
4.根據(jù)權(quán)利要求3所述的方法,還包括檢查所述一個或多個寄存器的所述訪問計數(shù); 當(dāng)所述訪問計數(shù)不是0時,向所述處理器總線傳輸所述事務(wù)請求; 如果所述訪問計數(shù)是0,阻止對所述處理器總線的訪問;以及在未來的總線周期中重試所述事務(wù)請求。
5.根據(jù)權(quán)利要求4所述的方法,還包括當(dāng)訪問計數(shù)已到達(dá)0時,僅當(dāng)不存在來自訪問計數(shù)大于0的其他分區(qū)的未決總線訪問時,允許所述事務(wù)進(jìn)行對所述總線的訪問。
6.根據(jù)權(quán)利要求1所述的方法,還包括在圖形用戶界面處接收所述一個或多個預(yù)定義的資源指派;以及將一個或多個接收到的資源指派與一個或多個分區(qū)所關(guān)聯(lián)的一個或多個設(shè)備的使用相關(guān)聯(lián)。
7.根據(jù)權(quán)利要求6所述的方法,還包括 當(dāng)分區(qū)被修改時,動態(tài)更新分區(qū)的列表;以及當(dāng)所述一個或多個資源被增加和減少之一時,動態(tài)更新所述圖形用戶界面。
8.一種用于將一個或多個共享設(shè)備的資源向數(shù)據(jù)處理系統(tǒng)中的虛擬環(huán)境的一個或多個分區(qū)分配的計算機程序,包括程序代碼,當(dāng)其被處理器運行時,執(zhí)行權(quán)利要求1-7任一項所述的方法。
9.一種用于將一個或多個共享設(shè)備的資源向數(shù)據(jù)處理系統(tǒng)中的虛擬環(huán)境的一個或多個分區(qū)分配的計算機系統(tǒng),包括處理器組件;以及程序代碼,當(dāng)其被所述處理器組件運行時,執(zhí)行權(quán)利要求1-7任一項所述的方法。
全文摘要
一種用于將一個或多個共享的設(shè)備和/或數(shù)據(jù)路徑能力的資源分配給數(shù)據(jù)處理系統(tǒng)中的虛擬環(huán)境的一個或多個分區(qū)的方法、系統(tǒng)、裝置和計算機程序產(chǎn)品。針對與數(shù)據(jù)處理系統(tǒng)相關(guān)聯(lián)的一個或多個設(shè)備而接收至少一個用戶定義的資源指派。與一個或多個分區(qū)相關(guān)聯(lián)的一個或多個寄存器被動態(tài)設(shè)置以執(zhí)行至少一個資源指派,由此至少一個資源指派允許在一個或多個事務(wù)通過分區(qū)被執(zhí)行時執(zhí)行對設(shè)備的用戶定義的定量測量(數(shù)字或百分比)。該系統(tǒng)支持一個或多個設(shè)備以小于或等于用戶定義的資源指派的帶寬/能力執(zhí)行一個或多個事務(wù),以及使分區(qū)之間的性能干擾最小化。
文檔編號G06F9/50GK102473106SQ201080030138
公開日2012年5月23日 申請日期2010年6月23日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者E·N·埃爾諾扎西, R·拉雅莫內(nèi), W·E·斯佩格特, 張立新 申請人:國際商業(yè)機器公司